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 Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Ansible Overview of Ansible architecture

16h

Curso Data Governance Engineering

24 horas

Curso ISO/IEC 20000-1 Certification Service Management

24 horas

Curso Automotive Cloud and Connected Vehicle Security

24 horas

Curso FinOps for AI Practitioners

16 horas