Facebook Pixel
Searching...
English
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
Production-Ready Microservices

Production-Ready Microservices

Building Standardized Systems Across an Engineering Organization
by Susan Fowler 2017 170 pages
3.82
500+ ratings
Technology
Technical
Programming
Listen
9 minutes

Key Takeaways

1. Microservices: A Paradigm Shift in Software Architecture

The basic concept of a microservice is simple: it's a small application that does one thing only, and does that one thing well.

Microservices revolutionize software development. They break down monolithic applications into smaller, independent services, each responsible for a specific function. This architectural approach offers numerous benefits:

  • Increased developer productivity and velocity
  • Improved scalability and flexibility
  • Easier adoption of new technologies
  • Reduced technical debt

However, microservices also introduce new challenges:

  • Increased operational complexity
  • Potential for organizational silos
  • Greater need for standardization and coordination

The transition from monoliths to microservices requires careful planning and a company-wide commitment to restructuring both the software architecture and the organizational structure.

2. The Four-Layer Model of Microservice Ecosystems

Microservices do not live in isolation. The environment in which microservices are built, are run, and interact is where they live.

Understanding the microservice ecosystem is crucial. The four-layer model provides a comprehensive framework for conceptualizing and managing microservice architectures:

  1. Hardware Layer: Physical servers, operating systems, and resource management
  2. Communication Layer: Network, DNS, service discovery, and load balancing
  3. Application Platform Layer: Development tools, deployment pipelines, and monitoring
  4. Microservice Layer: The actual microservices and their configurations

Each layer plays a vital role in the overall ecosystem:

  • Lower layers provide the foundation and infrastructure
  • Upper layers focus on service-specific functionality and business logic
  • Clear separation of concerns allows for better management and scalability

Effective microservice architecture requires careful consideration and optimization of all four layers to ensure smooth operation and seamless interaction between services.

3. Production-Readiness: The Key to Microservice Standardization

A production-ready application or service is one that can be trusted to serve production traffic.

Production-readiness ensures microservice reliability. To achieve this, microservices must adhere to eight key principles:

  1. Stability
  2. Reliability
  3. Scalability
  4. Fault tolerance
  5. Catastrophe-preparedness
  6. Performance
  7. Monitoring
  8. Documentation

These principles work together to:

  • Increase overall system availability
  • Reduce the risk of outages and failures
  • Improve developer productivity and confidence

Implementing production-readiness standards requires:

  • Organizational buy-in at all levels
  • Clear communication of expectations and requirements
  • Regular audits and reviews to ensure compliance
  • Continuous improvement and adaptation as the ecosystem evolves

4. Stability and Reliability: Cornerstones of Microservice Architecture

A stable microservice is one for which development, deployment, the adoption of new technologies, and the decommissioning or deprecation of other services do not give rise to instability across the larger microservice ecosystem.

Stability and reliability form the foundation of trust. To build stable and reliable microservices, focus on:

  1. Standardized development cycle
  2. Comprehensive deployment pipeline (staging, canary, production)
  3. Dependency management and failure mitigation
  4. Stable routing and discovery mechanisms
  5. Careful deprecation and decommissioning procedures

Key practices for ensuring stability and reliability:

  • Implement thorough code testing (unit, integration, end-to-end)
  • Use automated build and release processes
  • Employ defensive caching and fallback mechanisms for dependencies
  • Regularly review and update service architecture
  • Maintain clear communication channels between teams

By prioritizing stability and reliability, organizations can create a robust microservice ecosystem that can withstand the challenges of rapid development and changing requirements.

5. Scalability and Performance: Designing for Growth and Efficiency

To ensure that our microservices are scalable and performant, we need to require several things of each microservice.

Scalability and performance drive efficiency. To build scalable and performant microservices:

  1. Understand qualitative and quantitative growth scales
  2. Use hardware resources efficiently
  3. Identify and address resource bottlenecks
  4. Implement automated capacity planning
  5. Ensure dependencies can scale with your service
  6. Design for efficient task handling and processing

Key considerations for scalability and performance:

  • Choose appropriate programming languages and frameworks
  • Implement horizontal scaling capabilities
  • Optimize database design and usage
  • Monitor and adjust for changing traffic patterns
  • Regularly perform load testing and performance tuning

By focusing on scalability and performance from the outset, organizations can create microservices that can gracefully handle increased demand and maintain high levels of efficiency as they grow.

6. Fault Tolerance and Catastrophe-Preparedness: Embracing Failure

Microservices will fail, they will fail often, and any potential failure scenario can and will happen at some point within the microservice's lifetime.

