Curso Serverless and Event-Driven Applications with Knative

  • DevOps | CI | CD | Kubernetes | Web3

Curso Serverless and Event-Driven Applications with Knative

32 horas
Visão Geral

Curso Serverless and Event-Driven Applications with Knative: Este curso intensivo foi desenvolvido para capacitar desenvolvedores, arquitetos e engenheiros de operações a construir e gerenciar aplicações serverless e orientadas a eventos utilizando Knative em clusters Kubernetes. Os participantes aprenderão os fundamentos das arquiteturas serverless e event-driven, os componentes essenciais do Knative (Serving e Eventing), e como implantar, escalar e orquestrar fluxos de eventos complexos, aproveitando todo o poder da plataforma Kubernetes.

Objetivo

Ao final deste Curso Serverless and Event-Driven Applications with Knative, os participantes serão capazes de:

  • Compreender os princípios e benefícios das arquiteturas serverless e event-driven.
  • Descrever os componentes e a arquitetura do Knative (Serving e Eventing).
  • Implantar e gerenciar serviços Knative (Knative Serving), incluindo autoscaling (scale-to-zero), gerenciamento de tráfego e revisões.
  • Implementar padrões avançados de deployment, como blue/green e canary releases, usando Knative Serving.
  • Construir e orquestrar fluxos de eventos com Knative Eventing, utilizando fontes de eventos (event sources), brokers e triggers.
  • Integrar Knative Eventing com diferentes sistemas de mensageria e fontes de eventos externas.
  • Desenvolver aplicações serverless para Knative em diversas linguagens de programação.
  • Monitorar, fazer troubleshooting e aplicar melhores práticas em ambientes Knative.
  • Projetar soluções serverless e event-driven resilientes e escaláveis com Knative.
Publico Alvo
  • Desenvolvedores de Software
  • Arquitetos de Soluções
  • Engenheiros de DevOps / SRE (Site Reliability Engineers)
  • Administradores de Kubernetes
  • Profissionais que buscam modernizar aplicações e explorar o paradigma serverless.
Pre-Requisitos
  • Conhecimento sólido de conceitos de Kubernetes (pods, deployments, services, namespaces, etc.).
  • Familiaridade com contêineres e Docker.
  • Conhecimento básico de Git e linha de comando Linux/Unix.
  • Experiência em alguma linguagem de programação (ex: Python, Node.js, Go, Java).
  • (Opcional, mas recomendado) Familiaridade com conceitos de mensageria (Kafka, RabbitMQ, etc.).
Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico

Módulo 1: Introdução ao Serverless e Arquiteturas Orientadas a Eventos

  1. O que é Serverless? Conceitos e evolução.
  2. Vantagens e desvantagens do paradigma serverless.
  3. Entendendo Aplicações Orientadas a Eventos (Event-Driven Architectures - EDA).
  4. Benefícios da EDA: desacoplamento, escalabilidade, resiliência.
  5. Desafios da EDA.
  6. Cenários de uso para serverless e EDA.

Módulo 2: Introdução ao Knative

  1. O que é Knative? Histórico e propósito.
  2. Knative como uma plataforma para construir, implantar e gerenciar cargas de trabalho serverless no Kubernetes.
  3. Componentes principais do Knative: Serving, Eventing, (e Build, se ainda relevante na versão abordada).
  4. Knative e sua relação com Kubernetes: estendendo a plataforma.
  5. Visão geral da instalação do Knative (cluster e pré-requisitos).

Módulo 3: Knative Serving - Deploying e Gerenciando Serviços

  1. Entendendo o Service do Knative (Knative Service).
  2. Implantação de uma aplicação serverless simples.
  3. Autoscaling inteligente: escala horizontal e escala-para-zero (scale-to-zero).
  4. Gerenciamento de revisões (Revisions): controle de versões de serviços.
  5. Roteamento de tráfego (Traffic Management): direcionando tráfego para revisões específicas.
  6. Atualizações e rollbacks de serviços.
  7. Monitoramento básico de serviços Knative.

