GOTO Academy NL
Nov 1st-3rd, 2023 | Sam Newman | Amsterdam
'Designing Microservices' at a glance
€1599 excl. VAT
3 days, 09:00-17:00
Location & Delivery
Location: GOTO Academy Amsterdam
Address: Vlaardingenlaan 15 1062 HM - Amsterdam - Netherlands
Course delivered in English
People who are facing challenges around distributed systems, and thinking about migrating from an existing monolith to microservice architecture
Would you like to join as a group? - Contact us here
Who is the Masterclass for?
People who are in the process of moving to microservices, or are already on the path should get a lot out of the event. It's primarily aimed at people in technical leadership positions like tech leads and architects, but should be of use to any developer or operations person interested in how to move to microservices. Prior knowledge of service oriented architectures generally or microservices specifically is useful, but by no means essential.
This Masterclass will cover:
- 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.
- Understand how technical choices can impact the architecture itself.
- How to manage change and governance in a microservice environment.
Agenda: Day 1
- 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
Agenda: Day 2
- 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
- End-to-end testing in a microservice world
- Test types and feedback
- Consumer-driven contracts
- Testing in production?
- 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
Agenda: Day 3
- Evolutionary Architecture
- The challenges of big-bang rewrite
- How the role of the architect changes in a microservice team
- What is evolutionary architecture?
- Organisational Aspects
- Conway's Law
- Service ownership models
- Simple model for AppSec
- Threat modeling
- Standard prevention mechanisms
- Protection of data in transit
- Authentication & authorisation
- Recovering from security incidents
- Build & Deployment
- Build/CI basics
- Microservices & repo/CI mapping
- Pipeline design
- Deployment mechanisms
- Containerisation vs virtualisation
- Deployment platforms (Kubernetes et al)
- Serverless and Microservices
- Where does serverless come in?
- How does FAAS map to microservices?
- Challenges in serverless adoption
About the trainer Sam Newman
Sam is interested in technology at the intersection of things, from development, to ops, to security, usability and organisations. After over a decade at ThoughtWorks he is now an independent consultant. Sam is the author of "Building Microservices" from O'Reilly. 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.