Cloud Native Development

  1. Containerization
    1. Fundamentals of Containers
      1. Containers vs. Virtual Machines
        1. Resource Utilization
          1. Isolation Mechanisms
            1. Performance Characteristics
              1. Use Case Comparison
              2. Linux Kernel Features
                1. Namespaces
                  1. Process Isolation
                    1. Network Isolation
                      1. Filesystem Isolation
                        1. User Isolation
                        2. Control Groups (cgroups)
                          1. Resource Limiting
                            1. Resource Accounting
                              1. Process Prioritization
                            2. Container Standards
                              1. The Open Container Initiative (OCI)
                                1. OCI Image Specification
                                  1. OCI Runtime Specification
                                    1. OCI Distribution Specification
                                2. Docker
                                  1. Docker Engine and Architecture
                                    1. Docker Daemon
                                      1. Docker CLI
                                        1. Container Runtime
                                          1. containerd
                                            1. runc
                                            2. Docker Images
                                              1. Image Layers
                                                1. Layer Caching
                                                  1. Layer Sharing
                                                    1. Copy-on-Write
                                                    2. The Dockerfile
                                                      1. Instructions and Syntax
                                                        1. Multi-Stage Builds
                                                          1. Build Context
                                                            1. .dockerignore
                                                            2. Best Practices for Building Images
                                                              1. Minimizing Image Size
                                                                1. Security Considerations
                                                                  1. Layer Optimization
                                                                    1. Base Image Selection
                                                                  2. Docker Containers
                                                                    1. Container Lifecycle Management
                                                                      1. Creating Containers
                                                                        1. Starting Containers
                                                                          1. Stopping Containers
                                                                            1. Removing Containers
                                                                              1. Container States
                                                                              2. Networking in Docker
                                                                                1. Bridge Networks
                                                                                  1. Host Networks
                                                                                    1. Overlay Networks
                                                                                      1. Custom Networks
                                                                                        1. Port Mapping
                                                                                        2. Volumes and Persistent Storage
                                                                                          1. Volume Types
                                                                                            1. Bind Mounts
                                                                                              1. tmpfs Mounts
                                                                                                1. Data Persistence Strategies
                                                                                              2. Docker Compose
                                                                                                1. Compose File Structure
                                                                                                  1. Service Definitions
                                                                                                    1. Networking in Compose
                                                                                                      1. Volume Management
                                                                                                        1. Environment Variables
                                                                                                          1. Multi-Environment Configurations
                                                                                                          2. Container Registries
                                                                                                            1. Docker Hub
                                                                                                              1. Private Registries
                                                                                                                1. Registry Security
                                                                                                                  1. Image Tagging and Versioning
                                                                                                                    1. Image Pull and Push Operations
                                                                                                                      1. Registry APIs
                                                                                                                    2. Alternative Container Runtimes
                                                                                                                      1. Podman
                                                                                                                        1. CRI-O
                                                                                                                          1. containerd
                                                                                                                            1. Buildah
                                                                                                                            2. Container Security
                                                                                                                              1. Image Vulnerability Scanning
                                                                                                                                1. Static Analysis
                                                                                                                                  1. Vulnerability Databases
                                                                                                                                    1. Scanning Tools
                                                                                                                                    2. Runtime Security
                                                                                                                                      1. Least Privilege Principle
                                                                                                                                        1. Seccomp Profiles
                                                                                                                                          1. AppArmor Profiles
                                                                                                                                            1. SELinux
                                                                                                                                            2. Secrets Management in Containers
                                                                                                                                              1. Environment Variables
                                                                                                                                                1. Secret Mounting
                                                                                                                                                  1. External Secret Management
                                                                                                                                                  2. Image Signing and Verification
                                                                                                                                                    1. Content Trust
                                                                                                                                                      1. Notary
                                                                                                                                                        1. Cosign