Visão Geral
Este Curso Containerization Fast Track foi desenvolvido para fornecer aos alunos o conhecimento necessário para usar uma imagem de base do Docker fornecida e recursos iniciais do Kubernetes para criar, armazenar e implantar aplicativos.
O Curso Containerization Fast Track começa com uma revisão dos conceitos e metodologias que impulsionam a adoção de aplicativos e microsserviços em contêiner. Em seguida, os alunos usarão o Docker e o Linux para entender como as imagens são criadas, funcionam e como garantir que um aplicativo/contêiner seja pequeno, seguro, robusto e autorrecuperável. O Curso Containerization Fast Track termina com a exploração de tópicos mais avançados - incluindo o objetivo e um mergulho profundo no Kubernetes.
Aprenda as habilidades necessárias para criar, armazenar e implantar contêineres usando Docker e Kubernetes.
Objetivo
Após Realizar Este Curso Containerization Fast Track você Será Capaz de:
- Evaluate the challenges of building and running distributed applications and different approaches; Monolithic vs Microservice
- Apply best practices for secure, resilient, and self-healing Docker containers that are ready for production
- Explain the Docker core components and architecture and how it integrates with Kubernetes
- Apply Kubernetes system architecture and declarative approach to services, applications, storage, and networking
- Deploy an application on Kubernetes in a local development environment, and in the cloud (AWS)
Publico Alvo
Desenvolvedores e administradores de sistemas com graus variados de exposição a conceitos como infraestrutura como código e microsserviços que buscam expandir sua compreensão da conteinerização.
Materiais
Português/Inglês + Exercícios + Lab Pratico
Conteúdo Programatico
Demystifying and Defining Distributed Systems, Cloud Native, and Infrastructure as Code
- What are microservices? What is a Monolith?
- Why does the cloud favor stateless applications for predictable and easy scaling?
- Modern approaches to application development and design principles
- What does it mean for a technology to be “cloud-native”?
- Infrastructure as code and the difference between provisioning and configuration management
- Thriving DevOps models using code reviews
Introduction to Containerization, Docker, and Linux
- What is a container and how is it different from a virtual machine?
- Container ecosystem
- Setup and manage a Docker development environment
- The Dockerfile and best practices for building Docker image
- Layers to form an image and efficient artifact storage using Docker
- Tools and techniques for troubleshooting and fixing common issues
- Linux concepts, how a running container interacts with the system, and how to inspect information about your environment.
Diving Deeper into Docker and Containers
- Beginner to advanced Docker image construction (consume, extend, custom design)
- Workflows for developing applications locally using Docker, including dependant applications such as databases
- Creating efficient, small images – Alpine Linux, Ubuntu 18.04, Debian slim, and other distributions.
- CI pipeline for building, testing and pushing Docker images to a registry
- Testing your images using scanning, security tools as a part of your CI pipeline
- Code challenge: Design a Dockerfile for a simple Python web application
- Use-cases behind volumes and managing state inside containers.
- Consequences of running as root inside a container and how to mitigate
- Docker Compose as a tool for development
- Docker and Kubernetes application bootstrapping tool and the resources it creates as a base for a new Node.js application
- Open Container Initiative, competing container runtimes, and advanced Docker concepts such as multi-stage builds
Introduction to Kubernetes and Container Orchestration
- Kubernetes overview and design principles
- What is an orchestrator? What is a scheduler? Why are they needed?
- Kubernetes systems architecture and core components
- What is a Kubernetes resource/manifest? How Kubernetes manages the application state.
- Challenges of managing distributed applications and how Kubernetes tries to address these challenges, e.g. modern DNS, service discovery through the Kube-proxy, and dynamic container networking configuration
- Kubernetes Pods, probes, configuration and design patterns for multi-container pods
- How can ConfigMaps be used instead of standard environment variables in the Pod definition for providing runtime configuration?
- How Secrets provides access to sensitive information for Pods
Diving Deeper into Kubernetes
- Kubernetes services, service types and internal (cluster) vs. external access considerations
- Deploying and scaling Pods using the Deployment resource
- Options for routing external traffic
- The Ingress Controller and more full-featured alternatives (Envoy, Istio, Traefik, etc)
- Deployment strategies and how to achieve either rolling or blue/green deployments
- Creating canary pods for testing and verification in production.
- Alternate pod deployments with Jobs, Cron Jobs and DaemonSets
TENHO INTERESSE