schedule Dec 4th 09:00 AM - 05:00 PM place Room4 shopping_cart Reserve Seat

Enterprises need to deliver better software faster. It’s no longer sufficient to release quarterly or even monthly. Instead, organizations must use methods, such as DevOps, to frequently deploy changes into production, perhaps as often as multiple times per day. One obstacle, however, to DevOps-style development is that organizations are often mired in monolithic hell. Key business applications are large, complex, unwieldy monoliths, and so it’s impossible to rapidly and safely deploy changes.

The solution is to adopt the microservice architecture, which is an architectural style that has the testability and deployability necessary for DevOps. In this workshop, you will, through a combination of lectures and discussions, learn how to use the microservice architecture to develop your applications. We will describe how to solve some of the key obstacles you will face including distributed data management. You will learn about strategies for refactoring a monolith to a microservice architecture.

 
1 favorite thumb_down thumb_up 0 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/Structure of the Workshop

Overview of the microservice architecture

  • The microservice architecture as an architectural style

  • Benefits and drawbacks of microservices

  • The microservice pattern language

Decomposition

  • Overview of decomposition

  • Decompose by business capabilities

  • Decompose by bounded context

  • Service design guidelines

Managing distributed data in a microservice architecture data consistency

  • Overview

  • Maintaining consistency using sagas

  • Using event sourcing

  • Querying using the API composition and CQRS patterns

  • Using the CQRS pattern

Testing strategies

  • Introduction to the testing pyramid

  • Writing consumer-driven contract tests

  • Developing component tests

  • Developing end to end tests

Refactoring

  • Incrementally refactoring a monolith into microservices

  • Strategy #1: stop digging

  • Strategy #2: split front-end & backend

  • Strategy #3: extract services

Target Audience

developers working on applications that can be modelled using state machines (e.g. web applications) who want to test more complex properties of their software.

schedule Submitted 7 months ago

Public Feedback

comment Suggest improvements to the Speaker