0%

Book Description

Microservices have become an increasingly popular architecture choice over the past five years. With the ability to deliver software faster and support newer technologies, these independently releasable services give software architects, programmers, and developers more freedom to react, make different decisions, and respond faster to change. In this report, you’ll explore the benefits of microservices and their limitations.

You’ll learn what microservices are, how they work, and why this approach is different than other ways of decomposing your architecture. Author Sam Newman (Building Microservices, Monolith to Microservices) explains that while many companies have shown how effective microservices can be, this architecture also adds a lot of complexity to your system. This report helps you determine if microservices are right for your organization.

  • Learn the key concepts of a microservices architecture
  • Examine microservice advantages, including robustness, scaling, and ease of deployment
  • Contrast microservices with single-process, modular, and distributed monoliths
  • Explore enabling technologies such as containers and Kubernetes, streaming, public cloud, and serverless
  • Understand microservice pain points: technology overhead, monitoring and troubleshooting, security, and data consistency
  • Learn situations where microservices work well—and situations where they don’t

Table of Contents

  1. What Are Microservices?
    1. At a Glance
    2. Key Concepts of Microservices
      1. Independently Releasable
      2. Modelled Around a Business Domain
      3. Owning Their Own State
      4. Size
      5. Flexibility
      6. Alignment of Architecture and Organization
    3. The Monolith
      1. The Single-Process Monolith
      2. The Modular Monolith
      3. The Distributed Monolith
      4. Monoliths and Delivery Contention
      5. Advantages of Monoliths
    4. Enabling Technology
      1. Log Aggregation and Distributed Tracing
      2. Containers and Kubernetes
      3. Streaming
      4. Public Cloud and Serverless
    5. Advantages of Microservices
      1. Technology Heterogeneity
      2. Robustness
      3. Scaling
      4. Ease of Deployment
      5. Organizational Alignment
      6. Composability
    6. Microservice Pain Points
      1. Developer Experience
      2. Technology Overload
      3. Reporting
      4. Monitoring and Troubleshooting
      5. Security
      6. Testing
      7. Latency
      8. Data Consistency
      9. Should I Use Microservices?
      10. Who They Might Not Work For
      11. Where They Work Well
    7. Summary
18.191.236.174