Distributed Systems: Building Software for the Real World

Distributed Systems: Building Software for the Real World

Explore architecting, designing, and building resilient distributed systems for real-world challenges. Gain insights into creating stability, designing for production, delivering systems, and solving systemic issues.

Beginner

189 Lessons

12h

Certificate of Completion

Explore architecting, designing, and building resilient distributed systems for real-world challenges. Gain insights into creating stability, designing for production, delivering systems, and solving systemic issues.

AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

89 Quizzes
20 Code Snippets

This course includes

89 Quizzes
20 Code Snippets

Course Overview

In this course, you will examine ways to architect, design, and build software —particularly distributed systems—for the muck and mire of the real world. You will prepare for the armies of illogical users who do crazy, unpredictable things. Your software will be under attack from the moment you release it. It needs to stand up to the typhoon winds of flash mobs or the crushing pressure of a DDoS attack by poorly secured IoT toaster ovens. You’ll take a hard look at software that failed the test and find way...Show More

TAKEAWAY SKILLS

Software Engineering

Distributed Systems

What You'll Learn

Understand system architecture and information architecture

Learn about development lifecycle and different architectures to build a software

Learn about stability anti-patterns, problems in network connection and their vulnerabilities

Learn service discovery systems, control plane, bounded/unbounded result sets and their effects

What You'll Learn

Understand system architecture and information architecture

Show more

Course Content

1.

Living in Production

Step through readiness for production, holistic design, and pragmatic architecture in software.
2.

The Exception That Grounded an Airline

Solve challenges with a case study on resolving airline system outages and preventing failures.
3.

Stabilize Your System

Break apart strategies to maintain stability, prevent failures, and ensure system longevity.
6.

Force Multiplier

6 Lessons

Investigate safeguards and strategies to prevent failures in automated distributed systems.
8.

Launching An Online Store

8 Lessons

Address challenges of online store launch, load testing, traffic management, and server diagnostics during peak retail events.
9.

Foundations

9 Lessons

Walk through the fundamentals of distributed systems, including virtualization, containers, and cloud environments.
14.

Design for Deployment

10 Lessons

Master deployment strategies, minimize downtime, ensure system stability, and enhance user experience.
15.

Handling Versions

5 Lessons

Try out strategies for handling versions and maintaining API compatibility in distributed systems.
16.

Case Study: Trampled by Your Own Customers

6 Lessons

Walk through the challenges and resolutions in launching and stabilizing a new online system.
17.

Adaptation

8 Lessons

Work your way through adapting software for changes, efficient processes, effective teams, and service autonomy.
18.

System Architecture

7 Lessons

Grasp the fundamentals of resilient, adaptable system architecture principles and modularity.
19.

Information Architecture

6 Lessons

Deepen your knowledge of flexible information architecture, focusing on databases, events, services, URLs, and data plurality.
20.

Chaos Engineering

8 Lessons

Follow the process of using chaos engineering to enhance resilience in distributed systems.
21.

Bibliography

1 Lesson

Build on foundational literature in databases, software architecture, Agile development, and system design.

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Souvik Kundu

Front-end Developer

Eric Downs

Musician/Entrepeneur

Anthony Walker

@_webarchitect_

Evan Dunbar

ML Engineer

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor

FOR TEAMS

Interested in this course for your business or team?

Unlock this course (and 1,000+ more) for your entire org with DevPath