O'Reilly logo
live online training icon Live Online training

Succeeding with a Microservices Architecture

Best practices for making the move to microservices

Topic: System Administration
Nathaniel Schutta

These days, you can’t swing a dry erase marker without hitting someone talking about microservices. Teams are refactoring monolithic apps, looking for bounded contexts, and defining a ubiquitous language. However, many quickly discover that microservices aren’t in fact a panacea—they’re not the right solution for every problem or for every team, and even if they are, there are real engineering issues to overcome in the implementation.

Join expert Nathaniel Schutta to learn where it makes sense to use microservices (and where it doesn’t); how to ensure a thriving micro(services) biome; and how to evolve your culture in the face of the cloud native revolution. Whether you’re just kicking the tires or are a year into your microservices adventure, you’ll discover how to avoid the potholes and pitfalls you’ll encounter along the way.

What you'll learn-and how you can apply it

By the end of this live online course, you’ll understand:

  • A set of principles that will help you decide if microservices are the best choice for your applications
  • How to build production-hardened services
  • How to empower your teams while ensuring they make good decisions
  • How to develop a cloud native culture
  • The challenges and pitfalls of microservice architectures and how to manage them

And you’ll be able to:

  • Identify when microservices are a good choice
  • Apply fitness functions to ensure that architectural qualities are maintained throughout the architecture’s evolution
  • Create a checklist that will help you build robust services

This training course is for you because...

  • You’re an architect dealing with an explosion of services.
  • You have a portfolio of “heritage” applications, and you aren’t quite sure where to start.
  • You want to make sense of microservices and cloud native architectures.
  • You're an architect or developer who wants to apply best practices for designing microservice architectures.


  • Basic familiarity with cloud native architectures
  • Experience building or designing medium to large-scale enterprise applications (useful but not required)

Recommended follow-up:

About your instructor

  • Nathaniel T. Schutta is a software architect focused on cloud computing and building usable applications. A proponent of polyglot programming, Nate has written multiple books and appeared in various videos; he’s also a seasoned speaker who regularly presents at conferences worldwide, No Fluff Just Stuff symposia, meetups, universities, and user groups. In addition to his day job, Nate is an adjunct professor at the University of Minnesota, where he teaches students to embrace (and evaluate) technical change. Driven to rid the world of bad presentations, Nate coauthored Presentation Patterns with Neal Ford and Matthew McCullough. He also recently published Thinking Architecturally, available as a free download from VMware.


The timeframes are only estimates and may vary according to how the class is progressing

Should that be a microservice? (40 minutes)

  • Presentation and hands-on exercises: Multiple rates of change; independent lifecycles; scaling independently; failure isolation; polyglot tech stacks
  • Q&A

Break (5 minutes)

Production-hardened services (55 minutes)

  • Presentation and hands-on exercises: Some services are more equal than others; stable and reliable services; fault-tolerant services; documenting services; reviewing services
  • Q&A

Break (5 minutes)

Paved roads (45 minutes)

  • Presentation and hands-on exercises: Establishing principles; fitness functions; architectural decisions; monitoring; distributed expertise
  • Q&A

Cloud native culture (30 minutes)

  • Presentation and hands-on exercises: The importance of culture; automation, automation, automation; site reliability engineering; postmortems; moving forward
  • Q&A