Engineering the Future of Software
Feb 25–26, 2018: Training
Feb 26–28, 2018: Tutorials & Conference
New York, NY

In-Person Training
Moving to microservices and beyond

Sam Newman (Independent)
Sunday, February 25 & Monday, February 26, 9:00am - 5:00pm
Location: Concourse E
Average rating: *****
(5.00, 1 rating)

Participants should plan to attend both days of this 2-day training course. Platinum and Training passes do not include access to tutorials on Tuesday.

Sam Newman shares some framing for microservice architectures that explores the various forces that can drive the design and evolution of microservices before leading you through a series of interactive architectural kata exercises to put your newfound knowledge to the test. You'll gain valuable experience with a series of tools you can immediately put into practice in your own projects.

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

By the end of this two-day training course, you'll understand:

  • What makes a good microservice
  • How to plan and manage a migration from a monolith to a microservice architecture
  • How technical choices can impact the architecture itself

And you'll be able to:

  • Use concepts from domain-driven design to define service boundaries
  • Manage change and governance in a microservice environment

Prerequisites:

  • A basic understanding of service-oriented architectures generally or microservices specifically (useful but not required)

There is lots of theory out there about microservice architecture, but how often do you get to put that knowledge into practice? In the real world, it’s not feasible to rearchitect your system often, and certainly not in a single day. . .or is it?

Sam Newman leads a workshop that gives you a safe space to explore ideas behind microservice architectures with peers from other organizations. Sam shares some framing for microservice architectures that explores the various forces that can drive the design and evolution of microservices before leading you through a series of interactive architectural kata exercises to put your newfound knowledge to the test. You’ll gain valuable experience with a series of tools you can immediately put into practice in your own projects.

About your instructor

Photo of Sam Newman

Sam Newman is an independent consultant specializing in helping people ship software fast. Sam has worked extensively with the cloud, continuous delivery, and microservices and is especially preoccupied with understanding how to more easily deploy working software into production. For the last few years, he’s been exploring the capabilities of microservice architectures, and he’s 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. Previously, he spent over a decade at ThoughtWorks and then another year with a startup. Sam speaks frequently at conferences. He’s the author of Building Microservices (O’Reilly). If you’d like to get in touch, please email him.

Twitter for samnewman

Conference registration

Get the Platinum pass or the Training pass to add this course to your package.

Comments on this page are now closed.

Comments

Picture of Sam Newman
Sam Newman | TECHNOLOGIST
02/22/2018 1:47am EST

Hi Anar,

The course outline varies from class to class, based on the attendees – they help pick what modules/topics we cover. This is an indicative outline, but note we are unlikely to cover exactly what is detailed below as every class is a bit different:

Introducing Microservices

  • What microservices are
  • Technology
  • And SOA
  • Advantages of microservices
  • Disadvantages of microservices
  • When should you use them, or when shouldn’t you use them?

Service Modelling

  • Characteristics of “good” services
  • Introduction of domain driven design
  • Usefulness of Bounded Contexts when finding service boundaries
  • Context-mapping exercise

Splitting Out Services

  • Working out where to start
  • Splitting stateless services
  • Database refactoring patterns
  • Use of strangler and branch by abstraction patterns
  • Discussion of CAP theory
  • Distributed transactions
  • Eventual consistency

Service Collaboration

  • Pitfalls of service collaboration
  • Synchronous vs async
  • Event-based collab vs Request/Response
  • Coverage of technology options including:
  • HTTP over REST
  • RPC
  • Actor frameworks
  • Message Brokers inc Kafka
  • Choreography vs Orchestration

Testing

  • Types of automated testing
  • End-to-end testing in a microservice world
  • Test types and feedback
  • Consumer-driven contracts
  • Testing in production?

Build & Deployment

  • Build/CI basics
  • Microservices & repo/CI mapping
  • Pipeline design
  • Deployment mechanisms
  • Containerisation vs virtualisation
  • Deployment platforms (Kubernetes et al)

Observability

  • Log aggregation
  • Correlation IDs
  • Metrics collection
  • Semantic monitoring
  • Real-user monitoring
  • Synthetic Transactions

Resiliency & Scaling

  • Types of scaling (scaling cube + more)
  • Scaling for scale, vs scaling for resiliency
  • Circuit Breakers and connection pooling
  • Bulkheads & timeouts
  • Service Meshes & Message Brokers

User Interfaces / Mobile

  • UI aggregation models
  • General-purpose API gateways
  • Backends-for-frontends
  • GraphQL
Picture of Sam Newman
Sam Newman | TECHNOLOGIST
02/22/2018 1:40am EST

Hi Orlon,

No specific prep work is needed – an understanding of microservices may help, but isn’t required. You also don’t need any software – this isn’t a hands-on coding course, but feel free to bring your laptop to take notes or look up references.

Orion Hansen | SOFTWARE ARCHITECT
02/21/2018 11:35am EST

Anything we need to set up before we get there? The email mentioned there may be “homework.” What materials or software is needed to be prepared if any?

Gaurav Kumar | SOFTWARE ARCHITECT
02/11/2018 5:48am EST

Hello,
plz could you share the training outline?

Picture of Anar Guliyev
Anar Guliyev | LEAD SOFTWARE ENGINEER
01/25/2018 1:29pm EST

Hello,
plz could you share the training outline?