O'Reilly logo
live online training icon Live Online training

Microservice fundamentals

Understanding the power and complexity of microservice architectures

Sam Newman

Microservices—they’re everywhere! Microservices help organizations achieve autonomy at scale and mix technologies. They can put software in the hands of users faster than other styles of architecture and can unlock opportunities to scale applications or handle security concerns in different ways. But without a good understanding of what microservices actually are and the benefits they offer, you may not reap all of these potential benefits and—worse—could end up adding complexity and fragility where it could have been avoided.

Join expert Sam Newman to gain a firm understanding of microservice architectures, the advantages to using microservices, and most importantly, all the problems they can create. Along the way, you’ll compare microservices to alternative system decomposition techniques to find out what makes microservices different. By the time you're through, you'll better understand if microservices are right for you and if so, how to go about adopting them.

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

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

  • Exactly what microservices are and the power they bring
  • How to get the most out of microservices architectures and avoid common pitfalls
  • When using microservices is sensible (and when it's not)

And you’ll be able to:

  • Distinguish between microservices and other forms of system decomposition and decide when to choose one over the others
  • Explain why microservice architectures may be useful (or not)
  • Determine if you should use microservices for your own project

This training course is for you because...

  • You're considering adopting a microservice architecture.
  • You want a firm foundation in one of the most-talked-about technology trends of recent years (while avoiding getting swept up in the hype).
  • You want to become more of a technical leader and need to better understand how to determine the right solutions for your problems.

Prerequisites

  • Familiarity with basic programming concepts

Recommended follow-up:

About your instructor

  • Sam Newman is a technologist at ThoughtWorks, where he currently splits his time between encouraging and sharing Innovation globally and helping design and build their internal systems. He has worked with a variety of companies in multiple domains around the world, often with one foot in the developer world, and another in the IT operations space. If you asked him what he does, he’d say “I work with people to build better software systems.” He has written articles, presented at conferences, and sporadically commits to open source projects. He is the author of Building Microservices.

Schedule

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

What microservices are (50 minutes)

  • Lecture and hands-on exercises: Misconceptions about microservices; What does size mean anyway?; the relationship of microservices to SOA; a brief history of microservices
  • Break (10 minutes)

The problem with coupling (50 minutes)

  • Lecture and hands-on exercises: Alternative system decomposition patterns; the interplay of organizational structures and architecture; cohesion of business versus technical concepts
  • Break (10 minutes)

Domain-driven design (50 minutes)

  • Lecture and hands-on exercises: What is domain-driven design?; How does it help us create microservices?; a brief overview of event storming

Wrap-up and Q&A (10 minutes)