Cloud Application Development

  1. Core Development and Deployment Technologies
    1. Containerization
      1. Introduction to Containers
        1. Container Concepts
          1. Containers vs. Virtual Machines
            1. Container Runtime
            2. Docker
              1. Docker Architecture
                1. Dockerfiles
                  1. Syntax and Structure
                    1. Multi-stage Builds
                      1. Best Practices
                      2. Docker Images and Registries
                        1. Building Images
                          1. Image Layers
                            1. Registry Management
                            2. Docker Compose
                              1. Service Definition
                                1. Networking
                                  1. Volume Management
                                2. Container Security
                                  1. Image Scanning
                                    1. Runtime Security
                                      1. Least Privilege Principles
                                      2. Alternative Container Technologies
                                        1. Podman
                                          1. containerd
                                            1. CRI-O
                                          2. Container Orchestration
                                            1. Introduction to Orchestration
                                              1. Need for Orchestration
                                                1. Orchestration vs. Configuration Management
                                                2. Kubernetes (K8s)
                                                  1. Kubernetes Architecture
                                                    1. Master Components
                                                      1. Node Components
                                                        1. etcd
                                                        2. Core Concepts
                                                          1. Pods
                                                            1. Services
                                                              1. Deployments
                                                                1. ReplicaSets
                                                                  1. ConfigMaps
                                                                    1. Secrets
                                                                    2. Workload Resources
                                                                      1. DaemonSets
                                                                        1. StatefulSets
                                                                          1. Jobs
                                                                            1. CronJobs
                                                                            2. Configuration and Manifests
                                                                              1. YAML Structure
                                                                                1. Resource Definitions
                                                                                  1. Best Practices
                                                                                  2. Networking in Kubernetes
                                                                                    1. Service Discovery
                                                                                      1. Ingress Controllers
                                                                                        1. Network Policies
                                                                                        2. Storage in Kubernetes
                                                                                          1. Persistent Volumes
                                                                                            1. Persistent Volume Claims
                                                                                              1. Storage Classes
                                                                                              2. Helm for Package Management
                                                                                                1. Helm Charts
                                                                                                  1. Chart Repositories
                                                                                                    1. Templating
                                                                                                  2. Alternative Orchestration Platforms
                                                                                                    1. Docker Swarm
                                                                                                      1. Apache Mesos
                                                                                                        1. Nomad
                                                                                                      2. Infrastructure as Code (IaC)
                                                                                                        1. Principles of IaC
                                                                                                          1. Version Control for Infrastructure
                                                                                                            1. Reproducibility
                                                                                                              1. Idempotency
                                                                                                              2. Declarative vs. Imperative Approaches
                                                                                                                1. Declarative Benefits
                                                                                                                  1. Imperative Use Cases
                                                                                                                  2. Common IaC Tools
                                                                                                                    1. Terraform
                                                                                                                      1. HCL Syntax
                                                                                                                        1. Providers and Modules
                                                                                                                          1. State Management
                                                                                                                            1. Workspaces
                                                                                                                            2. AWS CloudFormation
                                                                                                                              1. Templates and Stacks
                                                                                                                                1. Nested Stacks
                                                                                                                                  1. Change Sets
                                                                                                                                  2. Azure Resource Manager Templates
                                                                                                                                    1. Template Structure
                                                                                                                                      1. Linked Templates
                                                                                                                                      2. Google Cloud Deployment Manager
                                                                                                                                        1. Configuration Files
                                                                                                                                          1. Templates
                                                                                                                                        2. Configuration Management
                                                                                                                                          1. Ansible
                                                                                                                                            1. Chef
                                                                                                                                              1. Puppet
                                                                                                                                                1. SaltStack