Home GOTO Experts 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 focused on microservice architectures. Sam worked with a variety of companies around the world, often with one foot in the developer world and another in the IT operations space. Previously, has spent over a decade at ThoughtWorks before leaving for a startup, and then eventually setting up his own company. Sam is a frequent speaker at conferences and author of best-selling books.

Topic focus: Microservices

Check out some of Sam’s past talks:

A few of Sam’s books:

Upcoming masterclasses featuring Sam Newman

Microservice Communication

Architecture is all about the boxes and arrows. Whilst the boxes themselves can be interesting, it’s the arrows between them that this class will focus on. How can microservices communicate with each other?

No two classes are the same, with the attendees driving the exact agenda, but expect to cover the nature of synchronous and asynchronous communication, request-response vs event-driven collaboration, and why friends don’t let friends use distributed transactions. Along the way we can talk about the merits of different types of message brokers, why Sam now thinks schemas are cool again, and how event sourcing can be incredibly confusing.

Please note, this is not a coding class, but it is highly interactive. There will be lots of discussion - computing is all about trade offs, and this is especially true in the space of microservice communication. There is no one perfect solution, but by the end of the class you’ll better understand what trade offs might be important to you.

Monday Sep 29, 08:00 | Copenhagen, Denmark

Reserve your spot now

Resilient Distributed Systems

Distributed systems exist in all shapes and sizes, and chances are you're either working on one now. But the fundamental nature of distributed systems means that we are exposed to all sorts of problems that can cause our systems to become slow, unresponsive, or even fail altogether.

In this one day class, you'll learn about the challenges of distributed systems, and what you can do to create software that is much more likely to work when users need it to.

Whether you're building a fine-grained microservice architecture, or a more monolithic distributed system, you'll learn concrete practices to help make your software more robust.

This is not a coding matserclass, but it is interactive. This is a class about concrete practice, but presented in a technology agnostic way.

What We Will Cover:

Each class is different, with the attendees shaping what content we will cover in each class, but expect to cover:

  • What is resiliency?
  • The Golden Rules of distributed systems
  • Timeout tuning
  • Retires & Idempotency
  • Load shedding & back pressure
  • Circuit breakers
  • Bulkheads
  • CAP Theory
Tuesday Sep 30, 08:00 | Copenhagen, Denmark

Reserve your spot now

Building Microservices (Nov 26-27)


Outcome

In this masterclass you will learn what makes a good microservice, how to use concepts from domain driven design to define service boundaries, explore how to plan and manage a migration from a monolith to the microservice architecture plus much more.


Why Attend?

Because it is focused on outcomes. We explore the pitfalls and downsides of implementing the architecture, as well as how to mitigate problems. For example: how to effectively deal with distributed transactions and the implications of CAP theorem.

You will also discover whether microservices are right choice for your business. If they are, then after this masterclass you will have a clear idea of how to make it happen, by receiving concrete tools to implement the migration to a microservices based architecture in an incremental fashion, all while continuing to ship new features.


Course Overview

Please note that the 2 Day outline below is purely indicative. There is the flexibility to spend more (or less) time on specific subjects, and this can usually be accommodated as the material is broken down into modules that can be swapped around. This will be determined during the class, based on the groups wishes. Please also be aware the masterclass itself is not a hands-on coding class, but is designed to be interactive with lots of time for attendees to work together and ask questions.


Day 1: Introducing Microservices & Service Modelling

Introducing Microservices

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

Service Modelling

  • Characteristics of “good” services
  • Introduction to domain driven design
  • Usefulness of Bounded Contexts when defining service boundaries 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

Day 2: Service Collaboration, Testing, Observability, Resiliency & Scaling, User Interfaces / Mobile

Service Collaboration

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

Testing

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

Observability

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

Resiliency & Scaling

  • Types of scaling (scaling cube + more)
  • Scaling for load 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

Tuesday Nov 26, 09:00 | Amsterdam, Netherlands

Reserve your spot now

Content featuring Sam Newman

54:36
Confusion in the Land of the Serverless
Confusion in the Land of the Serverless
GOTO Amsterdam 2018
50:57
Insecure Transit - Microservice
Insecure Transit - Microservice
GOTO Berlin 2018
49:58
Feature Branches And Toggles In A Post-GitHub World
Feature Branches And Toggles In A Post-GitHub World
GOTO Chicago 2017
46:34
Confusion In The Land Of The Serverless
Confusion In The Land Of The Serverless
GOTO Berlin 2017
When To Use Microservices (And When Not To!)
When To Use Microservices (And When Not To!)
GOTO Book Club
GOTO Book Club Highlights Part 1
GOTO Book Club Highlights Part 1
GOTO Book Club
33:57
Enabling Microservice Success
Enabling Microservice Success
GOTO Book Club
48:28
Why Your Private Cloud is Probably a Bad Idea
Why Your Private Cloud is Probably a Bad Idea
GOTO Copenhagen 2019
48:28
Why Your Private Cloud is Probably a Bad Idea [VIRTUAL]
Why Your Private Cloud is Probably a Bad Idea [VIRTUAL]
GOTO Oslo 2020
42:21
Q&A - Monolith to Microservices with Sam Newman and Sven Johann
Q&A - Monolith to Microservices with Sam Newman and Sven Johann
GOTO Oslo 2020
43:57
Monolith Decomposition Patterns
Monolith Decomposition Patterns
GOTO Berlin 2019
50:11
Where We’re Going, We Don’t Need Servers!
Where We’re Going, We Don’t Need Servers!
GOTOpia Europe 2020
46:30
You Keep Using That Word
You Keep Using That Word
GOTO Copenhagen 2023
You Keep Using That Word
You Keep Using That Word
GOTO Amsterdam 2024
It's A Trap!
It's A Trap!
Designing Microservices Masterclass Taster
Designing Microservices Masterclass Taster

Past masterclasses featuring Sam Newman

Resilient Distributed Systems | GOTO Amsterdam 2024

Microservice Communication | GOTO Amsterdam 2024

Monolith to Microservices | GOTO Copenhagen 2023

Microservice Integration: Events, Sagas and Schemas | GOTO Copenhagen 2023

Microservice Integration: Events, Sagas and Schemas | GOTO Copenhagen 2020

Monolith to Microservices | GOTO Copenhagen 2020

Monolith to Microservices (Monday) | GOTO Berlin 2019

Microservice Integration: Events, Sagas and Schemas (Tuesday) | GOTO Berlin 2019

Monolith to Microservices | GOTO Copenhagen 2019

Microservice Integration: Events, Sagas and Schemas | GOTO Copenhagen 2019

Designing Microservices (Tuesday) | GOTO Berlin 2017

Designing Microservices | GOTO Berlin 2017

Designing Microservices (Wednesday 1-day workshop) | GOTO Chicago 2017

Designing Microservices (Thursday 1-day workshop) | GOTO Chicago 2017

Designing Microservices (Tuesday) | GOTO Berlin 2018

Designing Microservices (Monday) | GOTO Berlin 2018

Designing Microservices | GOTO Amsterdam 2018

Browse all experts

Here