Jeffrey Richter's free 6.5 hour technology-agnostic video course "Architecting Distributed Cloud Applications" (2017) has well-structured, well-explained and high quality material spanning 53 videos.
2 1.1.a- Distributed Cloud Apps--Fundamentals--Why Cloud Apps?
3 1.1.b-Distributed Cloud Apps--Fundamentals--Embracing Failure
4 1.1.c-Distributed Cloud Apps--Fundamentals--Orchestrators (?aaS) and Clusters - video explains what an orchestrator is and how it manages a cluster of machines. Specifically, an orchestrator manages the machines' life-cycle, networking, health, upgrades, scaling, and the deploying/running of your service's code.
Mesos, Kubernetes, AWS Lambda, Azure Functions, Azure Container Service, and Azure Service Fabricare all examples of orchestrators.
Azure Functions (the service) as an orchestrator - You upload your code (function) to it and it manages the VMS/Containers running your code and it manages the scale out/in and health of your function code. The function you write is not an orchestrator but where/how it runs is managed by the Azure Functions service.
6 1.2.a-Distributed Cloud Apps--Microservices--Applications consist of many (micro)services
7 1.2.b-Distributed Cloud Apps--Microservices--Reasons to split a monolithic app into microservices
8 1.2.c-Distributed Cloud Apps--Microservices--Composing SLAs for dependent services
9 1.2.d-Distributed Cloud Apps--Microservices--Auto-Scaling a Service's Instances
10 1.2.e-Distributed Cloud Apps--Microservices--12-Factor Services (Apps)
11 1.3.a-Distributed Cloud Apps--Containers--Container images & containers
12 1.3.b-Distributed Cloud Apps--Containers--Isolation versus Density
13 1.3.c-Distributed Cloud Apps--Containers--OS kernel & container images
14 1.3.d-Distributed Cloud Apps--Containers--Orchestrator starts containers on cluster's PCs/VMs
15 1.3.e-Distributed Cloud Apps--Containers--Continuous Integration and Continuous Delivery/Deployment
16 2.1.a-Networking--Fundamentals--Fallacies of distributed computing
17 2.1.b-Networking--Fundamentals--Service endpoints, scalability & availability
18 2.1.c-Networking--Fundamentals--Forward and Reverse Proxies
19 2.1.d-Networking--Fundamentals--Cluster DNS & service reverse proxy
20 2.1.e-Networking--Fundamentals--Reverse proxy load balancer service probes
21 2.2.a-Networking--Service APIs--Turning a monolith into a microservice
22 2.2.b-Networking--Service APIs--API versioning
23 2.2.c-Networking--Service APIs--Defining Network API Contracts
24 2.2.d-Networking--Service APIs--Beware leaky RPC-like abstractions
25 2.3.a-Networking--Fault-Tolerance--Exactly once semantics via retries & idempotency
26 3.1.a-Messaging--Fundamentals--The benefits of messaging communication
27 3.1.b-Messaging--Fundamentals--Messaging with queues
28 3.1.c-Messaging--Fundamentals--Fault-Tolerant message processing
29 3.1.d-Messaging--Fundamentals--Additional queue features
30 4.1.a-Service upgrade & Config--Versioning code--Service update options
31 4.1.b-Service upgrade & Config--Versioning code--Rolling update: how to version APIs
32 4.2.a-Service upgrade & Config--Shutdown & reconfigure--Gracefully shutting down a service instance
33 4.2.b-Service upgrade & Config--Shutdown & reconfigure--
34 5.1.a-Leader Election--Fundamentals--What is leader election?
35 5.1.b-Leader Election--Fundamentals--Leader election via a lease
36 5.1.c-Leader Election--Fundamentals--Leader election via a queue message
37 6.1.a-Data Storage--Fundamentals--Data storage service considerations
38 6.1.b-Data Storage--Fundamentals--Data temperature
39 6.1.c-Data Storage--Fundamentals--Using a cache to improve performance
40 6.2.a-Data Storage--Object (blob) storage services--Object (blob) storage services & using a CDN
41 6.3.a-Data Storage--Database storage services--Relational & Non-relational database storage services
42 6.3.b-Data Storage--Database storage services--Data partitioning and replicas
43 6.4.a-Data Storage--Data Consistency--Data Consistency
44 6.4.b-Data Storage--Data Consistency--CQRS
45 6.4.c-Data Storage--Data Consistency--Event sourcing
46 6.4.d-Data Storage--Data Consistency--Implementing eventual consistency
47 6.4.e-Data Storage--Data Consistency--The Saga Pattern
48 6.4.f-Data Storage--Data Consistency--Concurrency control
49 6.4.g-Data Storage--Data Consistency--Optimistic Concurrency
50 6.5.a-Data Storage--Versioning Schemas--Versioning Data schemas
51 6.6.a-Data Storage--Backup & Disaster Recovery--Backup & restore
52 6.6.b-Data Storage--Backup & Disaster Recovery--Recovery point & time objectives (RPO & RTO)
0 Comments