Módulo 4: Knative Serving - Gerenciamento Avançado de Tráfego

  1. Deployments Blue/Green: Estratégias de lançamento sem downtime.
  2. Canary Releases: Lançamento gradual para um subconjunto de usuários.
  3. Rollbacks de tráfego instantâneos.
  4. Mapeamento de domínio personalizado (Custom Domains).
  5. Considerações de desempenho e latência.

Módulo 5: Knative Eventing - Conceitos Essenciais

  1. O que é Knative Eventing? A espinha dorsal das aplicações orientadas a eventos.
  2. Componentes do Eventing: Broker, Trigger, Source, Sink.
  3. O fluxo de eventos no Knative Eventing.
  4. Tipos de Broker (in-memory, Kafka, GCP Pub/Sub, etc.).
  5. Entendendo CloudEvents - o formato padrão de eventos.
  6. Criando um Broker e um Trigger simples.

Módulo 6: Knative Eventing - Fontes de Eventos (Event Sources) Nativas e Comuns

  1. KubernetesSource: Capturando eventos do cluster Kubernetes.
  2. CronJobSource: Agendando a geração de eventos.
  3. ApiServerSource: Monitorando recursos específicos do Kubernetes.
  4. KafkaSource: Integrando com Apache Kafka como fonte de eventos.
  5. PingSource: Eventos baseados em cron.
  6. Exemplos práticos de configuração e uso de diferentes Event Sources.

Módulo 7: Knative Eventing - Fontes de Eventos e Sinks Personalizados

  1. Criando Event Sources personalizados para integrar com sistemas externos.
  2. Implementando Sinks personalizados para consumir eventos e interagir com outras plataformas.
  3. Conectando aplicações serverless a fontes de eventos externas.
  4. Desenvolvendo Service como Sink para processar eventos.
  5. Considerações de segurança ao integrar fontes e sinks externos.

Módulo 8: Desenvolvimento de Aplicações Serverless para Knative

  1. Padrões de desenvolvimento para Knative.
  2. Escrevendo código para serviços Knative (ex: Python, Node.js, Go, Java).
  3. Estratégias de build: Buildpacks (para inferência de runtime), Dockerfile personalizado.
  4. CI/CD com Knative (conceitos de integração).
  5. Tratamento de estado e persistência em aplicações serverless.

Módulo 9: Monitoramento e Observabilidade em Knative

  1. Coleta de logs com Fluentd/Loki.
  2. Métricas com Prometheus e Grafana.
  3. Rastreamento distribuído com Jaeger/OpenTelemetry.
  4. Ferramentas e dashboards para monitorar o desempenho e a saúde dos serviços Knative.
  5. Estratégias de troubleshooting em ambientes serverless.

Módulo 10: Segurança em Aplicações Knative

  1. Controle de Acesso Baseado em Função (RBAC) no Kubernetes e Knative.
  2. Gerenciamento de segredos (Secrets) e configuração (ConfigMaps).
  3. Políticas de rede (Network Policies) para controlar o tráfego entre serviços.
  4. Imagem de contêineres seguras e varredura de vulnerabilidades.

Módulo 11: Melhores Práticas e Casos de Uso com Knative

  1. Quando usar Knative: serverless para contêineres.
  2. Otimização de custos e desempenho.
  3. Padrões comuns de design serverless e event-driven.
  4. Exemplos de arquiteturas de referência com Knative.
  5. Desafios e limitações.

Módulo 12: Projeto Prático Final

  1. Desafio de construir uma aplicação serverless e orientada a eventos completa usando Knative Serving e Eventing.
  2. Os alunos irão projetar, implementar e implantar uma solução que utilize múltiplos componentes do Knative.
  3. Apresentação e discussão dos projetos.
TENHO INTERESSE

Cursos Relacionados

Curso Ansible Red Hat Basics Automation Technical Foundation

16 horas

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Curso Ansible Linux Automation with Ansible

24 horas

Ansible Overview of Ansible architecture

16h

Advanced Automation: Ansible Best Practices

32h