Module 15 Lesson 1: Capstone Project: Enterprise System
·DevOps

Module 15 Lesson 1: Capstone Project: Enterprise System

The ultimate challenge. Apply every skill you've learned to design and build a secure, scalable, and automated multi-tier architecture for a fictional global company.

Module 15: Capstone Project

Welcome to the Capstone Project. This is where you prove that you are not just a "Docker User," but a Docker Architect.

1. The Scenario: "GlobalHealth Connect"

You have been hired as the Lead DevOps Engineer for GlobalHealth Connect, a telemedicine platform. They need a system that handles:

  1. Patient UI: A React frontend for patients to book appointments.
  2. Doctor API: A Python backend that handles sensitive medical data.
  3. Audit Logger: A background worker that logs every action for legal compliance.
  4. Database: A secure Postgres database for patient records.
  5. Cache: A Redis instance for fast session lookups.

2. Your Mission Requirements

To pass this capstone, your solution must implement:

  • Security: No service should run as root. The Database must be on an internal-only network.
  • Secrets: Database passwords must not be in the Compose file.
  • Reliability: Every service must have a healthcheck and a restart policy.
  • Performance: The Frontend must be served via Nginx and use a multi-stage build.
  • Automation: You must provide a "Deploy" script that cleans up old containers and updates the stack with one command.

3. The Architecture Diagram

graph TD
    User([User's Browser]) -->|HTTPS| Gateway[Nginx Gateway]
    Gateway -->|Port 80| UI[React Frontend]
    Gateway -->|API/| API[Python Backend]
    
    subgraph "Private Network"
        API -->|Secure Link| DB[(Postgres Database)]
        API -->|Cache Link| Redis[(Redis Cache)]
        API -->|Task queue| Worker[Audit Logger]
        Worker -->|Audit Link| DB
    end

4. Part 1: Initial Design

Before writing code, answer these architectural questions:

  1. How many separate Docker Networks will you use? Why?
  2. Which service needs a Named Volume? Which one can use an Anonymous Volume?
  3. How will you handle a "Traffic Spike" if 100,000 patients log in at once? (Which service should you scale?)

5. Next Steps

In the following lessons, we will build each piece of this puzzle. By the end of this module, you will have a production-ready repository that you can show during interviews to prove your container expertise.

Next Lesson: Foundation: Implementing the Infrastructure (Compose, Secrets, Networks).

Subscribe to our newsletter

Get the latest posts delivered right to your inbox.

Subscribe on LinkedIn