Designing Microservice Architectures - Edinburgh

Two days of training to master microservices.

_

Delivered by the expert instructors of RisingStack.

Peter Czibik Tamas Kadlecsik Tamas Hodi

Peter Czibik, Tamas Kadlecsik & Tamas Hodi

READ: Feedback from previous Microservices Trainings

Tickets

Register interest

Additional Information

About the Course: Redesigning a Monolithic App as Microservices

During the course of these two days, we will cover a high-level architectural overview of what is needed to design, develop and maintain an application built with microservices.

We will examine a microservices application developed adhering to current best practices, deploy it on Kubernetes and add the necessary infrastructural elements to make it resilient and self-healing.

As there are many pitfalls one might be led to following a naïve approach we will cover a lot of design principles. For trying them out check out our hands-on Kubernetes courses.

This training is also available as an in-house, on-site opportunity.

In case you have any questions about the agenda or the on-site option, you can reach us at info@risingstack.com

This course is for you if

  • you are considering microservices for your organization,
  • you want to understand microservices better,
  • you want to migrate to microservices.

Prerequisites

  • Prior Node.js knowledge is nice to have as we will take tooling examples from its ecosystem.

  • Prior Kubernetes or any other container orchestration system knowledge is nice to have. You will understand the technological background a lot better, though we can have a quick Kubernetes crash course in the beginning if need be.

  • No prior experience with Microservices is required - we will cover everything you need to get started.

  • A laptop with an Unix based OS

  • Docker installed

  • Minikube installed

  • kubectl installed

The exact location of the venue in will be announced later.

Course outline

Day One:

0. OPTIONAL: Kubernetes crash course

  • Containers
  • Kubernetes basics: Deployments & services

1. Microservices architecture in the company

  • Monolith applications
  • Microservices
  • Organizational effect
  • Where did the complexity go?
  • Automation

2. Moving to microservices

  • When not to choose microservices?
  • Evolutionary design
  • API Gateway

3. Decentralized Data Management

  • Granularity of a service
  • Service communication
  • Automation and microservices
  • Service bootstrapping
  • Service principles and best practices

4. Architectural patterns in distributed systems

  • Idempotency
  • Data models
  • Microservices anti-patterns
  • Event driven microservices

Day Two:

5. Reliability in microservices

  • Caching
  • Risk of the microservice architecture
  • Graceful degradation
  • Failover caching
  • Change management
  • Health-check and load balancing
  • Self-healing
  • Retry logic
  • Fail fast
  • Circuit breakers
  • Rate limiters and load shedders
  • Testing for failures

6. Testing microservices

  • Local development
  • Testing in microservices
  • Unit testing
  • Contract testing
  • Integration tests
  • E2E testing
  • UI Testing

7. Debugging and monitoring microservices

  • Logging in a distributed system
  • Monitoring Microservices

Why learn from RisingStack?

We provide professional development, training and consulting services from the early days of Node, and help companies like Lufthansa, Cisco & LogMeIn to thrive with our favorite technology.

We've spent the previous 3 years with writing books, long-form tutorials & holding trainings. Our experts have written more than 150 articles on the topics of Node.js, Microservices & Front-End development. Our blog is one of the main resources Node developers turn to in trouble - this is why more than 150.000 engineers read our content each month.

RisingStack has been named as one of the leading Node.js companies of the Battery Open-Source Software Index in TechCrunch’s “Tracking the explosive growth of open-source software” analysis. We’re also part of the Node Foundation, and contributors to the core of Node.js.