Lightbend

Reactive Architecture: Building Scalable Systems

Building Reactive Systems requires a balance between Consistency and Availability. This course will explain why that balance exists. We will discuss the CAP theorem as well as the Laws of Scalability that dictate what is possible to achieve when we build distributed systems. We will also introduce some techniques we can use to strike the right balance. All of this will be grounded in a discussion which starts first in the real world.

Start the Free Course

About This Course

Building Reactive Systems requires a balance between Consistency and Availability. This course will explain why that balance exists. We will discuss the CAP theorem as well as the Laws of Scalability that dictate what is possible to achieve when we build distributed systems. We will also introduce some techniques we can use to strike the right balance. All of this will be grounded in a discussion which starts first in the real world.

What will I get after passing this course?

  • You will receive a completion certificate.

Course Syllabus

  • Consistency, Availability, and Scalability
    • Definitions for Consistency, Availability, and Scalability.
    • A discussion of the difference between Performance and Scalability.
  • Consistency in Distributed Systems
    • An indepth discussion of how physics impacts our ability to provide consistency in a distributed system.
    • A definition, and discussion, of Eventual Consistency.
    • A definition, and discussion, of Strong Consistency.
  • Laws of Scalability
    • Contention in Distributed Systems.
    • Amdahl's Law.
    • Coherency in Distributed Systems./li>
    • Gunther's Law of Universal Scalability
  • CAP Theorem
    • Defining Partition Tolerance.
    • Discussing the balance between Consistency and Availability.
  • Sharding
    • Using Sharding for Consistency.
    • Explanation of how Sharding works.
    • Advantages/Disadvantages of Sharding.
  • Conflict-Free Replicated Data Types (CRDTs)
    • Using CRDTs for Availability.
    • Explanation of how CRDTs work.
    • Advantages/Disadvantages of CRDTs.
  • Consistency or Availability
    • How do we decide which one to pick?

General Information

  • This course is free.
  • It is self-paced.
  • It can be taken at any time.
  • It can be taken as many times as you wish.

Recommended skills prior to taking this course

  • Experience in the design of software systems.

Grading scheme

  • The minimum passing mark for the course is 75%, where the review questions are worth 40%, the case study exercises are worth 30% and the final exam is worth 30% of the course mark.
  • You have 1 attempt to take the final exam with multiple attempts per question.

Requirements

  • Reactive Architecture: Consistency and Availability is the first course in the Cognitive Class Learning Path: Lightbend Reactive Architecture: Advanced
  • The Lightbend Reactive Architecture: Advanced Learning Path follows and builds on the foundational concepts taught in the Cognitive Class Learning Path: Lightbend Reactive Architecture: Foundations
  • You should either understand all the concepts or have completed all three of the courses in the Lightbend Reactive Architecture: Foundations Learning Path

Course Staff

Wade Waldron

Wade Waldron is the Microservices Practice Lead, Senior Training Developer, and Senior Consultant at Lightbend. He is the primary author of the Lightbend Reactive Architecture training course.

Wade started his career as a developer in 2005 building games for the Playstation 2, Xbox, etc. In 2011 he joined Point2 Homes where he began working on an Akka based microservices platform to provide realtime updates to real estate websites. In 2014 Wade joined BoldRadius where he consulted with a variety of companies on how to use Akka, and related technologies. He also began teaching courses on Akka and Scala.

In 2016, Wade released a book "Applied Akka Patterns" along with his co-author Michael Nash

Today Wade works with Lightbend where he consults with clients and builds training materials. He focuses on helping people make a smooth transition from a monolithic application to Reactive microservices.

Earn your IBM Data Science Professional Certificate on Coursera.Learn more ...