About this course
Design and build scalable cloud applications by choosing the right compute, storage, networking, and managed-service patterns for each workload.
Design and build a cloud-native application with a REST API layer, durable relational storage, object storage, asynchronous worker queues, a caching layer and CDN, and complete Infrastructure-as-Code provisioning using Terraform, Helm, Ansible, and ArgoCD. Load-test the system and document scalability, reliability, and cost evidence with Prometheus and Grafana dashboards tied to defined service-level objectives.
Expected outcomes
- Design multi-region, multi-AZ cloud architectures that align service abstractions (IaaS, PaaS, FaaS, containers) with workload requirements for latency, scale, and operational burden, and correctly assign shared-responsibility boundaries across each service tier.
- Provision cloud infrastructure declaratively with Terraform, package and promote Kubernetes workloads with Helm, implement GitOps continuous delivery with ArgoCD, and automate day-2 configuration management with Ansible.
- Configure cloud and hybrid networking with tiered subnet design, private service endpoints, and transit routing; enforce identity and access control with IAM roles, federated identity (SAML/OIDC), permission boundaries, and dynamically issued secrets with automatic expiry.
- Build stateless, horizontally scalable services with externalized session state, readiness and liveness probes, and target-tracking or predictive auto-scaling policies; optimize cost with mixed on-demand and spot pools, commitment-based discounts, and mandatory resource tagging for cost attribution.
- Deploy Istio to automate mutual-TLS between services, configure traffic weight splitting for canary and blue/green releases, and enforce circuit-breaking with outlier detection to limit failure blast radius.
- Instrument production services with Prometheus and Grafana dashboards tied to SLOs, maintain the internal service catalog with Backstage, and produce load-test evidence and post-incident cost analysis to defend architecture decisions.
Key topics
- Compute options
- Cloud storage choices
- Scalable application design
- Cloud architecture patterns
Theoretical foundations
The concepts and results this course rests on.
- Cloud service models and fault domains: IaaS, PaaS, SaaS, and FaaS spectrum; region and availability-zone blast-radius isolation; geographic latency trade-offs; and multi-AZ redundancy design
- Configuration management and day-2 operations: idempotent automation playbooks, role-based task organization, dynamic inventory discovery from cloud provider APIs, and agentless remote configuration via cloud-native session management
- Service mesh data-plane and control-plane: sidecar proxy injection, xDS dynamic service discovery, automatic mutual-TLS between services, circuit-breaking with outlier detection, and traffic weight splitting for canary and blue/green releases
- Cloud compute abstraction depth: virtual machines, pod-orchestrated containers, serverless functions, and managed runtimes matched to workload latency, scale, and operational burden
- Cloud and hybrid networking: public, private, and isolated subnet tiers; stateful inspection versus stateless ACLs; centralized transit routing across networks and regions; dedicated hybrid circuits; and private service endpoints without public-IP exposure
- Cloud shared responsibility model: provider secures physical infrastructure, hypervisor, and managed services; customer owns data classification, IAM policies, OS patching, encryption key management, and network ACL configuration
- Identity, access management, and secrets: IAM roles, permission boundaries, organization-wide service control policies, federated identity (SAML/OIDC), dynamic credential issuance with automatic expiry, and envelope encryption for secrets co-located with IaC code
- Infrastructure-as-Code and GitOps delivery: declarative state management, idempotent plan-and-apply cycles, reusable module composition, multi-cluster GitOps templating, and analysis-driven canary and blue/green progressive promotion
- Stateless service design and horizontal scaling: session externalization to distributed caches, readiness and liveness probes, auto-scaling policies (target tracking, scheduled, predictive), and mixed on-demand and spot instance pools for cost efficiency
- Cloud FinOps and compute architecture optimization: commitment-based discount mechanics (reserved capacity versus on-demand versus spot), cost attribution via mandatory resource tagging and chargeback dashboards, and heterogeneous-architecture builds for compute cost savings
Prerequisites
Course-specific prerequisites:
- Operating systems and computer networks
- Software engineering and a programming language
Weekly schedule 13 weeks · lecture + practice
Students use AI assistants to compare cloud architecture options, draft architecture decision records, scaffold Terraform modules, generate Helm chart values, write Ansible playbooks, and sketch IAM role and network boundary designs. They use chat-based and editor-integrated tools to query ArgoCD sync status, inspect Kubernetes events, and propose configuration fixes via kubectl and cloud MCP servers. AI helps interpret Prometheus and Grafana output, summarizing latency percentiles, error-budget burn rates, and cost attribution data into concrete autoscaling and FinOps actions. Teams configure Istio traffic-split policies and circuit-breaker thresholds with AI assistance and use it to generate realistic load patterns for testing SLO compliance. Every generated manifest, Terraform plan, and Ansible task must be reviewed critically before apply, since a plausible but wrong IAM policy or subnet configuration can expose the system or prevent it from scaling.
Student project
Teams design and build a cloud-native application with a REST API layer, durable relational storage, object storage, asynchronous worker queues, a caching layer and CDN, and complete Infrastructure-as-Code provisioning using Terraform, Helm, Ansible, and ArgoCD. The system is load-tested and teams document scalability, reliability, and cost evidence through Prometheus dashboards and SLO metrics, defending every architecture decision across three milestone presentations.
Requirements
- Build a working system, not a set of disconnected exercises: the REST API, worker queues, relational storage, object storage, caching layer, and CDN must all integrate into one running application.
- Be original: a new system that solves a real problem, not a re-implementation of a tutorial or course demo.
- Provision all infrastructure from IaC code (Terraform modules, Helm charts, Ansible playbooks, ArgoCD applications) with no manual click-ops steps that cannot be reproduced from the repository.
- Show real depth: real data, realistic load, and engineering trade-offs that are measured rather than assumed; load-test results and cost attribution evidence are required deliverables.
- Carry one running project from architecture specification through a deployed, defensible result across the whole term.
- Work in a team of three or four and defend the design at each of the three presentations (weeks 5, 8, and 13).
Example projects
Assessment & grading
Grading is project-based, with no written exam. Teams of three or four present one running project three times.
| Component | What it covers | Weight |
|---|---|---|
| Project · Specification | Presentation 1 (week 5): problem, objectives, and architecture | 20% |
| Project · Interim | Presentation 2 (week 8): the working system demonstrated live | 30% |
| Project · Final | Presentation 3 (week 13): end-to-end demo with oral defense | 50% |
Tools & platforms
- Docker: build and run application containers with layered, reproducible images
- Kubernetes: orchestrate containerized workloads and configure autoscaling, probes, and rolling updates
- Backstage: maintain the internal developer portal and service catalog with SLO and runbook links
- Terraform: provision cloud infrastructure as code with declarative, modular, idempotent state management
- Helm: package and template Kubernetes manifests for environment-specific deployment and upgrade
- Ansible: automate day-2 configuration management with idempotent playbooks and dynamic cloud inventory
- ArgoCD: implement GitOps continuous delivery from Git to Kubernetes clusters with progressive promotion
- Istio: configure service mesh with automatic mutual-TLS, circuit-breaking, and canary traffic splitting
- Prometheus: collect cluster and application metrics for SLO monitoring and cost attribution
- Grafana: visualize metrics, build cost and SLO dashboards, and configure error-budget burn-rate alerts
Free online courses
Existing free, video-based courses this course can build on, for self-study or as a teaching basis.
- YouTubeDocker Containers and Kubernetes Fundamentals (Full Hands-On Course)
- YouTubeDocker and Kubernetes - Full Course for Beginners
In Hebrew · בעברית
Primary literature
Seminal works for advanced study.
References
Books and resources link to an online or publisher page.
- TextbookDesigning Distributed Systems, 2nd Edition: Patterns and Paradigms for Scalable, Reliable Services
- TextbookKubernetes: Up and Running, 3rd Edition
- TextbookBuilding Microservices, 2nd Edition: Designing Fine-Grained Systems
- TextbookTerraform: Up and Running, 3rd Edition: Writing Infrastructure as Code
- TextbookCloud Native Patterns: Designing Change-Tolerant Software
- TextbookDesigning Data-Intensive Applications
- DocumentationAWS Well-Architected Framework
- DocumentationAzure Architecture Center
- DocumentationGoogle Cloud Architecture Framework
- DocumentationKubernetes Documentation
- DocumentationDocker Documentation
Role in each concentration
| Concentration | Role |
|---|---|
| Intelligent Software Systems | Core · Semester 1 |
| Networking & Cyber Security | Core · Semester 1 |
| AI & Robotics | Elective |
| AI and Quantum Computing for Finance | Core · Semester 1 |
| Immersive Systems & Game Development | Core · Semester 2 |
| Defense Technologies & Autonomous Systems | Elective |