workshop | OCTOBER 20-22 | 9:00-17:00 | Mansfield 5

Lightbend Reactive Architecture - Professional (3-days)

Lightbend Reactive Architecture - Professional

Designing Reactive systems and microservices requires architects and teams to think differently about design - taking into account concurrency, messaging and coordination - in order to achieve the promise of resilient and elastic software. As microservices have emerged as the gold standard of developing modern software applications, every team needs to develop a deep understanding of how to design, build and operate software in a Reactive world if they want to remain relevant.

The Lightbend Reactive Architecture course teaches teams - from development managers to architects to software developers - how to think about and leverage Reactive architectures from design through to production operations.

The course presents a series of architectural exercises. Students will work in groups to address problems and design solutions. The exercises are completed without the use of code. This allows the course to appeal to a broad audience.

Benefit

  • Build the confidence to design and deploy scalable, resilient, responsive and elastic systems
  • Certified Lightbend Trainers share best practices for designing Reactive microservices
  • Reactive techniques and patterns

Participant
  • Developers and Architects looking to develop Reactive systems
  • Architects with an interest in Domain Driven Design and related architectural patterns
  • Managers and Team Leads looking for elasticity, resilience and scale in their products and systems

Outline

1. Why Reactive
  • Reactive Manifesto
  • Reactive Principles
  • Reactive Systems
  • Reactive Programming
  • Actor Model

2. Domain Driven Design
  • Ubiquitous Language
  • Bounded Contexts
  • Anti-Corruption Layers
  • Command, Events, Queries
  • Value Objects, Entities, Aggregates
  • Services, Factories, Repositories
  • Hexagonal Architecture

3. Reactive Microservices
  • Microservices vs Monoliths
  • Isolation of State, Space, Time, Failure
  • Bulkheading
  • Circuit Breakers
  • Gateway Services

4. Consistency, Availability, Scalability
  • Performance vs Scalability
  • Strong Consistency vs Eventual Consistency
  • Contention and Amdahl's Law
  • Coherency and Gunther's Law
  • Sharding
  • CRDTs

5. Messaging and Coordination
  • Synchronous vs Asynchronous Messaging
  • Saga Pattern
  • Two Generals Problem
  • Delivery Guarantees
  • Point to Point
  • Publish/Subscribe

6. CQRS/ES
  • Audit Logs
  • Event Sourcing
  • Command Sourcing
  • CQRS
  • Consistency, Availability, Scalability in CQRS

Logistics

Level: Intermediate - practical experience in software development and analysis is assumed
Length: Three days - 21 hours of classroom time, plus breaks
Approach: Extensive design and discussion - students design a Reactive application, analyzing a sample domain, and contrasting it with a monolithic application design
Requirements: Students must bring their own laptops. Pen, paper, sticky notes and whiteboards are assets for exercise work.

Related Blog Post

Introducing A New Remote/Onsite Training Course To Help Development Teams Learn Reactive Architectures

Related Trainings
  • Lightbend Scala Language - Professional
  • Lightbend Scala Language - Expert
  • Fast Track to Akka with Scala
  • Lightbend Akka for Scala - Professional
  • Lightbend Akka for Scala - Expert
  • Lightbend Akka for Java - Professional
  • Lightbend Akka for Java - Expert

SHARE THIS WORKSHOP



View Workshops Workshop Tickets