We've ranked the best microservices books using expert recommendations, sales data, and millions of reader ratings. At Shortform, we know books. Our book guides are the best in the world. Learn why.
Cover unavailable
1
Building Microservices: Designing Fine-Grained Systems
Sam Newman
5.0
Distributed systems have become more fine-grained in the past 10 years, shifting from code-heavy monolithic applications to smaller, self-contained microservices. But developing these systems brings its own set of headaches. With lots of examples and practical advice, this book takes a holistic view of the topics that system architects and administrators must consider when building, managing, and evolving microservice architectures.
Microservice technologies are moving quickly. Author Sam Newman provides you with a firm grounding in the concepts while diving into current solutions for modeling, integrating, testing, deploying, and monitoring your own autonomous services. You'll follow a fictional company throughout the book to learn how building a microservice architecture affects a single domain.
Discover how microservices allow you to align your system design with your organization's goals Learn options for integrating a service with the rest of your system Take an incremental approach when splitting monolithic codebases Deploy individual microservices through continuous integration Examine the complexities of testing and monitoring distributed services Manage security with user-to-service and service-to-service models Understand the challenges of scaling microservice architectures
…
Cover unavailable
2
Microservice Patterns
Chris Richardson, Aiden Humphreys, et al
4.8
The monolithic architecture works well for small, simple applications. However, successful applications have a habit of growing. Eventually the development team ends up in what is known as monolithic hell. All aspects of software development and deployment become painfully slow. The solution is to adopt the microservice architecture, which structures an application as a services, organized around business capabilities. This architecture accelerates software development and enables continuous delivery and deployment of complex software applications.
Microservice Patterns teaches enterprise developers and architects how to build applications with the microservice architecture. Rather than simply advocating for the use the microservice architecture, this clearly-written guide takes a balanced, pragmatic approach. You'll discover that the microservice architecture is not a silver bullet and has both benefits and drawbacks. Along the way, you'll learn a pattern language that will enable you to solve the issues that arise when using the microservice architecture. This book also teaches you how to refactor a monolithic application to a microservice architecture.
…
Cover unavailable
3
Domain-Driven Design: Tackling Complexity in the Heart of Software
Eric Evans
4.8
"Eric Evans has written a fantastic book on how you can make the design of your software match your mental model of the problem domain you are addressing. "His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving understanding of it. Eric thinks that learning about your problem domain is as likely to happen at the end of your project as at the beginning, and so refactoring is a big part of his technique. "The book is a fun read. Eric has lots of interesting stories, and he has a way with words. I see this book as essential reading for software developers--it is a future classic." --Ralph Johnson, author of Design Patterns "If you don't think you are getting value from your investment in object-oriented programming, this book will tell you what you've forgotten to do. "Eric Evans convincingly argues for the importance of domain modeling as the central focus of development and provides a solid framework and set of techniques for accomplishing it. This is timeless wisdom, and will hold up long after the methodologies du jour have gone out of fashion." --Dave Collins, author of Designing Object-Oriented User Interfaces "Eric weaves real-world experience modeling--and building--business applications into a practical, useful book. Written from the perspective of a trusted practitioner, Eric's descriptions of ubiquitous language, the benefits of sharing models with users, object life-cycle management, logical and physical application structuring, and the process and results of deep refactoring are major contributions to our field." --Luke Hohmann, author of Beyond Software Architecture "This book belongs on the shelf of every thoughtful software developer." --Kent Beck "What Eric has managed to capture is a part of the design process that experienced object designers have always used, but that we have been singularly unsuccessful as a group in conveying to the rest of the industry. We've given away bits and pieces of this knowledge...but we've never organized and systematized the principles of building domain logic. This book is important." --Kyle Brown, author of Enterprise Java(TM) Programming with IBM(R) WebSphere(R) The software development community widely acknowledges that domain modeling is central to software design. Through domain models, software developers are able to express rich functionality and translate it into a software implementation that truly serves the needs of its users. But despite its obvious importance, there are few practical resources that explain how to incorporate effective domain modeling into the software development process. Domain-Driven Design fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development. Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis--refactoring not just the code but the model underlying the code--in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include: Getting all team members to speak the same language Connecting model and implementation more deeply Sharpening key distinctions in a model Managing the lifecycle of a domain object Writing domain code that is safe to combine in elaborate ways Making complex code obvious and predictable Formulating a domain vision statement Distilling the core of a complex domain Digging out implicit concepts needed in the model Applying analysis patterns Relating design patterns to the model Maintaining model integrity in a large system Dealing with coexisting models on the same project Organizing systems with large-scale structures Recognizing and responding to modeling breakthroughs With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.
Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith
Sam Newman
4.8
How do you detangle a monolithic system and migrate it to a microservice architecture? How do you do it while maintaining business-as-usual? As a companion to Sam Newman’s extremely popular Building Microservices, this new book details a proven method for transitioning an existing monolithic system to a microservice architecture.
With many illustrative examples, insightful migration patterns, and a bevy of practical advice to transition your monolith enterprise into a microservice operation, this practical guide covers multiple scenarios and strategies for a successful migration, from initial planning all the way through application and database decomposition. You’ll learn several tried and tested patterns and techniques that you can use as you migrate your existing architecture.
Ideal for organizations looking to transition to microservices, rather than rebuild Helps companies determine whether to migrate, when to migrate, and where to begin Addresses communication, integration, and the migration of legacy systems Discusses multiple migration patterns and where they apply Provides database migration examples, along with synchronization strategies Explores application decomposition, including several architectural refactoring patterns Delves into details of database decomposition, including the impact of breaking referential and transactional integrity, new failure modes, and more
…
Cover unavailable
5
Clean Code: A Handbook of Agile Software Craftsmanship
Robert C. Martin
4.8
Even bad code can function. But if code isn t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn t have to be that way. Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship. Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code on the fly into a book that will instill within you the values of a software craftsman and make you a better programmer but only if you work at it. What kind of work will you be doing? You ll be reading code lots of code. And you will be challenged to think about what s right about that code, and what s wrong with it. More importantly, you will be challenged to reassess your professional values and your commitment to your craft. Clean Code is divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up code of transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and smells gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code. Readers will come away from this book understanding
How to tell the difference between good and bad code How to write good code and how to transform bad code into good code How to create good names, good functions, good objects, and good classes How to format code for maximum readability How to implement complete error handling without obscuring code logic How to unit test and practice test-driven development This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code. "
…
Recommended by Ana Bell.
Ana Bell
This book is going to show you how to write code that is readable by yourself in the future, or by somebody else. You can sit on the couch and read it; you don’t need to code. You can actually enjoy it if you don’t know how to program at all. [source]
Cover unavailable
6
Kubernetes in Action
Marko Luksa
4.8
With Kubernetes, users don't have to worry about which specific machine in their data center their application is running on. Each layer in their application is decoupled from other layers so they can scale, update, and maintain them independently.
Kubernetes in Action teaches developers how to use Kubernetes to deploy self-healing scalable distributed applications. By the end, readers will be able to build and deploy applications in a proper way to take full advantage of the Kubernetes platform.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
…
Cover unavailable
7
Patterns of Enterprise Application Architecture
Martin Fowler
4.8
The practice of enterprise application development has benefited from the emergence of many new enabling technologies. Multi-tiered object-oriented platforms, such as Java and .NET, have become commonplace. These new tools and technologies are capable of building powerful applications, but they are not easily implemented. Common failures in enterprise applications often occur because their developers do not understand the architectural lessons that experienced object developers have learned. Patterns of Enterprise Application Architecture is written in direct response to the stiff challenges that face enterprise application developers. The author, noted object-oriented designer Martin Fowler, noticed that despite changes in technology--from Smalltalk to CORBA to Java to .NET--the same basic design ideas can be adapted and applied to solve common problems. With the help of an expert group of contributors, Martin distills over forty recurring solutions into patterns. The result is an indispensable handbook of solutions that are applicable to any enterprise application platform. This book is actually two books in one. The first section is a short tutorial on developing enterprise applications, which you can read from start to finish to understand the scope of the book's lessons. The next section, the bulk of the book, is a detailed reference to the patterns themselves. Each pattern provides usage and implementation information, as well as detailed code examples in Java or C#. The entire book is also richly illustrated with UML diagrams to further explain the concepts. Armed with this book, you will have the knowledge necessary to make important architectural decisions about building an enterprise application and the proven patterns for use when building them. The topics covered include - Dividing an enterprise application into layers - The major approaches to organizing business logic - An in-depth treatment of mapping between objects and relational databases - Using Model-View-Controller to organize a Web presentation - Handling concurrency for data that spans multiple transactions - Designing distributed object interfaces
With microservices, you build applications from very small, loosely coupled, and distributed services. Spring Boot and Spring Cloud offer Java developers an easy migration path from traditional monolithic Spring applications to microservice-based applications that can be deployed to multiple cloud platforms. The Spring Boot and Spring Cloud frameworks let you quickly build microservices that are ready to be deployed to a private corporate cloud or a public cloud like Amazon Web Services (AWS) or Pivotal’s CloudFoundry.
Spring Microservices in Action teaches you how to use the Spring Boot and Spring Cloud frameworks to build and deploy microservice-based cloud applications. You'll begin with an introduction to the microservice pattern and how to build microservices with Spring Boot and Spring Cloud. Then you'll get hands-on and discover how to configure Spring Boot. Using lots of real-world examples, you'll learn topics like service discovery with Spring Cloud, Netflix Eureka, and Ribbon. Next, you'll find out how to handle potential problems using client-side resiliency patterns with Spring and Netflix Hystrix. This book also covers implementing a service gateway with Spring Cloud and Zuul and event processing in the cloud with Spring Cloud Stream. Finally, you'll learn to deploy and push your application to cloud services, including AWS and CloudFoundry. By the end of this book, you'll not only be able to build your own microservice-based applications, but how operationalize and scale your microservices so they can deployed to a private or public cloud.
…
Cover unavailable
9
Architecture Patterns with Python: How to Apply DDD, Ports and Adapters, and Enterprise Architecture Design Patterns in a Pythonic Way
Harry Percival, Bob Gregory
4.7
As Python continues to grow in popularity, projects are becoming larger and more complex. Many Python developers are now taking an interest in high-level software architecture patterns such as hexagonal/clean architecture, event-driven architecture, and strategic patterns prescribed by domain-driven design (DDD). But translating those patterns into Python isn't always straightforward.
With this practical guide, Harry Percival and Bob Gregory from MADE.com introduce proven architectural design patterns to help Python developers manage application complexity. Each pattern is illustrated with concrete examples in idiomatic Python that explain how to avoid some of the unnecessary verbosity of Java and C# syntax. You'll learn how to implement each of these patterns in a Pythonic way.
Architectural design patterns include:
Dependency inversion, and its links to ports and adapters (hexagonal/clean architecture) Domain-driven design's distinction between entities, value objects, and aggregates Repository and Unit of Work patterns for persistent storage Events, commands, and the message bus Command Query Responsibility Segregation (CQRS) Event-driven architecture and reactive microservices
…
Cover unavailable
10
Clean Architecture
Robert C. Martin
4.7
Building upon the success of best-sellers The Clean Coder and Clean Code, legendary software craftsman Robert C. "Uncle Bob" Martin shows how to bring greater professionalism and discipline to application architecture and design. As with his other books, Martin's Clean Architecture doesn't merely present multiple choices and options, and say "use your best judgment": it tells you what choices to make, and why those choices are critical to your success. Martin offers direct, no-nonsense answers to key architecture and design questions like:
What are the best high level structures for different kinds of applications, including web, database, thick-client, console, and embedded apps?
What are the core principles of software architecture?
What is the role of the architect, and what is he/she really trying to achieve?
What are the core principles of software design?
How do designs and architectures go wrong, and what can you do about it?
What are the disciplines and practices of professional architects and designers?
Clean Architecture is essential reading for every software architect, systems analyst, system designer, and software manager -- and for any programmer who aspires to these roles or is impacted by their work.
…
Cover unavailable
11
Distributed Tracing in Practice: Instrumenting, Analyzing, and Debugging Microservices
Austin Parker, Daniel Spoonhower, et al.
4.7
Most applications today are distributed in some fashion. Monitoring the health and performance of these distributed architectures requires a new approach. Enter distributed tracing, a method of profiling and monitoring applications--especially those that use microservice architectures. There's just one problem: distributed tracing can be hard. But it doesn't have to be.
With this practical guide, you'll learn what distributed tracing is and how to use it to understand the performance and operation of your software. Key players at LightStep walk you through instrumenting your code for tracing, collecting the data that your instrumentation produces, and turning it into useful, operational insights. If you want to start implementing distributed tracing, this book tells you what you need to know.
You'll learn:
The pieces of a distributed tracing deployment: Instrumentation, data collection, and delivering value Best practices for instrumentation (the methods for generating trace data from your service) How to deal with or avoid overhead, costs, and sampling How to work with spans (the building blocks of request-based distributed traces) and choose span characteristics that lead to valuable traces Where distributed tracing is headed in the future
…
Cover unavailable
12
The Tao of Microservices
Richard Rodger
4.7
The Tao of Microservices teaches you the path to understanding how to apply microservices architecture with your own real-world projects. This high-level book offers you a conceptual view of microservice architectures, along with core concepts and their application. You’ll also find a detailed case study for the nodezoo.com system, including all source code and documentation. By the end of the book, you’ll have explored in depth the key ideas of the microservice architecture and will be able to design, analyze and implement systems based on this architecture.
…
Cover unavailable
13
Microservices in Action
Morgan Bruce, Paulo A. Pereira
4.7
Microservices in Action is a practical book about building and deploying microservice-based applications. Written for developers and architects with a solid grasp of service-oriented development, it tackles the challenge of putting microservices into production. You'll begin with an in-depth overview of microservice design principles, building on your knowledge of traditional systems. Then, you'll start creating a reliable road to production. You'll explore examples using Kubernetes, Docker, and Google Container Engine as you learn to build clusters and maintain them after deployment. Throughout this rich, experience-driven book, you'll move through real-world use cases including a continuous delivery pipeline, production monitoring, and practical techniques for scaling and maintaining a healthy system.
…
Cover unavailable
14
Microservices for the Enterprise: Designing, Developing, and Deploying
Kasun Indrasiri, Prabath Siriwardena
4.7
Understand the key challenges and solutions around building microservices in the enterprise application environment. This book provides a comprehensive understanding of microservices architectural principles and how to use microservices in real-world scenarios. Architectural challenges using microservices with service integration and API management are presented and you learn how to eliminate the use of centralized integration products such as the enterprise service bus (ESB) through the use of composite/integration microservices. Concepts in the book are supported with use cases, and emphasis is put on the reality that most of you are implementing in a "brownfield" environment in which you must implement microservices alongside legacy applications with minimal disruption to your business. Microservices for the Enterprise covers state-of-the-art techniques around microservices messaging, service development and description, service discovery, governance, and data management technologies and guides you through the microservices design process. Also included is the importance of organizing services as core versus atomic, composite versus integration, and API versus edge, and how such organization helps to eliminate the use of a central ESB and expose services through an API gateway.
What You'll Learn Design and develop microservices architectures with confidence
Put into practice the most modern techniques around messaging technologies Apply the Service Mesh pattern to overcome inter-service communication challenges
Apply battle-tested microservices security patterns to address real-world scenarios
Handle API management, decentralized data management, and observability Who This Book Is For Developers and DevOps engineers responsible for implementing applications around a microservices architecture, and architects and analysts who are designing such systems
…
Cover unavailable
15
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
Gregor Hohpe, Bobby Woolf
4.7
Enterprise Integration Patterns provides an invaluable catalog of sixty-five patterns, with real-world solutions that demonstrate the formidable of messaging and help you to design effective messaging solutions for your enterprise. The authors also include examples covering a variety of different integration technologies, such as JMS, MSMQ, TIBCO ActiveEnterprise, Microsoft BizTalk, SOAP, and XSL. A case study describing a bond trading system illustrates the patterns in practice, and the book offers a look at emerging standards, as well as insights into what the future of enterprise integration might hold. This book provides a consistent vocabulary and visual notation framework to describe large-scale integration solutions across many technologies. It also explores in detail the advantages and limitations of asynchronous messaging architectures. The authors present practical advice on designing code that connects an application to a messaging system, and provide extensive information to help you determine when to send a message, how to route it to the proper destination, and how to monitor the health of a messaging system. If you want to know how to manage, monitor, and maintain a messaging system once it is in use, get this book.
…
Cover unavailable
16
Microservice Architecture: Aligning Principles, Practices, and Culture
Mike Amundsen and Matt Mclarty
4.7
Microservices can have a positive impact on your enterprise--just ask Amazon and Netflix--but you can fall into many traps if you don't approach them in the right way. This practical guide covers the entire microservices landscape, including the principles, technologies, and methodologies of this unique, modular style of system building. You'll learn about the experiences of organizations around the globe that have successfully adopted microservices.
In three parts, this book explains how these services work and what it means to build an application the Microservices Way. You'll explore a design-based approach to microservice architecture with guidance for implementing various elements. And you'll get a set of recipes and practices for meeting practical, organizational, and cultural challenges to microservice adoption.
Learn how microservices can help you drive business objectives Examine the principles, practices, and culture that define microservice architectures Explore a model for creating complex systems and a design process for building a microservice architecture Learn the fundamental design concepts for individual microservices Delve into the operational elements of a microservices architecture, including containers and service discovery Discover how to handle the challenges of introducing microservice architecture in your organization
…
Cover unavailable
17
Hands-On RESTful Web Services with Go: Develop elegant RESTful APIs with Golang for microservices and the cloud, 2nd Edition
Naren Yellavula
4.7
Cover unavailable
18
Production-Ready Microservices: Building Standardized Systems Across an Engineering Organization
Susan Fowler
4.7
One of the biggest challenges for organizations that have adopted microservice architecture is the lack of architectural, operational, and organizational standardization. After splitting a monolithic application or building a microservice ecosystem from scratch, many engineers are left wondering what s next. In this practical book, author Susan Fowler presents a set of microservice standards in depth, drawing from her experience standardizing over a thousand microservices at Uber. You ll learn how to design microservices that are stable, reliable, scalable, fault tolerant, performant, monitored, documented, and prepared for any catastrophe.
Stability and Reliability: develop, deploy, introduce, and deprecate microservices; protect against dependency failures
Scalability and Performance: learn essential components for achieving greater microservice efficiency
Fault Tolerance and Catastrophe Preparedness: ensure availability by actively pushing microservices to fail in real time
Monitoring: learn how to monitor, log, and display key metrics; establish alerting and on-call procedures
Documentation and Understanding: mitigate tradeoffs that come with microservice adoption, including organizational sprawl and technical debt "
…
Cover unavailable
19
Kafka Streams in Action: Real-time apps and microservices with the Kafka Streams API
Bill Bejeck
4.6
Summary
Kafka Streams in Action teaches you everything you need to know to implement stream processing on data flowing into your Kafka platform, allowing you to focus on getting more from your data without sacrificing time or effort.
Foreword by Neha Narkhede, Cocreator of Apache Kafka
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
Not all stream-based applications require a dedicated processing cluster. The lightweight Kafka Streams library provides exactly the power and simplicity you need for message handling in microservices and real-time event processing. With the Kafka Streams API, you filter and transform data streams with just Kafka and your application.
About the Book
Kafka Streams in Action teaches you to implement stream processing within the Kafka platform. In this easy-to-follow book, you'll explore real-world examples to collect, transform, and aggregate data, work with multiple processors, and handle real-time events. You'll even dive into streaming SQL with KSQL! Practical to the very end, it finishes with testing and operational aspects, such as monitoring and debugging.
What's inside
Using the KStreams API Filtering, transforming, and splitting data Working with the Processor API Integrating with external systems
About the Reader
Assumes some experience with distributed systems. No knowledge of Kafka or streaming applications required.
About the Author
Bill Bejeck is a Kafka Streams contributor and Confluent engineer with over 15 years of software development experience.
Table of Contents
PART 1 - GETTING STARTED WITH KAFKA STREAMS Welcome to Kafka Streams Kafka quicklyPART 2 - KAFKA STREAMS DEVELOPMENT
Developing Kafka Streams Streams and state The KTable API The Processor APIPART 3 - ADMINISTERING KAFKA STREAMS
Monitoring and performance Testing a Kafka Streams applicationPART 4 - ADVANCED CONCEPTS WITH KAFKA STREAMS
Advanced applications with Kafka StreamsAPPENDIXES
Appendix A - Additional configuration information Appendix B - Exactly once semantics
…
Cover unavailable
20
Designing Microservices Using Django: Structuring, Deploying and Managing the Microservices Architecture with Django
Shayank Jain
4.6
Cover unavailable
21
Microservices Security in Action
Prabath Siriwardena and Nuwan Dias
4.6
Unlike traditional enterprise applications, Microservices applications are collections of independent components that function as a system. Securing the messages, queues, and API endpoints require new approaches to security both in the infrastructure and the code. Microservices Security in Action teaches you how to address microservices-specific security challenges throughout the system. This practical guide includes plentiful hands-on exercises using industry-leading open-source tools and examples using Java and Spring Boot.
…
Cover unavailable
22
Practical Microservices: Build Event-Driven Architectures with Event Sourcing and CQRS
Ethan Garofolo
4.6
Cover unavailable
23
Reactive Microsystems
Jun-ichi Yoshida
4.6
If you want your application to provide millisecond response times and close to 100% uptime, traditional architectures with single SQL databases and thread-per-request models simply cannot compete with microservices. This report discusses strategies and techniques for building scalable and resilient microservices, and helps you work your way through the evolution of a scalable microservices-based system. When it comes to development speed, time-to-market, and continuous delivery, microservices can do wonders for your organization. Author Jonas Bonér, Founder and CTO of Lightbend and author of Reactive Microservices Architecture (O’Reilly), demonstrates how to refactor a monolithic application step-by-step. You’ll briefly land at single instance microliths (micro monoliths) before working your way toward a scalable and resilient microsystem. This report will help you: - Examine the essential traits of an individual reactive microservice - Understand why monolithic architectures are a problem - Manage the hard part of microservice design: the space between individual services - Shift the focus from domain objects to events in domain-driven design - Make services more efficient, performant, and stable by applying reactive programming techniques - Make the services work together, collaboratively, as a single reactive system - Move beyond CRUD towards Event Sourcing/CQRS to scale state in an event-based design - Leverage fast data in microservices to manage real-time data at scale
…
Cover unavailable
24
REST in Practice: Hypermedia and Systems Architecture
Jim Webber, Savas Parastatidis, Ian Robinson
4.6
Why don't typical enterprise projects go as smoothly as projects you develop for the Web? Does the REST architectural style really present a viable alternative for building distributed systems and enterprise-class applications?
In this insightful book, three SOA experts provide a down-to-earth explanation of REST and demonstrate how you can develop simple and elegant distributed hypermedia systems by applying the Web's guiding principles to common enterprise computing problems. You'll learn techniques for implementing specific Web technologies and patterns to solve the needs of a typical company as it grows from modest beginnings to become a global enterprise.
Learn basic Web techniques for application integration Use HTTP and the Web’s infrastructure to build scalable, fault-tolerant enterprise applications Discover the Create, Read, Update, Delete (CRUD) pattern for manipulating resources Build RESTful services that use hypermedia to model state transitions and describe business protocols Learn how to make Web-based solutions secure and interoperable Extend integration patterns for event-driven computing with the Atom Syndication Format and implement multi-party interactions in AtomPub Understand how the Semantic Web will impact systems design
…
Cover unavailable
25
Mastering Spring Cloud: Build self-healing, microservices-based, distributed systems using Spring Cloud
Piotr Minkowski
4.6
Cover unavailable
26
Hands-On Enterprise Java Microservices with Eclipse MicroProfile: Build and optimize your microservice architecture with Java
Cesar Saavedra, Heiko W. Rupp, et al.
4.6
Cover unavailable
27
Microservices and Containers
Parminder Singh Kocher
4.6
Transition to Microservices and DevOps to Transform Your Software Development Effectiveness Thanks to the tech sector's latest game-changing innovations--the Internet of Things (IoT), software-enabled networking, and software as a service (SaaS), to name a few--there is now a seemingly insatiable demand for platforms and architectures that can improve the process of application development and deployment. In Microservices and Containers, longtime systems architect and engineering team leader Parminder Kocher analyzes two of the hottest new technology trends: microservices and containers. Together, as Kocher demonstrates, microservices and Docker containers can bring unprecedented agility and scalability to application development and deployment, especially in large, complex projects where speed is crucial but small errors can be disastrous. Learn how to leverage microservices and Docker to drive modular architectural design, on-demand scalability, application performance and reliability, time-to-market, code reuse, and exponential improvements in DevOps effectiveness. Kocher offers detailed guidance and a complete roadmap for transitioning from monolithic architectures, as well as an in-depth case study that walks the reader through the migration of an enterprise-class SOA system. Understand how microservices enable you to organize applications into standalone components that are easier to manage, update, and scale Decide whether microservices and containers are worth your investment, and manage the organizational learning curve associated with them Apply best practices for interprocess communication among microservices Migrate monolithic systems in an orderly fashion Understand Docker containers, installation, and interfaces Network, orchestrate, and manage Docker containers effectively Use Docker to maximize scalability in microservices-based applications Apply your learning with an in-depth, hands-on case study Whether you are a software architect/developer or systems professional looking to move on from older approaches or a manager trying to maximize the business value of these technologies, Microservices and Containers will be an invaluable addition to your library. Register your product at informit.com/register for convenient access to downloads, updates, and/or corrections as they become available.
…
Cover unavailable
28
Docker in Practice
Ian Miell, Aidan Hobson Sayers
4.6
Docker is impossible to ignore. This lightweight container system is easier to deploy and more flexible than traditional VMs. Built for simplicity and speed, it radically reduces your reliance on manual system administration for tasks like configuring servers, creating disposable (and portable!) development environments, and predictably rolling out applications on unknown systems. While the idea behind Docker is simple, it can have a major impact on how you develop and deploy software.
Docker in Practice is a hands-on guide to over 100 specific techniques you can use to get the most out of Docker in your daily work. Following a cookbook-style Problem/Solution/Discussion format, this practical handbook gives you instantly-useful solutions for important areas like effortless server maintenance and configuration, deploying microservices, creating safe environments for experimentation, and much more. As you read, you'll graduate from Docker basics into must-have practices like integrating Docker with your Continuous Integration process, automating complex container creation with Chef, and orchestration with Kubernetes.
…
Cover unavailable
29
Hands-On Software Architecture with C# 8 and .NET Core 3: Architecting software solutions using microservices, DevOps, and design patterns for Azure Cloud
Gabriel Baptista and Francesco Abbruzzese
4.6
Cover unavailable
30
Getting Started with Istio Service Mesh: Manage Microservices in Kubernetes
Rahul Sharma and Avinash Singh
4.6
Build an in-depth understanding of the Istio service mesh and see why a service mesh is required for a distributed application. This book covers the Istio architecture and its features using a hands-on approach with language-neutral examples. To get your Istio environment up and running, you will go through its setup and learn the concepts of control plane and data plane. You will become skilled with the new concepts and apply them with best practices to continuously deliver applications.
What You Will Learn
Discover the Istio architecture components and the Envoy proxy Master traffic management for service routing and application deployment Build application resiliency using timeout, circuit breakers, and connection pools Monitor using Prometheus and Grafana Configure application security
Who This Book Is For Developers and project managers who are trying to run their application using Kubernetes. The book is not specific for any programming language even though all examples will be in Java or Python.
…
Cover unavailable
31
Testing Java Microservices: Using Arquillian, Hoverfly, AssertJ, JUnit, Selenium, and Mockito
Alex Soto Bueno, Andy Gumbrecht, Jason Porter
4.6
Summary
Testing Java Microservices teaches you to implement unit and integration tests for microservice systems running on the JVM. You'll work with a microservice environment built using Java EE, WildFly Swarm, and Docker. You'll learn how to increase your test coverage and productivity, and gain confidence that your system will work as you expect.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
Microservice applications present special testing challenges. Even simple services need to handle unpredictable loads, and distributed message-based designs pose unique security and performance concerns. These challenges increase when you throw in asynchronous communication and containers.
About the Book
Testing Java Microservices teaches you to implement unit and integration tests for microservice systems running on the JVM. You'll work with a microservice environment built using Java EE, WildFly Swarm, and Docker. You'll advance from writing simple unit tests for individual services to more-advanced practices like chaos or integration tests. As you move towards a continuous-delivery pipeline, you'll also master live system testing using technologies like the Arquillian, Wiremock, and Mockito frameworks, along with techniques like contract testing and over-the-wire service virtualization. Master these microservice-specific practices and tools and you'll greatly increase your test coverage and productivity, and gain confidence that your system will work as you expect.
What's Inside
Test automation Integration testing microservice systems Testing container-centric systems Service virtualization
About the Reader
Written for Java developers familiar with Java EE, EE4J, Spring, or Spring Boot.
About the Authors
Alex Soto Bueno and Jason Porter are Arquillian team members. Andy Gumbrecht is an Apache TomEE developer and PMC. They all have extensive enterprise-testing experience.
Table of Contents
An introduction to microservices Application under test Unit-testing microservices Component-testing microservices Integration-testing microservices Contract tests End-to-end testing Docker and testing Service virtualization Continuous delivery in microservices
…
Cover unavailable
32
Designing Microservices with Django: An Overview of Tools and Practices
Akos Hochrein
4.6
Explore microservices using the Python-based Django framework and review the benefits and drawbacks of them. This book will examine what microservices look like, how they talk to each other, and how they are crafted using the Python programming language and the Django web framework.
You'll start by understanding what the key differences are between microservices and monolithic architectures. The book then does a deep dive into how microservices are built and what common models have emerged in our industry. You'll also take an extensive look at communication and ownership patterns and examine methodologies to speed up your architecture evolution by writing less but more distributed code using the Python programming language and the Django web framework.
By the end of the book, you'll have a solid understanding of microservices architectures. Armed with a comprehensive and solid toolset, you can begin working toward systems that are more scalable, resilient, and maintainable.
What You'll Learn
Understand the benefits and drawbacks of adopting microservices Design systems and architecture for resiliency and distributed ownership Work with tools for scaling distributed system both in technical and organizational dimensions Examine the essentials of the Django web framework
…
Cover unavailable
33
Microservices vs Service-Oriented Architecture
Thomas Er
4.6
For anyone who has been developing web applications for 10 years or more, the recent rise of microservices sounds a lot like a development approach we already knew – service oriented architecture (SOA). Both architectures are focused on breaking up large monolithic applications into collections of smaller independent services, and both come with the promise of simplifying development.
So, what sets them apart? Are microservices really just “SOA done right”? How do the two approaches differ? More importantly, are microservices really better than SOA, or are we doomed to repeat the same mistakes of the past?
…
Cover unavailable
34
Cloud Native Java: Designing Resilient Systems with Spring Boot, Spring Cloud, and Cloud Foundry
Josh Long, Kenny Bastani
4.6
What separates the traditional enterprise from the likes of Amazon, Netflix, and Etsy? Those companies have refined the art of cloud native development to maintain their competitive edge and stay well ahead of the competition. This practical guide shows Java/JVM developers how to build better software, faster, using Spring Boot, Spring Cloud, and Cloud Foundry.
Many organizations have already waded into cloud computing, test-driven development, microservices, and continuous integration and delivery. Authors Josh Long and Kenny Bastani fully immerse you in the tools and methodologies that will help you transform your legacy application into one that is genuinely cloud native.
In four sections, this book takes you through:
The Basics: learn the motivations behind cloud native thinking; configure and test a Spring Boot application; and move your legacy application to the cloud Web Services: build HTTP and RESTful services with Spring; route requests in your distributed system; and build edge services closer to the data Data Integration: manage your data with Spring Data, and integrate distributed services with Spring's support for event-driven, messaging-centric architectures Production: make your system observable; use service brokers to connect stateful services; and understand the big ideas behind continuous delivery
…
Cover unavailable
35
Microservices in .Net Core: With C#, the Nancy Framework, and Owin Middleware
Christian Horsdal Gammelgaard
4.6
Microservices are responsible for very tightly focused capabilities that are part of a more complex server-side software system. Microservices, when done well, are malleable, scalable, resilient, and allow a short lead time from start of implementation to deployment to production. When using microservices, the need for the technology to be lightweight and low ceremony grows, because creating new microservices needs to be quick and easy. OWIN is great for reuse of plumbing code and a lightweight web framework, like Nancy, is ideal.
Microservices in .NET Core teaches readers how to build and deploy secure and operations-friendly microservices using Nancy. The book starts with an introduction to the microservices architectural style. Next, readers learn important practical aspects of developing microservices from simple core concepts to more sophisticated. Throughout the book, readers will see many code examples implementing it with lightweight .NET technologies' most prominently Nancy. By the end, they'll be able to quickly and easily build reliable and operations-friendly microservices using Nancy, OWIN and other open technologies.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
…
Cover unavailable
36
Microservices From Design to Deployment
Vinicius Feitosa Pacheco
4.6
Microservices architecture is the new standard for building applications. Converting your apps to a microservices approach makes them more flexible, more stable, and far faster and easier to update. However, questions arise as to how to make the transition.
The seven-part series on microservices development published in the NGINX blog provided many of the answers. Now, we have created an ebook that combines these blog posts with information on how to use NGINX Plus to bring microservices to life as you develop and deploy your apps.
…
Cover unavailable
37
Python Microservices Development
Tarek Ziade
4.5
Cover unavailable
38
Spring 5.0 Microservices - Second Edition: Scalable systems with Reactive Streams and Spring Boot
Rajesh R
4.5
Cover unavailable
39
Building Microservices with .NET Core 2.0 - Second Edition
Gaurav Aroraa
4.5
Microservices is an architectural style that promotes the development of complex applications as a suite of small services based on business capabilities. This book will help you identify the appropriate service boundaries within the business. We'll start by looking at what microservices are and what the main characteristics are.
Moving forward, you will be introduced to real-life application scenarios, and after assessing the current issues, we will begin the journey of transforming this application by splitting it into a suite of microservices. You will identify the service boundaries, split the application into multiple microservices, and define the service contracts. You will find out how to configure, deploy, and monitor microservices, and configure scaling to allow the application to quickly adapt to increased demand in the future.
With an introduction to the reactive microservices, you strategically gain further value to keep your code base simple, focusing on what is more important rather than on the messy asynchronous calls.