Skip to main content

Architecting Distributed Cloud Applications

About This Course

This technology-agnostic course begins by explaining the benefits of distributed cloud applications with an emphasis on maintaining high-availability and scalability in a cost-effective way while also dealing with inevitable hardware and software failures. Then, the course moves on to:

  • Microservices and containers
  • Networking communication
  • Messaging communication
  • Versioning, upgrading and configuration
  • Data storage services
  • Disaster recovery

This course is for anyone considering or actively working on a distributes cloud application. It is designed to provide you with a thorough understanding of these concepts, the various pros and cons of specific technologies, and the resilient patterns that are heavily used by distributed cloud applications. This knowledge will help you to easily build cost-efficient and fault-tolerant systems.

The course contains labs to practice your learning, review questions for self-assessment, and a final exam to validate learning. A score of 70% is required to pass the final exam and receive a certificate for the course.

Requirements

Students should be familiar with:

  • Cloud Computing
  • System architecture and design
  • A language, such as C# or C++

What you'll learn:

  • Distributed cloud application fundamentals, including Why Cloud Apps?, embracing failure, orchestrators, when to split a monolith into microservices, 12-factor services, and when and how to use Containers.
  • Networking communication, including service scalability and availability, how to define/manage/version service endpoint APIs, and how to perform fault-tolerant network communication.
  • Messaging communication, including the benefits of messaging with queues and fault-tolerant message processing.
  • Versioning, Upgrading, and Configuration, including various ways to version your service‚Äôs code, how to shut down a service instance gracefully, and how to configure and share secrets with a running service.
  • Data storage services, including storage service considerations, object/file storage services, relational and nonrelational databases, partitioning, replicas, eventual consistency patterns (CQRS, Event sourcing, Saga), concurrency patterns, and data schema versioning.
  • Disaster recovery, including backup/restore, recovery point and time objectives, as well as Active/Passive and Active/Active architectures.

Course Staff

Course Staff Image #1

Jeffrey Richter

Jeffrey Richter is a Partner Software Architect at Microsoft, co-founder of Wintellect, and a prodigious author.

  1. Course Number

    DEVOPS200.9x
  2. Course Mode

    Self-Paced
  3. Estimated Effort

    8-16 hours total
Enroll