Prepare for failure to ensure success. Building fault-tolerant and catastrophe-prepared microservices involves:

  1. Identifying and eliminating single points of failure
  2. Documenting all possible failure scenarios
  3. Implementing comprehensive resiliency testing
  4. Automating failure detection and remediation
  5. Establishing clear incident response procedures

Essential practices for fault tolerance:

  • Conduct regular architecture reviews to identify vulnerabilities
  • Implement circuit breakers and fallback mechanisms
  • Perform chaos testing to simulate real-world failures
  • Maintain up-to-date runbooks for incident response
  • Foster a blameless culture that encourages learning from failures

By embracing the reality of failure and preparing for it systematically, organizations can create robust microservices that can withstand unexpected challenges and maintain high availability.

7. Monitoring: The Pulse of Your Microservices

The majority of outages in a microservice ecosystem are caused by bad deployments. The second most common cause of outages is the lack of proper monitoring.

Effective monitoring is crucial for microservice health. To implement production-ready monitoring:

  1. Identify and track key metrics at all levels (host, infrastructure, microservice)
  2. Implement comprehensive logging
  3. Create clear, informative dashboards
  4. Set up actionable alerting with appropriate thresholds
  5. Establish sustainable on-call rotations

Best practices for microservice monitoring:

  • Log all relevant information without compromising security or performance
  • Design dashboards that are easy to interpret at a glance
  • Ensure all alerts are actionable and linked to runbooks
  • Regularly review and update monitoring strategies
  • Foster a culture of shared responsibility for service health

By implementing robust monitoring practices, organizations can detect and resolve issues quickly, maintaining high levels of microservice availability and performance.

8. Documentation and Understanding: The Unsung Heroes of Microservice Success

Always give an onion.

Documentation and understanding drive organizational alignment. To ensure comprehensive documentation and understanding:

  1. Maintain centralized, up-to-date documentation for all microservices
  2. Include key elements: description, architecture diagram, contact info, onboarding guide, API details, and runbooks
  3. Conduct regular architecture reviews
  4. Perform production-readiness audits
  5. Create and maintain production-readiness roadmaps
  6. Automate production-readiness checks where possible

Strategies for improving documentation and understanding:

  • Make documentation updates part of the development workflow
  • Use clear, jargon-free language accessible to all stakeholders
  • Implement a FAQ section to address common questions
  • Conduct regular knowledge-sharing sessions across teams
  • Tie production-readiness to organizational OKRs and planning cycles

By prioritizing documentation and understanding, organizations can reduce technical debt, improve cross-team collaboration, and ensure the long-term success of their microservice ecosystem.

Last updated:

Review Summary

3.82 out of 5
Average of 500+ ratings from Goodreads and Amazon.

Production-Ready Microservices by Susan Fowler receives mixed reviews. Readers appreciate its high-level overview and checklists for production-readiness, finding it useful for managers and engineers new to microservices. However, many criticize its lack of technical depth and practical examples. The book is praised for its focus on organizational aspects and production readiness, but some find it repetitive and too abstract. It's recommended as a complementary read to more technical microservices books, particularly for those in management roles or seeking a broad understanding of microservice ecosystems.

Your rating:

About the Author

Susan Fowler is a software engineer and author known for her work on microservices and her advocacy for workplace equality. She gained prominence after publishing a blog post detailing her experiences of sexual harassment and discrimination at Uber, which led to significant changes in the company's culture. Fowler's background includes roles at several tech companies, where she worked on large-scale distributed systems and microservices. Her book "Production-Ready Microservices" draws from her practical experience in the field. Fowler has also written for various publications and is recognized for her contributions to tech industry discussions on both technical and cultural issues.

Download PDF

To save this Production-Ready Microservices summary for later, download the free PDF. You can print it out, or read offline at your convenience.
Download PDF
File size: 0.23 MB     Pages: 11
0:00
-0:00
1x
Dan
Scarlett
Adam
Amy
Liv
Emma
Select Speed
1.0×
+
200 words per minute
Create a free account to unlock:
Bookmarks – save your favorite books
History – revisit books later
Ratings – rate books & see your ratings
Unlock unlimited listening
Your first week's on us!
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on Oct 30,
cancel anytime before.
Compare Features Free Pro
Read full text summaries
Summaries are free to read for everyone
Listen to summaries
12,000+ hours of audio
Unlimited Bookmarks
Free users are limited to 10
Unlimited History
Free users are limited to 10
What our users say
30,000+ readers
“...I can 10x the number of books I can read...”
“...exceptionally accurate, engaging, and beautifully presented...”
“...better than any amazon review when I'm making a book-buying decision...”
Save 62%
Yearly
$119.88 $44.99/yr
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Settings
Appearance