Production Readiness of Microservice Architectures

Microservices can bring many benefits to an organization, but building the capabilities to test, operate and maintain your services can be difficult.

In this session we'll explore what it takes to deploy Akka systems to production with confidence in the quality of service. This training session is dedicated to the pursuit of reliability and maintainability of mission-critical Akka implementations using only open source technologies.

Program Overview

This program will introduce students to advanced testing patterns across the entirety of Akka including Streams and Cluster. Akka is an advanced toolkit that requires hands-on experience to understand how to deploy successfully to production environments. The focus of this program are the real-world production scenarios involved, not only at an implementation-level, but also at an infrastructure-level. Learning how to properly test production-grade Akka systems is a major focus of this program.

What to expect

This is a 3 day hands-on program with a strong emphasis on participation. Developers will require access to a laptop along with internet connectivity to participate. We will provide all of the required dependencies to follow along with exercises during program delivery.

Curriculum

  • Introduction to Akka TestKit
  • Testing Akka; designing for testability
    • Composing actors and plain classes
    • When (not) to use actors
    • Designing with Tell
    • Actors and Supervision
    • Cluster
    • Streams
    • Persistence and migration
  • Advanced Testing
    • Automating integration testing
    • Continuous Delivery and release testing
  • Performance and Scale
    • Performance testing with Gatling in the cloud
    • Service ratios and capacity planning
    • Handling network saturation
  • Monitoring and Metrics with Google Stackdriver
    • Monitoring application state with gauges
    • Monitoring application behavior with counters
    • Log monitoring with Google Cloud Platform
    • Alerting
  • Contract testing
    • Using Thrift and Protocol Buffers (Protobuf) for contracts
    • How to define contracts between services
    • How to test contracts and the implementation of contracts

Prerequisites

This an advanced course for experienced Akka practitioners. Participants should understand the fundamentals of Java and Akka and have experience with microservice-based architectures. No previous experience is necessary with all of the features of Akka, but a solid grasp of Akka actors and supervision is required. Previous experience with Kafka is helpful but not required.

This program can be tailored for operational staff who will not be programming with Akka, but must understand the fundemantals of Akka to enable a successful production deployment for their development teams. Please contacts us for more details about this option.

Contact Us To Discuss Training Contact Us