Aprenda a desenvolver aplicações de grande porte e construa um perfil insubstituível na era da IA.

Esteja preparado para os novos desafios do mercado.

Laboratórios Práticos com IA

Desafios Técnicos

Trilhas de Aprendizado

Correções Individualizadas

Aprenda na prática com:

Laboratórios Práticos com IA

Desafios Técnicos

Trilhas de Aprendizado

Correções Individualizadas

Solicitar contato

Interessado no curso Full Cycle? Solicite agora um contato de nossa equipe.

Solicitar Contato

Seja um desenvolvedor insubstituível na era da IA

A IA já está transformando o mercado de desenvolvimento de software e quem não se adaptar ficará para trás. Escrever código não é mais o suficiente. O que realmente faz a diferença é ter conhecimentos sólidos e a capacidade de desenvolver soluções complexas utilizando IA do jeito certo para entregar mais rápido e com qualidade.

Código gerado por IA
Empresas estão contratando devs que conheçam todo o ciclo de desenvolvimento das aplicações e que dominem a IA.
Código gerado por IA
O código de baixa qualidade gerado por IA é resultado da falta de conhecimento sólido dos devs.
Código gerado por IA
No Full Cycle 4.0 você aprende a dominar conceitos técnicos e IA para criar projetos de alto nível.
Código gerado por IA
Construir um perfil insubstituível é possuir conceitos sólidos, dominar tecnologias, utilizando IA do jeito certo.

Soluções geradas com IA dependem de conhecimentos sólidos

A qualidade de um software gerado por IA depende diretamente do conhecimento do desenvolvedor. Para desenvolver aplicações de grande porte, é essencial dominar profundamente conceitos técnicos, diversas tecnologias e também a criação de prompts precisos.

Ícone do item
Código gerado por IA Código gerado por IA

Pilares do Full Cycle 4.0

O curso Full Cycle 4.0 reúne pilares essenciais para que você domine as habilidades que as grandes empresas exigem. Construa aplicações de grande porte e esteja preparado para enfrentar os desafios do mercado.

Desenvolvimento e Arquitetura de Software

Desenvolvimento e Arquitetura de Software

Domine desenvolvimento e arquitetura de software aplicando boas práticas para criar sistemas escaláveis, performáticos e de fácil manutenção, explorando múltiplos estilos arquiteturais.

IA na Prática

IA na Prática

Laboratórios práticos que colocam você frente a frente com as situações reais do mercado através de estudos de caso para ampliar suas habilidades. Cases práticos, Master Class Técnica, Prompt Inteligente e IA com boas práticas.

Banco de dados

Banco de dados

Aprofunde-se nos bancos de dados mais usados no mercado, explorando práticas essenciais para o desenvolvimento de aplicações de alta performance, seguras e prontas para escalar.

Segurança

Segurança

Desenvolva aplicações seguras e confiáveis, aplicando boas práticas de segurança para minimizar erros, reduzir riscos e garantir qualidade em cada etapa do desenvolvimento até a entrega.

DevOps e SRE

DevOps e SRE

Aplique práticas de DevOps e SRE para automatizar processos, implementar observabilidade, realizar deploys de forma contínua e aumentar a resiliência e confiabilidade de sistemas críticos.

Pilares do curso
Icone

Laboratórios Práticos: Estudos de caso resolvidos com IA

Os Laboratórios Práticos do Full Cycle 4.0 colocam você frente a frente com situações reais do mercado através de estudos de caso para ampliar suas habilidades. Coloque seus conhecimentos em prática e aprofunde-se em cada tema, integrando o aprendizado ao seu dia a dia.

Cases práticos

Veja na prática a resolução do case utilizando IA utilizando as melhores práticas de desenvolvimento

Prompt inteligente

Aprenda a criar um prompt técnico e específico para garantir alta qualidade no código que será gerado pela IA

IA com boas práticas

Aprenda com estudos de casos práticos encontrados no mundo real

Aula Avançada

Tenha uma Aula Avançada com grande profundidade técnica para resolução adequada do estudo de caso

Icone

Trilhas de Estudo

Utilize trilhas de estudo para dominar cada um dos pilares do Full Cycle 4.0 de forma estruturada e prática. Cada trilha oferece cursos e atividades organizadas em uma sequência lógica. Ganhe clareza em cada assunto e aplique as habilidades desenvolvidas de forma imediata, onde quer que você esteja.

Trilhas de Estudo
Seta
<span style="color: #8EB9EC;">Arquitetura e Desenvolvimento</span>

Arquitetura e Desenvolvimento

Docker e Containers

Docker e Containers

Cursos da trilha

Docker na prática

Docker na prática

Este curso prático ensina a utilizar o Docker para criar, gerenciar e otimizar containers e aplicações multicontainer. Desde os fundamentos da arquitetura do Docker até a utilização de Docker Compose e integração com registries, o curso oferece uma abordagem prática, capacitando os alunos a implementar e gerenciar containers em cenários reais.

Ver mais

Descrição do Curso:

Este curso prático ensina a utilizar o Docker para criar, gerenciar e otimizar containers e aplicações multicontainer. Desde os fundamentos da arquitetura do Docker até a utilização de Docker Compose e integração com registries, o curso oferece uma abordagem prática, capacitando os alunos a implementar e gerenciar containers em cenários reais.


Principais Tópicos:

  1. Fundamentos e Configuração do Docker: Conceitos básicos e arquitetura do Docker, incluindo as diferenças entre Docker CE e Docker Desktop, instalação e configuração para uso em ambiente local. Principais comandos para gerenciamento de containers, execução e manipulação de imagens, além da criação e otimização de Dockerfiles.
  2. Imagens e Build de Containers: Criação e gerenciamento de imagens, introdução ao Dockerfile e uso de Buildx para builders personalizados. Abordagem prática do Multistage Build para melhorar a segurança e reduzir o tamanho das imagens, com exemplos de otimização de builds.
  3. Volumes, Redes e Persistência de Dados: Explicação sobre Volumes e Bind Mounts para persistência de dados, tipos de redes no Docker e como configurar comunicação entre containers em um ambiente seguro e eficiente.
  4. Docker Compose e Orquestração Local: Fundamentos do Docker Compose, criação de serviços multicontainer e configuração de variáveis de ambiente. Explicação de comandos como depends_on e health check, integração de redes e volumes entre containers, e uso de múltiplos arquivos de configuração para ambientes de desenvolvimento e produção.
  5. Publicação e Gerenciamento de Imagens em Registries: Introdução ao Docker Hub e a container registries, com exemplos práticos de publicação e gerenciamento de imagens e tags para compartilhamento e distribuição de aplicações.
  6. Recursos e Ferramentas Adicionais no Docker Desktop: Gerenciamento e criação de containers e builds diretamente pelo Docker Desktop, introdução ao Docker Scout para análise de segurança, uso de extensões e gerenciamento de recursos de sistema. Explicação sobre compartilhamento de arquivos sincronizados (Synchronized File Shares) e habilitação do Kubernetes para orquestração.

Habilidades adquiridas:

Após este curso, você será capaz de utilizar o Docker para gerenciar containers, configurar ambientes multicontainer com Docker Compose, publicar e compartilhar imagens em registries e aplicar técnicas de build e otimização de imagens. Além disso, você aprenderá a utilizar recursos avançados do Docker Desktop para segurança e integração com Kubernetes, fortalecendo suas habilidades em containerização e deploy de aplicações.

Docker para desenvolvimento

Docker para desenvolvimento

Aprenda a configurar ambientes Docker eficientes para desenvolvimento, otimizando a produtividade e garantindo portabilidade nos projetos.

Ver mais

Descrição do curso:

Aprenda a configurar ambientes Docker eficientes para desenvolvimento, otimizando a produtividade e garantindo portabilidade nos projetos.


Principais Tópicos:

  1. Montagem de Dockerfile e Docker Compose: Crie e configure imagens e serviços Docker com Docker Compose para ambientes de desenvolvimento consistentes.
  2. Docker Compose Avançado: Utilize include, extends, profiles, watch e project name para modularizar e organizar composições Docker.
  3. Docker no VSCode com DevContainer: Configure ambientes de desenvolvimento dedicados no VSCode usando DevContainer para mais produtividade.
  4. Docker em outras IDEs: Integre Docker com outras IDEs, adaptando-se ao seu ambiente de preferência.
  5. Redes entre containers e host.docker.internal: Conecte containers e crie redes que facilitam a comunicação entre serviços no ambiente local.
  6. Boas práticas no uso de Docker: Aplique comandos e configurações de Docker que otimizam o desenvolvimento e evitam erros comuns.

Habilidades adquiridas:

Ao final do curso, você será capaz de configurar e gerenciar ambientes de desenvolvimento com Docker e Docker Compose, conectando diferentes serviços de forma prática e eficiente em qualquer IDE.

Docker para produção

Docker para produção

Aprenda a configurar e otimizar Docker para ambientes de produção, focando em segurança e eficiência no uso de imagens e containers.

Ver mais

Descrição do Curso:

Aprenda a configurar e otimizar Docker para ambientes de produção, focando em segurança e eficiência no uso de imagens e containers.


Principais Tópicos:

  1. Otimização de Imagens Docker: Técnicas para reduzir o tamanho e melhorar a performance das imagens em produção.
  2. Segurança em Docker: Práticas de segurança para proteger containers, incluindo rootless containers e uso de usuários não-root.
  3. Docker Compose para Produção: Configuração de serviços multi-containers para produção com volumes e redes compartilhadas.
  4. Docker Scout: Ferramenta para análise de vulnerabilidades e práticas de segurança em imagens Docker.
  5. SBOM, Image Attestation e Assinatura de Imagens: Implementação de SBOM (Software Bill of Materials), verificação de autenticidade e integridade de imagens em ambientes de produção.

Habilidades adquiridas:

Configurar imagens e containers otimizados para produção, garantir a segurança dos seus deploys com Docker e utilizar o Docker Compose e Docker Scout para uma gestão eficiente e segura de aplicações multi-containers em produção.

Containers Deep Dive

Containers Deep Dive

Explore containers a fundo, entendendo seu funcionamento interno e técnicas avançadas de isolamento e controle de recursos.

Ver mais

Descrição do Curso:

Explore containers a fundo, entendendo seu funcionamento interno e técnicas avançadas de isolamento e controle de recursos.


Principais Tópicos:

  1. O que são containers: Introdução ao conceito de containers e seus benefícios.
  2. Namespaces e isolamento de recursos na prática: Como os namespaces garantem isolamento e segurança entre processos.
  3. Cgroups e controle de recursos: Limitação e controle do uso de CPU, memória e outras métricas com cgroups.
  4. Criação de um container de forma manual: Passo a passo para criar um container sem ferramentas automatizadas.
  5. Containers Runtimes:
    1. LXC: Primeiro runtime de containers em Linux, fornece isolamento básico.
    2. Docker: O runtime mais usado, com amplo suporte e facilidade de uso.
    3. rkt (Rocket): Alternativa segura e com foco em Kubernetes.
    4. CRI-O: Otimizado para rodar containers em Kubernetes.
    5. Podman: Runtime sem daemon, ideal para desenvolvimento seguro.
  6. Open Container Initiative (OCI): Padrões abertos que garantem a interoperabilidade entre containers.
  7. Containerd e runc na prática sem utilização do Docker: Uso prático de runtimes diretos para maior controle e personalização.
  8. Sistema de arquivos tmpfs, proc, sysfs, mqueue, debugfs, cgroups: Visão dos sistemas de arquivos essenciais para containers.

Habilidades adquiridas:

Entender o funcionamento detalhado dos containers, configurar runtimes e sistemas de isolamento de forma manual, e utilizar recursos avançados de controle para otimizar e manter ambientes seguros e eficientes.

APIs: Design, REST, gRPC e API Gateway

APIs: Design, REST, gRPC e API Gateway

Cursos da trilha

REST e Níveis de Maturidade na prática

REST e Níveis de Maturidade na prática

Domine os fundamentos e práticas avançadas de REST, explorando os níveis de maturidade de Richardson para criar APIs escaláveis, bem documentadas e alinhadas aos padrões mais eficientes de desenvolvimento web.

Ver mais

Descrição do Curso:

Domine os fundamentos e práticas avançadas de REST, explorando os níveis de maturidade de Richardson para criar APIs escaláveis, bem documentadas e alinhadas aos padrões mais eficientes de desenvolvimento web.


Principais Tópicos:

  1. Introdução ao REST: Compreenda o conceito de REST, sua importância e como ele influencia o desenvolvimento de APIs web.
  2. Níveis de Maturidade de Richardson: Conheça os níveis de maturidade de uma API RESTful e o que caracteriza cada estágio, de endpoints básicos a APIs completas com HATEOAS.
  3. Métodos HTTP: Estude os principais métodos HTTP (GET, POST, PUT, DELETE) e suas funções no ciclo de vida de uma API.
  4. HATEOAS (Hypermedia as the Engine of Application State): Entenda como hiperlinks permitem que APIs REST evoluam com base nas ações possíveis, sem necessidade de alterar o cliente.
  5. Gerenciamento de Erros e Status Codes: Configure corretamente os códigos de status e mensagens de erro para uma comunicação clara e eficiente com os clientes da API.
  6. Controle de Cache em APIs REST: Explore estratégias de cache para otimizar o desempenho da API, incluindo configurações de headers para controle de tempo de expiração e validação de cache.
  7. Content Negotiation e Headers HTTP: Aprenda a negociar o formato de resposta (JSON, XML, etc.) e use headers HTTP para comunicar informações essenciais entre cliente e servidor.

Habilidades adquiridas:

Ao final do curso, o aluno será capaz de desenvolver e estruturar APIs RESTful de forma profissional, utilizando níveis de maturidade de Richardson, métodos HTTP, controle de cache, negociação de conteúdo, além de técnicas avançadas de tratamento de erros e status codes, garantindo APIs escaláveis e seguras.

gRPC

gRPC

Aprenda a utilizar o gRPC para construir serviços de comunicação de alta performance em sistemas distribuídos, explorando conceitos como streaming bidirecional, interceptação de requisições e tratamento de erros, além de práticas de segurança e resiliência para aplicações robustas e escaláveis.

Ver mais

Descrição do Curso:

Aprenda a utilizar o gRPC para construir serviços de comunicação de alta performance em sistemas distribuídos, explorando conceitos como streaming bidirecional, interceptação de requisições e tratamento de erros, além de práticas de segurança e resiliência para aplicações robustas e escaláveis.


Principais Tópicos:

  1. Introdução ao gRPC: Conceitos fundamentais e a arquitetura do gRPC, explicando como ele otimiza comunicações entre serviços.
  2. Protocol Buffers: Conheça o uso de Protocol Buffers como Interface Definition Language (IDL), permitindo a estruturação eficiente de dados para gRPC.
  3. Streaming com gRPC: Explore a implementação de streaming de dados e comunicação bidirecional, fundamentais para o uso avançado de gRPC.
  4. Performance Comparisons: Compreenda as diferenças de performance entre gRPC e REST, destacando vantagens e limitações de cada abordagem.
  5. Gerenciamento de Erros e Exceções em gRPC: Aprenda a configurar e lidar com erros e exceções de maneira adequada, usando códigos de status gRPC para fornecer feedback detalhado.
  6. Interceptors e Intercepção de Requisições: Utilize interceptors para aplicar lógica comum em chamadas gRPC, como logging, monitoramento e modificações de requisição e resposta.
  7. Deadline e Timeout em gRPC: Aprenda a configurar deadlines e timeouts para controlar o tempo máximo de execução das chamadas gRPC, evitando processos longos e melhorando a resiliência dos serviços.

Habilidades adquiridas:

Ao final do curso, o aluno será capaz de implementar serviços de comunicação usando gRPC, definir dados com Protocol Buffers, realizar streaming bidirecional, configurar balanceamento de carga, usar interceptors, lidar com erros e otimizar o desempenho para aplicações robustas e escaláveis.

Design de APIs

Design de APIs

Domine os princípios de design de APIs robustas e escaláveis, com ênfase em boas práticas de proteção e documentação.

Ver mais

Descrição do Curso:

Domine os princípios de design de APIs robustas e escaláveis, com ênfase em boas práticas de proteção e documentação.


Principais Tópicos:

  1. Documentação: Aprenda a criar uma documentação clara e precisa, facilitando o entendimento e uso da API por desenvolvedores utilizando Swagger, OpenAPI, RAML.
  2. Padrões de proteção: Estratégias para garantir a integridade e estabilidade das APIs, incluindo:
    1. Rate Limiting: Controle de tráfego para evitar sobrecarga e proteger os recursos.
    2. Throttling: Regulação do fluxo de requisições, mantendo o uso da API dentro de limites seguros.
    3. Timeout e Retry: Implementação de limites de tempo e tentativas para lidar com falhas temporárias.
    4. Circuit Break: Estrutura que interrompe requisições a sistemas instáveis, garantindo resiliência.
  3. Versionamento: Técnicas para versionar APIs, mantendo compatibilidade com versões antigas enquanto se introduzem novas funcionalidades.
  4. Depreciação de Endpoints: Estratégias para desativar endpoints obsoletos sem impactar os clientes, mantendo a flexibilidade e evolução contínua da API.
  5. Gerenciamento de Erros e Status Codes: Configuração de códigos de status HTTP e mensagens de erro padronizadas para uma comunicação clara e eficiente entre o servidor e o cliente.
  6. Paginação e Limitação de Resultados: Implementação de paginação para otimizar o desempenho e a velocidade da API, limitando o volume de dados transferidos em respostas de alto volume.

Habilidades adquiridas:

Ao final do curso, o aluno será capaz de projetar APIs com documentação clara, implementar padrões de proteção avançados, versionamento, paginação. Além disso, aprenderá a estruturar respostas personalizadas para melhor atender diferentes tipos de clientes e a gerenciar a evolução e depreciação de endpoints de maneira contínua e organizada.

API Gateway

API Gateway

Aprenda a configurar e gerenciar um API Gateway para otimizar a segurança, desempenho e eficiência de APIs em arquiteturas de microsserviços, explorando práticas de roteamento, caching, controle de tráfego e tratamento de erros para uma infraestrutura escalável e robusta.

Ver mais

Descrição do Curso:

Aprenda a configurar e gerenciar um API Gateway para otimizar a segurança, desempenho e eficiência de APIs em arquiteturas de microsserviços, explorando práticas de roteamento, caching, controle de tráfego e tratamento de erros para uma infraestrutura escalável e robusta.


Principais Tópicos:

  1. Introdução ao API Gateway: Descubra o papel essencial do API Gateway em microsserviços e os benefícios que ele traz para a arquitetura.
  2. Implementação de API Gateway: Aprenda a configurar e implementar um API Gateway com o Kong. Conheça outras ferramentas amplamente utilizadas, KrakenD, APISIX, AWS API Gateway, etc.
  3. Roteamento e Load Balancing: Utilize o API Gateway para roteamento inteligente e balanceamento de carga, melhorando a distribuição de requisições entre serviços.
  4. Autenticação e Autorização: Integre mecanismos de segurança, incluindo autenticação e autorização, diretamente no API Gateway para controle de acesso.
  5. Rate Limiting e Monitoramento: Configure políticas de rate limiting para evitar sobrecarga e utilize monitoramento para acompanhar o tráfego e desempenho da API.
  6. Caching: Explore técnicas de cache no nível do Gateway para reduzir a carga dos serviços e melhorar o tempo de resposta, armazenando temporariamente respostas a requisições repetidas.
  7. Gerenciamento de Erros e Tratamento de Exceções: Implemente estratégias para capturar e tratar erros no Gateway, fornecendo feedback útil ao cliente e mantendo a integridade da arquitetura.
  8. Plugins do Kong: Use plugins para estender funcionalidades do Kong Gateway, incluindo autenticação, cors, bot detection, ip restriction, acl, http log, transformação de requests e response, adicionando flexibilidade e customização ao controle de API.

Habilidades adquiridas:

Ao concluir o curso, o aluno será capaz de implementar e gerenciar um API Gateway com práticas avançadas, incluindo roteamento e balanceamento de carga, transformação de requisições e respostas, autenticação e autorização, caching, controle de tráfego com rate limiting, e tratamento de erros para garantir uma infraestrutura robusta e escalável para APIs.

Testes Automatizados

Testes Automatizados

Cursos da trilha

TDD - Test Driven Development

TDD - Test Driven Development

Aprenda a implementar o desenvolvimento orientado a testes (TDD) para criar código confiável, sustentável e de alta qualidade desde o início, aplicando práticas como a pirâmide de testes, refatoração contínua e uso de mocks para garantir a robustez e a eficácia do software.

Ver mais

Descrição do Curso:

Aprenda a implementar o desenvolvimento orientado a testes (TDD) para criar código confiável, sustentável e de alta qualidade desde o início, aplicando práticas como a pirâmide de testes, refatoração contínua e uso de mocks para garantir a robustez e a eficácia do software.


Principais Tópicos:

  1. Pirâmide de Testes: Compreenda a estrutura da pirâmide de testes para equilibrar testes unitários, de integração e end-to-end.
  2. Introdução ao TDD: Conceitos fundamentais do TDD e como ele se diferencia das práticas tradicionais de desenvolvimento.
  3. Ciclo de Desenvolvimento com TDD: Aprenda a aplicar o ciclo Red-Green-Refactor e Triple AAA (Arrange, Act e Assert) para guiar a criação e refatoração de código com confiança.
  4. Escrita de Testes Unitários: Desenvolva testes unitários eficazes que atuam como guia para o código a ser implementado.
  5. Refatoração Orientada a Testes: Técnicas para refatorar continuamente, mantendo o código limpo e aderente aos testes.
  6. Mocking e Test Doubles: Uso de mocks, stubs, e fakes para isolar dependências e testar funcionalidades em isolamento sem interferência de componentes externos.
  7. Testes de Limite e Casos Extremos: Aplicação de testes em condições extremas ou limites para assegurar a robustez do código em cenários imprevisíveis.

Habilidades adquiridas:

Ao final do curso, o aluno será capaz de aplicar o ciclo de TDD com proficiência, criar e estruturar testes unitários e de integração, refatorar com base em testes, utilizar mocks e outras técnicas para testes isolados, e realizar testes de limite para garantir a robustez e a qualidade do código desenvolvido.

Testes avançados: Padrões, tipos e ferramentas

Testes avançados: Padrões, tipos e ferramentas

Desenvolva habilidades para aplicar práticas avançadas de testes que aprimoram a qualidade e a confiabilidade do código, explorando técnicas como mutação, benchmarking, e testes de carga, regressão e integridade de dados para validar a robustez e o desempenho de sistemas complexos.

Ver mais

Descrição do Curso:

Desenvolva habilidades para aplicar práticas avançadas de testes que aprimoram a qualidade e a confiabilidade do código, explorando técnicas como mutação, benchmarking, e testes de carga, regressão e integridade de dados para validar a robustez e o desempenho de sistemas complexos.


Principais Tópicos:

  1. Test Data Builder: Criação de dados de teste personalizados para melhorar a clareza e a manutenção dos testes.
  2. Fixture e Parametrização: Uso de fixtures e parametrização para facilitar a preparação de dados de teste em diferentes cenários.
  3. Benchmarking: Medição do desempenho do código, permitindo a identificação de gargalos e o aprimoramento da performance.
  4. Mutação: Testes de mutação para avaliar a eficácia dos testes, introduzindo mudanças no código e verificando a detecção de erros.
  5. Carga e Stress: Execução de testes de carga e estresse para verificar a robustez do sistema em situações de alta demanda e desempenho extremo.
  6. Testes de Regressão Automatizados: Ferramentas e padrões para configurar testes de regressão, assegurando que mudanças no código não causem efeitos colaterais.
  7. Testes de Integridade de Dados: Validação de dados em processos complexos para assegurar consistência e integridade em operações de banco de dados e integração de APIs.
  8. Testes concorrentes: Implementação de testes para garantir a integridade e performance em ambientes concorrentes, abordando sincronização de processos e resolução de problemas de race conditions.

Habilidades adquiridas:

Ao final do curso, o aluno saberá aplicar padrões avançados de testes, configurar fixtures e parametrizações, realizar testes de benchmarking, mutação, carga e estresse, além de lidar com cenários assíncronos, configurar testes de regressão e validar a integridade de dados, assegurando a estabilidade, segurança e eficiência do sistema.

Testcontainers

Testcontainers

Domine o Testcontainers para criar ambientes de teste dinâmicos, precisos e isolados com contêineres, ideais para validar integrações complexas com quaisquer ferramentas externas, como, bancos de dados, aplicações WEB, ferramentas de mensageria, entre outros serviços externos.

Ver mais

Descrição do Curso:

Domine o Testcontainers para criar ambientes de teste dinâmicos, precisos e isolados com contêineres, ideais para validar integrações complexas com quaisquer ferramentas externas, como, bancos de dados, aplicações WEB, ferramentas de mensageria, entre outros serviços externos.


Principais Tópicos:

  1. Introdução ao Testcontainers: Conceitos básicos do Testcontainers, instalação e seu uso para criar ambientes de teste consistentes e dinâmicos.
  2. Configuração de Contêineres para Testes de Integração: Aprenda a configurar contêineres para simular ambientes de produção, utilizando bancos de dados, filas e caches diretamente nos testes.
  3. Uso Avançado de Redes e Volumes: Controle de redes e volumes para permitir a comunicação entre contêineres e persistência de dados temporários em ambientes de teste.
  4. Testcontainers com Docker Compose: Configuração de ambientes de teste complexos com Docker Compose, permitindo o uso de múltiplos serviços interdependentes para cenários de teste mais realistas.
  5. Reuso de containers: Otimização do tempo de execução dos testes, reutilizando contêineres entre diferentes testes para manter o desempenho sem comprometer o isolamento.

Habilidades adquiridas:

Ao final do curso, o aluno saberá configurar Testcontainers para testes de integração complexos, utilizando bancos de dados e filas de mensagens, gerenciar redes e volumes, criar ambientes multi-serviço com Docker Compose, executar testes em paralelo e customizar imagens para cenários específicos, garantindo ambientes de teste isolados e precisos.

SOLID e Design Patterns

SOLID e Design Patterns

Cursos da trilha

SOLID na Prática - Princípios e Aplicações em  Design de Software

SOLID na Prática - Princípios e Aplicações em Design de Software

Aprenda a aplicar os princípios SOLID de forma prática e aprofundada, compreendendo não apenas o que cada princípio significa, mas também como utilizá-los para desenvolver uma arquitetura de software flexível, sustentável e de fácil manutenção. Este curso inclui exemplos reais, exercícios práticos e identificação de anti-padrões, com foco em resolver problemas de design no dia a dia do desenvolvimento.

Ver mais

Descrição do Curso:

Aprenda a aplicar os princípios SOLID de forma prática e aprofundada, compreendendo não apenas o que cada princípio significa, mas também como utilizá-los para desenvolver uma arquitetura de software flexível, sustentável e de fácil manutenção. Este curso inclui exemplos reais, exercícios práticos e identificação de anti-padrões, com foco em resolver problemas de design no dia a dia do desenvolvimento.


Principais Tópicos:

  1. Introdução aos Princípios SOLID e Design de Software: Explicação do conceito de SOLID, sua importância para design de software e os desafios que surgem ao aplicá-lo em cenários reais.
  2. Single Responsibility Principle (SRP): Aplicação do SRP em cenários comuns, com exemplos de quando uma classe começa a assumir responsabilidades demais. Exemplos práticos para dividir responsabilidades e melhorar a manutenibilidade e o ciclo de vida do software.
  3. Open-Closed Principle (OCP) e Extensibilidade: Exploração do OCP com exemplos práticos de sistemas que requerem extensibilidade. Análise dos benefícios e armadilhas de uma arquitetura fechada para modificações, e quando o uso do OCP é apropriado para evitar complexidade excessiva.
  4. Liskov Substitution Principle (LSP): Como garantir que heranças respeitem o LSP, com exemplos de subclasses que violam o princípio. Discussão sobre polimorfismo e como evitar problemas com tipos e comportamentos inesperados que geram bugs complexos.
  5. Interface Segregation Principle (ISP): Análise da criação de interfaces específicas para clientes, com exercícios práticos de modularidade e desacoplamento. Estudos de caso de quando grandes interfaces geram dependências desnecessárias e como a segregação melhora o design.
  6. Dependency Inversion Principle (DIP): Exploração do DIP com foco na injeção de dependências e na redução do acoplamento. Exercícios práticos de implementação de DIP, com exemplos do uso de containers de injeção de dependências.
  7. SOLID no Mundo Real: Refatoração e Design Evolutivo: Exemplo de refatoração de um sistema que viola os princípios SOLID, mostrando passo a passo como aplicar os princípios para alcançar um design mais robusto e sustentável.
  8. Anti-Patterns e Violação dos Princípios SOLID: Discussão sobre anti-padrões comuns que violam os princípios SOLID, como a "God Class," "Shotgun Surgery," e "Feature Envy." Exemplos práticos para identificar e corrigir esses problemas em código legado.

Habilidades adquiridas:

Após este curso, você será capaz de aplicar os princípios SOLID em projetos reais, reconhecendo situações em que eles fazem sentido e identificando anti-padrões que prejudicam a arquitetura do software. Você aprenderá a aprimorar o design de software, desenvolvendo soluções que sejam escaláveis, de fácil manutenção e adaptáveis às mudanças.

Design Patterns na Prática - Gang of Four e Aplicações Reais

Design Patterns na Prática - Gang of Four e Aplicações Reais

Aprenda a utilizar os padrões de design mais aplicados da Gang of Four (GoF) para resolver problemas comuns e construir sistemas robustos e flexíveis. Este curso oferece uma abordagem prática e direta, explorando tanto os conceitos quanto a implementação dos padrões mais relevantes, com foco em exemplos aplicados.

Ver mais

Descrição do Curso:

Aprenda a utilizar os padrões de design mais aplicados da Gang of Four (GoF) para resolver problemas comuns e construir sistemas robustos e flexíveis. Este curso oferece uma abordagem prática e direta, explorando tanto os conceitos quanto a implementação dos padrões mais relevantes, com foco em exemplos aplicados.


Principais Tópicos:

  1. Introdução aos Padrões de Design e Gang of Four: Conceito e importância dos padrões de design, breve histórico da Gang of Four e visão geral das três categorias principais: criacionais, estruturais e comportamentais. Discussão sobre quando adotar padrões e como eles ajudam na manutenção e evolução de sistemas.
  2. Visão Geral dos Padrões de Design: Introdução aos padrões da GoF para contextualizar sua função, abordando exemplos práticos dos mais utilizados.
  3. Padrões Criacionais na Prática: Exploração prática de padrões criacionais, incluindo Factory Method, Singleton e Builder, para instanciar objetos de forma desacoplada e eficiente.
  4. Padrões Estruturais na Prática: Aplicação de padrões estruturais para organizar e compor objetos, com foco em Adapter, Decorator, Proxy e Facade, para facilitar integrações.
  5. Padrões Comportamentais na Prática: Padrões que facilitam a comunicação e a responsabilidade entre objetos, incluindo Observer, Strategy, Command, Template Method, State, Iterator e Mediator, com exemplos práticos para melhorar flexibilidade e centralizar dependências.
  6. Aplicação de Padrões de Design em Projetos Reais: Estudo de casos e exercícios práticos de refatoração, mostrando como os padrões se combinam para resolver problemas em sistemas legados e melhorar manutenibilidade.
  7. Anti-Padrões e Uso Excessivo de Padrões: Identificação de anti-padrões e armadilhas no uso desnecessário de padrões, com reflexões sobre como evitar o uso excessivo e focar em padrões que agregam valor.

Habilidades adquiridas:

Após este curso, você será capaz de identificar e aplicar os principais padrões de design da Gang of Four, compreendendo o momento certo para usá-los e como resolvem problemas de design específicos. Com exemplos práticos e exercícios de refatoração, você aprenderá a construir software escalável, flexível e adaptável a mudanças, usando padrões de design com eficácia.

Arquitetura: MVC, Hexagonal, Clean Architecture e MultiTenancy

Arquitetura: MVC, Hexagonal, Clean Architecture e MultiTenancy

Cursos da trilha

Arquitetura em camadas e MVC

Arquitetura em camadas e MVC

Explore a arquitetura em camadas e o padrão MVC, entendendo a divisão de responsabilidades para construir sistemas modulares e fáceis de manter, com exemplos práticos de implementação.

Ver mais

Descrição do Curso:

Explore a arquitetura em camadas e o padrão MVC, entendendo a divisão de responsabilidades para construir sistemas modulares e fáceis de manter, com exemplos práticos de implementação.


Principais Tópicos:

  1. Introdução à Arquitetura MVC: Explicação da separação de responsabilidades em três camadas: Apresentação, Negócios e Dados.
  2. Camada de Apresentação: Como implementar a camada de interface com o usuário e comunicação com a camada de negócios.
  3. Camada de Negócios: Implementação da lógica de negócios, regras de validação, e manipulação de dados.
  4. Camada de Dados: Gerenciamento de persistência, consultas, e operações de banco de dados.
  5. Benefícios e Desvantagens: Discussão sobre os benefícios de modularidade e manutenção, bem como possíveis desvantagens em termos de performance e complexidade.
  6. Padrões MVVM, MVP e MVA: Comparação dos padrões MVVM, MVP e MVA com MVC, destacando suas aplicações e diferenças principais.
  7. Implementação dos Modelos: Aplicação prática dos padrões em projetos, mostrando como estruturar classes e módulos em cada camada.
Arquitetura Hexagonal e Clean Architecture

Arquitetura Hexagonal e Clean Architecture

Aprofunde-se nos conceitos e práticas da Arquitetura Hexagonal e Clean Architecture para projetar sistemas robustos, com alto grau de independência entre camadas, facilitando a testabilidade, flexibilidade e manutenção do software.

Ver mais

Descrição do Curso:

Aprofunde-se nos conceitos e práticas da Arquitetura Hexagonal e Clean Architecture para projetar sistemas robustos, com alto grau de independência entre camadas, facilitando a testabilidade, flexibilidade e manutenção do software.


Principais Tópicos:

  1. Fundamentos da Clean Architecture: Conceitos e motivações por trás da Clean Architecture, focando em sua abordagem de isolamento e separação de responsabilidades. Explicação detalhada das camadas principais (Entities, Use Cases, Interface Adapters, Frameworks & Drivers) e suas respectivas responsabilidades.
  2. Introdução à Arquitetura Hexagonal (Ports & Adapters): Compreensão da Arquitetura Hexagonal e sua estrutura de portas e adaptadores, permitindo fácil substituição de dependências externas e flexibilidade nas integrações.
  3. Dependências de Componentes: Técnicas para gerenciar dependências, assegurando que as camadas internas (como Entities e Use Cases) sejam independentes das camadas externas.
  4. Implementação da Clean Architecture: Exemplos práticos de implementação da Clean Architecture em projetos reais, com aplicação de princípios e padrões em código.
  5. Benefícios da Clean Architecture: Discussão sobre como a Clean Architecture melhora a testabilidade, manutenibilidade e flexibilidade do software ao longo de seu ciclo de vida.

Habilidades adquiridas:

Ao final do curso, o aluno saberá aplicar Clean Architecture e Arquitetura Hexagonal, estruturando sistemas com independência entre camadas, facilitando a integração de componentes externos e garantindo que o código seja facilmente testável e escalável.

Arquitetura Multi-Tenancy

Arquitetura Multi-Tenancy

Aprenda a desenvolver sistemas multi-tenancy capazes de atender vários clientes em uma única aplicação, implementando isolamento de dados, personalização por tenant e gestão eficiente de recursos. Explore técnicas de segurança, escalabilidade e monitoramento para criar ambientes robustos e bem segmentados que suportam crescimento contínuo e manutenção ágil.

Ver mais

Descrição do Curso:

Aprenda a desenvolver sistemas multi-tenancy capazes de atender vários clientes em uma única aplicação, implementando isolamento de dados, personalização por tenant e gestão eficiente de recursos. Explore técnicas de segurança, escalabilidade e monitoramento para criar ambientes robustos e bem segmentados que suportam crescimento contínuo e manutenção ágil.


Principais Tópicos:

  1. Introdução à Arquitetura Multi-tenancy: Entenda os fundamentos do multi-tenancy, suas vantagens e desvantagens, e os cenários onde essa arquitetura é mais indicada.
  2. Modelos de Multi-tenancy: Explore os diferentes modelos de multi-tenancy, como compartilhamento de banco de dados, esquema isolado por tenant e bancos de dados dedicados por tenant, e escolha a abordagem ideal para cada caso de uso.
  3. Isolamento e Segurança de Dados entre Tenants: Técnicas avançadas para garantir a privacidade e a integridade dos dados de cada tenant, incluindo segmentação de dados e políticas de segurança granulares.
  4. Controle de Acesso e Autenticação Multi-tenancy: Implementação de controle de acesso específico para cada tenant e integração com sistemas de autenticação (como OAuth e OpenID Connect) para gerenciar múltiplos clientes de forma segura.
  5. Gerenciamento de Configurações e Feature Flags: Estruturação de configurações específicas por tenant para personalizar o comportamento da aplicação conforme as necessidades de cada cliente, além do uso de feature flags para habilitar ou desabilitar funcionalidades, permitindo flexibilidade e segurança no lançamento de novos recursos.
  6. Escalabilidade e Performance em Multi-tenancy: Estratégias de escalabilidade horizontal e vertical para manter o desempenho da aplicação à medida que novos tenants são adicionados, incluindo balanceamento de carga e particionamento de dados.

Habilidades adquiridas:

Ao final do curso, o aluno será capaz de projetar e implementar uma arquitetura multi-tenancy segura e escalável, selecionar o modelo de isolamento mais adequado, garantir a privacidade dos dados, gerenciar configurações e feature flags por tenant, e implementar controle de acesso e autenticação para atender às necessidades específicas de cada cliente.

Domain Driven Design, Microsserviços e mensageria

Domain Driven Design, Microsserviços e mensageria

Cursos da trilha

Domain-Driven Design (DDD)

Domain-Driven Design (DDD)

Aprenda a aplicar Domain-Driven Design (DDD) para estruturar sistemas complexos, modelando o software diretamente em torno das regras e necessidades do negócio. Aprofunde-se em práticas como modelagem de domínios, uso de contextos delimitados, entidades e eventos, organizando o código de forma que mantenha clareza, consistência e facilidade de evolução.

Ver mais

Descrição do Curso:

Aprenda a aplicar Domain-Driven Design (DDD) para estruturar sistemas complexos, modelando o software diretamente em torno das regras e necessidades do negócio. Aprofunde-se em práticas como modelagem de domínios, uso de contextos delimitados, entidades e eventos, organizando o código de forma que mantenha clareza, consistência e facilidade de evolução.


Principais Tópicos:

  1. Introdução ao DDD: Aprenda o que é o Domain-Driven Design e por que ele é essencial para sistemas complexos, e como sua aplicação ajuda a alinhar o software às necessidades reais do negócio.
  2. Linguagem Ubíqua e Contexto Delimitado: Criação de uma linguagem comum para alinhamento entre equipes e definição de limites claros de responsabilidade dentro do sistema.
  3. Mapas de Contextos e Subdomínios: Mapeamento e organização do domínio em contextos e subdomínios específicos.
  4. Entidades, Value Objects, Aggregates, Repositórios, Domain Service e Domain Events: Identificação e definição dos principais componentes do domínio, como Entidades e Value Objects, uso de Aggregates e Repositórios para consistência dos dados, e captura de Domain Events para rastrear mudanças significativas no sistema.
  5. Implementação Tática de DDD: Aplicação prática de DDD com foco em serviços de domínio e arquitetura.

Habilidades adquiridas:

Após o curso, você estará preparado para aplicar Domain-Driven Design de forma eficaz, estruturando sistemas complexos, definindo Contextos Delimitados e utilizando Entidades, Value Objects e Aggregates, o que permitirá criar soluções robustas e alinhadas às necessidades do negócio.

Domain-Driven Design e Arquitetura baseada em eventos

Domain-Driven Design e Arquitetura baseada em eventos

Explore os fundamentos de Domain-Driven Design (DDD) e arquiteturas baseadas em eventos para criar sistemas escaláveis e reativos. Conheça técnicas e práticas para implementar soluções orientadas a domínio e eventos com clareza e consistência.

Ver mais

Descrição do Curso:

Explore os fundamentos de Domain-Driven Design (DDD) e arquiteturas baseadas em eventos para criar sistemas escaláveis e reativos. Conheça técnicas e práticas para implementar soluções orientadas a domínio e eventos com clareza e consistência.


Principais Tópicos:

  1. Domain Events: Criação e uso de eventos para registrar e refletir mudanças significativas no domínio.
  2. CQS e CQRS: Separação de operações de leitura e escrita para otimizar desempenho e facilitar manutenção.
  3. Event Sourcing: Registro de mudanças como eventos para garantir consistência e um histórico completo de dados.
  4. Unit of Work: Gerenciamento de transações para manter a integridade dos dados em operações complexas.
  5. Lock Pessimista e Otimista: Controle de concorrência para gerenciar o acesso a recursos compartilhados, impedindo conflitos e garantindo consistência.
  6. Event Storming: Técnica visual para mapear e compreender processos de negócio em sistemas complexos através da identificação dos eventos de domínio.

Habilidades adquiridas:

Ao final do curso, você será capaz de implementar Domain-Driven Design (DDD) para estruturar e modelar domínios complexos, aplicar arquiteturas baseadas em eventos para melhorar a escalabilidade e reatividade, utilizar CQS e CQRS para otimizar operações de leitura e escrita, gerenciar estados com Event Sourcing, e aplicar técnicas de controle de concorrência e Event Storming para mapear processos de negócios e aprimorar a colaboração entre equipes.

RabbitMQ

RabbitMQ

Neste curso, você aprenderá a dominar o RabbitMQ, um broker de mensagens robusto e amplamente utilizado para facilitar a comunicação entre microsserviços e a integração de sistemas. Com uma abordagem prática, o curso abrange desde a configuração inicial até a implementação de estratégias para gerenciar eficientemente a troca de mensagens e garantir a confiabilidade das comunicações em ambientes distribuídos.

Ver mais

Descrição do Curso:

Neste curso, você aprenderá a dominar o RabbitMQ, um broker de mensagens robusto e amplamente utilizado para facilitar a comunicação entre microsserviços e a integração de sistemas. Com uma abordagem prática, o curso abrange desde a configuração inicial até a implementação de estratégias para gerenciar eficientemente a troca de mensagens e garantir a confiabilidade das comunicações em ambientes distribuídos.


Principais Tópicos:

  1. Fundamentos do RabbitMQ: Conceitos e principais usos do RabbitMQ, incluindo a arquitetura básica de exchanges, filas e bindings, além de como configurar filas de trabalho e implementar padrões de publish/subscribe.
  2. Entrega e Persistência de Mensagens: Uso de confirmações, persistência de mensagens e Dead Letter Exchanges para garantir resiliência.
  3. Plugins Essenciais: Integração com Shovel, Federation e Management para monitoramento e transferência de mensagens.
  4. Streaming com RabbitMQ: Técnicas para implementar streaming de dados utilizando RabbitMQ, abordando a transmissão contínua de mensagens e práticas recomendadas para otimizar a latência e o throughput.

Habilidades adquiridas:

Ao final deste curso, você será capaz de implementar o RabbitMQ em sistemas distribuídos, configurar e otimizar padrões de mensageria como filas de trabalho e publish/subscribe, garantir a entrega e persistência de mensagens. Você também dominará a implementação de streaming de dados com RabbitMQ, otimizando a latência e o throughput para aplicações em tempo real.

Arquitetura baseada em microsserviços

Arquitetura baseada em microsserviços

Entenda os princípios fundamentais da arquitetura de microsserviços e como aplicá-los para criar sistemas escaláveis e resilientes. Explore desde características e padrões de design até a integração e gerenciamento de serviços.

Ver mais

Descrição do Curso:

Entenda os princípios fundamentais da arquitetura de microsserviços e como aplicá-los para criar sistemas escaláveis e resilientes. Explore desde características e padrões de design até a integração e gerenciamento de serviços.


Principais Tópicos:

  1. Microsserviços vs Monolitos: Comparação entre as arquiteturas, destacando a flexibilidade dos microsserviços e o impacto em escalabilidade.
  2. Características dos Microsserviços: Autonomia, escalabilidade, independência de deploy e alinhamento ao domínio de negócios.
  3. Resiliência: Técnicas de resiliência como circuit breakers, retries e fallback para assegurar estabilidade dos serviços.
  4. Coreografia vs Orquestração: Diferença entre coordenação coreografada e orquestrada, aplicável em fluxos distribuídos.
  5. Padrões de Microsserviços: Patterns como ACL, Strangler Pattern, BFF (Backend for Frontend), Decompose by Business Capability e Service Discovery.
  6. API Gateway: Papel do API Gateway no roteamento, segurança e monitoramento de requests entre serviços distribuídos.

Habilidades adquiridas:

Após este curso, você será capaz de projetar uma arquitetura de microsserviços escalável, implementando padrões de design, resiliência e segurança para gerenciar comunicações e a integração entre serviços.

Apache Kafka

Apache Kafka

Neste curso, você vai aprender a trabalhar com o Apache Kafka, uma poderosa plataforma de streaming distribuído ideal para o processamento de grandes volumes de dados em tempo real. Através de uma abordagem prática, você explorará a arquitetura do Kafka, técnicas de produção e consumo de mensagens, além de integrar dados utilizando Kafka Connect.

Ver mais

Descrição do Curso:

Neste curso, você vai aprender a trabalhar com o Apache Kafka, uma poderosa plataforma de streaming distribuído ideal para o processamento de grandes volumes de dados em tempo real. Através de uma abordagem prática, você explorará a arquitetura do Kafka, técnicas de produção e consumo de mensagens, além de integrar dados utilizando Kafka Connect.


Principais Tópicos:

  1. Introdução ao Apache Kafka: Visão geral e casos de uso do Kafka em diversas indústrias para streaming e integração de dados.
  2. Arquitetura do Kafka: Estrutura dos componentes principais, como brokers, topics e partições, e configuração de clustering e replicação.
  3. Produção e Consumo de Mensagens: Configuração de producers e consumers, particionamento de dados e garantias de entrega para confiabilidade.
  4. Kafka Connect: Integração com sistemas externos, explorando conectores sinks e sources, e aplicando transformações de dados.
  5. Schema Registry: Gestão de esquemas de dados para compatibilidade e evolução, com uso de Avro, Protobuf ou JSON Schema.

Habilidades adquiridas:

Ao final deste curso, você será capaz de implementar o Apache Kafka para processar grandes volumes de dados em tempo real, configurar e otimizar a produção e o consumo de mensagens, e integrar sistemas utilizando Kafka Connect. Você também aprenderá a gerenciar esquemas de dados com o Schema Registry, garantindo a compatibilidade e a evolução dos dados, permitindo assim a construção de soluções escaláveis e eficientes em ambientes de produção.

Sistemas legados e monólitos: Modernização e decomposição

Sistemas legados e monólitos: Modernização e decomposição

Cursos da trilha

Criação de monolitos modulares

Criação de monolitos modulares

Neste curso, você aprenderá a projetar monolitos modulares, combinando a arquitetura monolítica com a flexibilidade necessária para escalabilidade e organização. Através de práticas eficazes de modularização, você desenvolverá habilidades para facilitar a manutenção e a evolução de monolitos, permitindo uma resposta ágil às mudanças nas necessidades de negócios.

Ver mais

Descrição do Curso:

Neste curso, você aprenderá a projetar monolitos modulares, combinando a arquitetura monolítica com a flexibilidade necessária para escalabilidade e organização. Através de práticas eficazes de modularização, você desenvolverá habilidades para facilitar a manutenção e a evolução de monolitos, permitindo uma resposta ágil às mudanças nas necessidades de negócios.


Principais Tópicos:

  1. Monolito vs Arquitetura Modular: Comparação entre monolitos tradicionais e monolitos modulares, destacando vantagens e limitações.
  2. Princípios de Modularização: Estratégias de modularização, como divisão por funcionalidades e redução de dependências acopladas.
  3. Camadas de Domínio e Serviço: Criação de camadas independentes para organizar lógicas de negócio e reduzir interdependências.
  4. Bounded Contexts: Uso de contextos delimitados para estruturar módulos com fronteiras bem definidas, alinhados ao domínio do negócio.
  5. Comunicação entre Módulos: Técnicas para comunicação entre módulos de forma segura e eficiente, mantendo baixa complexidade.
  6. Padrões de Design para Modularidade: Padrões como Adapter, Facade e Dependency Injection aplicados à modularização em monolitos.

Habilidades adquiridas:

Ao final do curso, você será capaz de projetar e implementar monolitos modulares que equilibram organização e escalabilidade. Aprenderá a aplicar princípios de modularização, definir contextos delimitados e utilizar padrões de design para garantir comunicação eficiente entre módulos. Com isso, criará sistemas flexíveis e de fácil manutenção, adaptando-se rapidamente às mudanças nas demandas do negócio.

Modernização de sistemas legados

Modernização de sistemas legados

Descubra estratégias para modernizar sistemas legados, tornando-os mais escaláveis, seguros e fáceis de manter. O curso abrange desde técnicas de refatoração até estratégias de migração e integração com novas tecnologias.

Ver mais

Descrição do Curso:

Descubra estratégias para modernizar sistemas legados, tornando-os mais escaláveis, seguros e fáceis de manter. O curso abrange desde técnicas de refatoração até estratégias de migração e integração com novas tecnologias.


Principais Tópicos:

  1. Diagnóstico de Sistemas Legados: Análise das principais limitações de sistemas legados, identificando áreas para melhoria e priorização.
  2. Refatoração de Código: Técnicas de refatoração para limpar e organizar código, facilitando manutenção e escalabilidade.
  3. Estratégias de Modernização: Comparação entre abordagens como Strangler Pattern, reescrita gradual e integração de APIs.
  4. Divisão em Módulos: Modularização de sistemas legados para facilitar a transição para arquiteturas mais flexíveis.
  5. Integração com Microsserviços: Uso de microsserviços para expandir e complementar funcionalidades de sistemas legados.
  6. Gestão de Risco e Testes: Planejamento de migração com mitigação de riscos, incluindo testes automatizados para garantir a integridade do sistema.

Habilidades adquiridas:

Após este curso, você será capaz de identificar gargalos e planejar a modernização de sistemas legados, aplicando técnicas de refatoração, modularização e migração para tornar os sistemas mais robustos, ágeis e alinhados aos requisitos modernos.

Decomposição de sistemas monolíticos para microsserviços

Decomposição de sistemas monolíticos para microsserviços

Explore o processo de transformação de uma arquitetura monolítica para uma arquitetura de microsserviços, compreendendo técnicas de decomposição, gestão de dados distribuídos e ferramentas para monitoramento e resiliência.

Ver mais

Descrição do Curso:

Explore o processo de transformação de uma arquitetura monolítica para uma arquitetura de microsserviços, compreendendo técnicas de decomposição, gestão de dados distribuídos e ferramentas para monitoramento e resiliência.


Principais Tópicos:

  1. Introdução aos Microsserviços: Definição e benefícios dos microsserviços em contraste com monólitos. Conceitos de acoplamento, coesão e o essencial do Design Orientado por Domínios.
  2. Planejamento da Migração: Análise dos objetivos e motivações para a migração. Discussão sobre os prós e contras da adoção de microsserviços, planejamento incremental e reorganização de equipes.
  3. Divisão do Monólito: Avaliação de estratégias para decomposição, incluindo padrões como Strangler Fig, composição de UI, execução paralela e captura de mudanças.
  4. Decomposição do Banco de Dados: Métodos para gerenciar dados em microsserviços, incluindo sincronização, divisão de tabelas e técnicas de transação distribuída.
  5. Superando Desafios no Crescimento: Abordagem de problemas que surgem com o aumento de serviços, como mudanças, monitoramento, testes e otimização global versus local.

Habilidades adquiridas:

Ao final do curso, você será capaz de planejar e executar a migração de uma arquitetura monolítica para microsserviços, aplicando padrões de decomposição adequados tanto para sistemas quanto para bancos de dados. Aprenderá a implementar estratégias de sincronização e monitoramento eficazes, além de resolver desafios comuns relacionados à manutenção e escalabilidade em ambientes distribuídos, garantindo uma transição suave e eficiente.

<span style="color: #4B793A;">Banco de Dados</span>

Banco de Dados

SQL

SQL

Cursos da trilha

PostgreSQL para desenvolvedores

PostgreSQL para desenvolvedores

Este curso avançado oferece uma imersão prática no PostgreSQL, focando em modelagem de dados, otimização de consultas e segurança em ambientes de produção. Você aprenderá a configurar transações, gerenciar concorrência em aplicações multiusuário e proteger dados sensíveis, preparando-se para construir aplicações robustas e escaláveis.

Ver mais

Descrição do Curso:

Este curso avançado oferece uma imersão prática no PostgreSQL, focando em modelagem de dados, otimização de consultas e segurança em ambientes de produção. Você aprenderá a configurar transações, gerenciar concorrência em aplicações multiusuário e proteger dados sensíveis, preparando-se para construir aplicações robustas e escaláveis.


Principais Tópicos:

  1. Arquitetura do PostgreSQL: Estrutura interna do PostgreSQL, incluindo o sistema de armazenamento que utiliza MVCC (Multiversion Concurrency Control) para garantir isolamento e consistência nas transações.
  2. Principais Diferenciais e Vantagens: O que diferencia o PostgreSQL de outros bancos de dados relacionais, incluindo suporte a dados estruturados e não estruturados, índices avançados e robustez em cenários de alta carga.
  3. Gerenciamento de Conexões: Técnicas para gerenciar conexões ao banco de dados, incluindo pooling e configuração de timeout.
  4. Isolamento e Níveis de Transação no PostgreSQL: Explicação dos níveis de isolamento no PostgreSQL (READ COMMITTED, REPEATABLE READ, SERIALIZABLE) e como o MVCC trabalha para evitar problemas de concorrência, como dirty reads, non-repeatable reads e phantom reads.
  5. Índices em Tabelas e Consultas: Abordagem sobre a criação de índices simples e compostos, enfatizando a otimização de consultas. Explora como a escolha de índices impacta a performance de leitura e escrita, permitindo que desenvolvedores tomem decisões estratégicas para suas aplicações.
  6. Armazenamento e Manipulação de Dados JSON: Explicação sobre o suporte nativo a JSON e JSONB, incluindo como isso permite o armazenamento e consulta de dados semiestruturados em uma estrutura relacional.
  7. Teste de Performance e Tuning: Como realizar testes de performance e ajustes de configuração para otimizar o PostgreSQL em ambientes de produção.
  8. Segurança em PostgreSQL: Melhores práticas para proteger dados sensíveis, incluindo controle de acesso, criptografia e gerenciamento de roles.

Habilidades adquiridas:

Ao concluir este curso, você terá as habilidades para modelar dados de forma escalável e otimizar consultas para melhorar a performance em PostgreSQL. Você também será capaz de gerenciar conexões de forma eficaz em ambientes de alta demanda, implementar práticas de segurança robustas, controlar o acesso a dados sensíveis e realizar tuning e testes de performance para garantir a eficiência e confiabilidade das suas aplicações em produção.

MySQL para desenvolvedores

MySQL para desenvolvedores

Este curso avançado de MySQL capacita desenvolvedores a explorar as funcionalidades essenciais e avançadas do banco de dados, focando em sua arquitetura, otimização de consultas e segurança. Os participantes aprenderão a trabalhar com dados estruturados e semiestruturados, gerenciar conexões de forma eficaz, implementar práticas de segurança robustas e otimizar a performance do banco de dados por meio de estratégias de indexação e consultas eficientes.

Ver mais

Descrição do Curso:

Este curso avançado de MySQL capacita desenvolvedores a explorar as funcionalidades essenciais e avançadas do banco de dados, focando em sua arquitetura, otimização de consultas e segurança. Os participantes aprenderão a trabalhar com dados estruturados e semiestruturados, gerenciar conexões de forma eficaz, implementar práticas de segurança robustas e otimizar a performance do banco de dados por meio de estratégias de indexação e consultas eficientes.


Principais Tópicos:

  1. Arquitetura do MySQL: Estrutura interna do MySQL, incluindo o mecanismo de armazenamento InnoDB, que implementa MVCC (Multiversion Concurrency Control) para garantir isolamento e consistência nas transações.
  2. Consultas e Otimização de Performance: Estratégias para escrever consultas SQL eficientes e melhorar a performance do banco de dados usando índices e o comando EXPLAIN.
  3. Gerenciamento de Conexões e Pooling: Boas práticas para otimizar o gerenciamento de conexões, incluindo o uso de pooling para lidar com alta carga de usuários.
  4. Manipulação e Armazenamento de Dados JSON: Utilização de colunas JSON para dados flexíveis, com suporte para consultas avançadas em JSON e melhores práticas de uso.
  5. Isolamento e Níveis de Transação: Explicação dos diferentes níveis de isolamento no MySQL (READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIALIZABLE), com exemplos de como cada nível afeta o comportamento das transações e ajuda a evitar problemas como dirty reads, non-repeatable reads e phantom reads.
  6. Proteção de Dados Sensíveis e Controle de Acesso: Configurações de segurança em MySQL, incluindo criptografia de dados, roles e permissões para proteger informações confidenciais.
  7. Índices em Tabelas e Consultas: Abordagem sobre a criação de índices simples e compostos, enfatizando a otimização de consultas. Explora como a escolha de índices impacta a performance de leitura e escrita, permitindo que desenvolvedores tomem decisões estratégicas para suas aplicações.

Habilidades adquiridas:

Ao finalizar o curso, você terá as habilidades para entender a arquitetura do MySQL e suas funcionalidades avançadas, otimizar consultas utilizando índices e o comando EXPLAIN, gerenciar dados flexíveis com JSON, controlar níveis de isolamento de transações para garantir a consistência dos dados e implementar práticas de segurança eficazes, assegurando que suas aplicações em produção sejam eficientes e seguras.

NoSQL

NoSQL

Cursos da trilha

MongoDB para desenvolvedores

MongoDB para desenvolvedores

Descubra o mundo dos bancos de dados NoSQL com foco em MongoDB, compreendendo os fundamentos, os principais tipos de NoSQL, e as técnicas de modelagem de dados para bancos orientados a documentos. O curso inclui uma atividade prática para transformar uma modelagem relacional tradicional em um esquema de documentos, adaptando o modelo para as melhores práticas de NoSQL.

Ver mais

Descrição do Curso:

Descubra o mundo dos bancos de dados NoSQL com foco em MongoDB, compreendendo os fundamentos, os principais tipos de NoSQL, e as técnicas de modelagem de dados para bancos orientados a documentos. O curso inclui uma atividade prática para transformar uma modelagem relacional tradicional em um esquema de documentos, adaptando o modelo para as melhores práticas de NoSQL.


Principais Tópicos:

  1. Introdução aos Bancos de Dados NoSQL: Fundamentos do NoSQL e as principais diferenças em relação aos bancos de dados relacionais. Introdução aos tipos de NoSQL e cenários de uso ideais.
  2. Tipos de Bancos de Dados NoSQL e Suas Aplicações: Explicação dos principais tipos de NoSQL e suas características, com exemplos de uso:
    • Document Stores (ex.: MongoDB)
    • Key-Value Stores (ex.: Redis)
    • Column-Family Stores (ex.: Cassandra)
    • Graph Databases (ex.: Neo4j)
    • Bancos de Dados de Vetores (ex.: Pinecone) – relevância atual em IA e buscas semânticas.
  3. MongoDB e a Modelagem de Dados Orientada a Documentos: Estrutura e características do MongoDB como um banco orientado a documentos. Vantagens de esquemas flexíveis e exemplos de embutimento vs. referências.
  4. Princípios de Modelagem de Dados com MongoDB: Técnicas de modelagem para otimizar consultas e performance:
    • Quando usar embutimento e quando usar referências.
    • Como desnormalizar dados para evitar joins em documentos.
    • Práticas de indexação e agregação.
  5. Transformação Prática de uma Modelagem Relacional para MongoDB: Atividade prática para converter um modelo SQL tradicional (ex.: sistema de clientes e pedidos) em um esquema orientado a documentos no MongoDB. Inclui análise de como embutir, desnormalizar e organizar os dados para escalabilidade e consultas rápidas.
  6. Design de Consultas e Operações no MongoDB: Estruturação de consultas para diferentes tipos de dados e operações de leitura e escrita, com exemplos práticos de CRUD no MongoDB.
  7. Agregações no MongoDB: Introdução ao Aggregation Framework do MongoDB, com exemplos práticos de uso para analisar e transformar dados.
  8. Indexação e Desempenho no MongoDB: Como criar e gerenciar índices para consultas rápidas e como otimizar a performance em grandes coleções.

Habilidades adquiridas:

Após este curso, você será capaz de compreender os fundamentos dos bancos de dados NoSQL, identificar quando o MongoDB é a melhor escolha, modelar dados para MongoDB de forma eficiente, transformar um modelo relacional para um modelo orientado a documentos, e utilizar técnicas de indexação e agregação para otimizar consultas e garantir escalabilidade em produção.

Redis para Desenvolvedores

Redis para Desenvolvedores

Conheça o Redis e suas funcionalidades como banco de dados NoSQL em memória, utilizado para caching, gerenciamento de sessões, message broker e muito mais. Este curso cobre desde os conceitos básicos até operações avançadas, incluindo novos recursos e módulos como RediSearch e RedisJSON.

Ver mais

Descrição do Curso:

Conheça o Redis e suas funcionalidades como banco de dados NoSQL em memória, utilizado para caching, gerenciamento de sessões, message broker e muito mais. Este curso cobre desde os conceitos básicos até operações avançadas, incluindo novos recursos e módulos como RediSearch e RedisJSON.


Principais Tópicos:

  1. Introdução ao Redis e Casos de Uso: História e evolução do Redis, incluindo as mudanças de licença e os avanços no Redis 7. Explicação de Redis como cache, banco de dados e message broker, com seus principais casos de uso.
  2. Conceitos Básicos e Estruturas de Dados: Introdução aos tipos de dados fundamentais do Redis, incluindo strings, listas, hashes, sets e sorted sets, com exemplos práticos e comandos básicos.
  3. Operações Avançadas com Estruturas de Dados: Aplicações práticas de estruturas avançadas, como listas para filas e pilhas, sets para operações de união/interseção e sorted sets para classificação.
  4. Gerenciamento de Sessões e Cache: Como utilizar o Redis para armazenar sessões de usuário e implementar cache, incluindo estratégias de expiração, invalidação e gerenciamento de TTL (Time to Live).
  5. Comunicação em Tempo Real com Pub/Sub: Implementação do padrão Pub/Sub no Redis para comunicação em tempo real, com exemplos práticos para sistemas de notificações e chats.
  6. Persistência e Replicação de Dados: Configuração de persistência de dados no Redis, com métodos RDB e AOF, e implementação de replicação mestre-escravo para alta disponibilidade.
  7. Busca Avançada com RediSearch: Introdução ao módulo RediSearch para busca de texto completo, implementação de busca vetorial para IA e configuração de agregações e filtragens.
  8. Manipulação de Documentos com RedisJSON: Uso do módulo RedisJSON para armazenamento e manipulação de documentos JSON, com consultas complexas e indexação de campos JSON para otimização de buscas.

Habilidades adquiridas:

Após este curso, você será capaz de entender e aplicar as principais estruturas de dados e operações do Redis, configurar sessões e caching, implementar comunicação em tempo real com Pub/Sub, utilizar Redis como uma solução de persistência e explorar módulos avançados como RediSearch e RedisJSON para manipulação e busca avançada de dados.

<span style="color: #A36828;">Segurança</span>

Segurança

Segurança de APIs, Vault, Autenticação e Keycloak

Segurança de APIs, Vault, Autenticação e Keycloak

Cursos da trilha

Autenticação e autorização: Tokens JWT, ACL e RBAC

Autenticação e autorização: Tokens JWT, ACL e RBAC

Aprenda como implementar autenticação e autorização robustas em sistemas modernos usando Tokens JWT, listas de controle de acesso (ACL) e controle de acesso baseado em papéis (RBAC), garantindo segurança e eficiência na gestão de permissões.

Ver mais

Descrição do Curso:

Aprenda como implementar autenticação e autorização robustas em sistemas modernos usando Tokens JWT, listas de controle de acesso (ACL) e controle de acesso baseado em papéis (RBAC), garantindo segurança e eficiência na gestão de permissões.


Principais Tópicos:

  1. Introdução a Autenticação e Autorização: Conceitos fundamentais de autenticação e autorização, suas diferenças e importância em segurança de sistemas.
  2. Tokens JWT para Autenticação: Estrutura e funcionamento dos JSON Web Tokens, incluindo criação, verificação, segurança de armazenamento e validação de tokens.
  3. Implementação de Autenticação com JWT: Passo a passo de implementação de autenticação com JWT em aplicações, incluindo práticas de renovação e expiração de tokens.
  4. Listas de Controle de Acesso (ACL): Definição de ACL, como configurá-las para controle de permissões em diferentes recursos e o papel das ACLs na segurança de aplicações.
  5. Controle de Acesso Baseado em Papéis (RBAC): Conceito e implementação de RBAC para organização de permissões baseadas em papéis, facilitando a gestão de permissões em sistemas com múltiplos usuários.
  6. Comparando ACL e RBAC: Análise dos cenários de uso para ACL e RBAC, vantagens e limitações de cada abordagem para diferentes tipos de aplicação.
  7. Segurança e Melhores Práticas: Práticas recomendadas para o uso seguro de JWT, ACL e RBAC, incluindo armazenamento de tokens, prevenção de vazamento de permissões e políticas de acesso.

Habilidades adquiridas:

Ao final do curso, você será capaz de implementar autenticação segura com JWT, criar e gerenciar ACLs para controle preciso de permissões e aplicar RBAC para uma gestão escalável de acessos. Também aprenderá a integrar JWT, ACL e RBAC em aplicações com práticas recomendadas de segurança para proteger dados sensíveis.

Keycloak: OAuth2, OpenID Connect e Single Sign-On

Keycloak: OAuth2, OpenID Connect e Single Sign-On

Neste curso, você aprenderá a implementar autenticação e autorização seguras com Keycloak, usando OAuth2, OpenID Connect e Single Sign-On (SSO). Abordaremos a configuração do Keycloak, personalização de fluxos e gestão de usuários para garantir proteção eficaz e controle centralizado de acesso.

Ver mais

Descrição do Curso:

Neste curso, você aprenderá a implementar autenticação e autorização seguras com Keycloak, usando OAuth2, OpenID Connect e Single Sign-On (SSO). Abordaremos a configuração do Keycloak, personalização de fluxos e gestão de usuários para garantir proteção eficaz e controle centralizado de acesso.


Principais Tópicos:

  1. Introdução ao Keycloak e IAM (Identity and Access Management): Visão geral do Keycloak e da importância de IAM para controle de acesso.
  2. Princípios de OAuth2: Estrutura do protocolo OAuth2, seus componentes (Resource Owner, Client, Authorization Server) e fluxo de autorização.
  3. Introdução ao OpenID Connect: Explicação do OpenID Connect como camada adicional de autenticação sobre o OAuth2, incluindo ID Tokens e autenticação de usuários.
  4. Single Sign-On (SSO) com Keycloak: Configuração do Keycloak para fornecer Single Sign-On em múltiplas aplicações, facilitando o acesso dos usuários.
  5. Configuração de Realm, Clientes e Usuários: Criação e gestão de Realms e Clientes no Keycloak, customizando autenticação e autorização para diferentes aplicações. Inclui a configuração de usuários e grupos, e como aplicar políticas de segurança.
  6. Autenticação de APIs com Keycloak: Implementação de autenticação em APIs usando OAuth2 com Keycloak, incluindo validação de tokens e controle de acesso granular.
  7. Customização de Páginas de Login e Fluxos de Autenticação: Personalização da interface de login e adaptação dos fluxos de autenticação no Keycloak para melhor experiência de usuário.
  8. Autorização Baseada em Papel e Atributo: Abordagem de como implementar controle de acesso baseado em papéis (RBAC) e controle de acesso baseado em atributos (ABAC) no Keycloak para gerenciar permissões de forma mais granular.

Habilidades adquiridas:

Ao final do curso, você estará capacitado a gerenciar autenticação e autorização centralizadas com Keycloak, implementando OAuth2, OpenID Connect e SSO para proteger APIs e facilitar o acesso. Também aprenderá a personalizar fluxos de autenticação e interfaces de login para atender às necessidades específicas de cada aplicação.

OWASP 10, Segurança de APIs e Secret Management (Vault)

OWASP 10, Segurança de APIs e Secret Management (Vault)

Este curso aborda as principais vulnerabilidades em APIs, conforme a OWASP, e ensina técnicas para proteger integrações e gerenciar segredos com o HashiCorp Vault. Com foco prático, você aprenderá a identificar riscos, aplicar medidas preventivas e proteger dados sensíveis em ambientes de desenvolvimento e produção.

Ver mais

Descrição do Curso:

Este curso aborda as principais vulnerabilidades em APIs, conforme a OWASP, e ensina técnicas para proteger integrações e gerenciar segredos com o HashiCorp Vault. Com foco prático, você aprenderá a identificar riscos, aplicar medidas preventivas e proteger dados sensíveis em ambientes de desenvolvimento e produção.


Principais Tópicos:

  1. OWASP Top 10 para APIs: Exploração das 10 principais vulnerabilidades em APIs, incluindo falhas comuns como autenticação inadequada e exposição excessiva de dados.
  2. Segurança em APIs: Práticas recomendadas para proteger APIs, incluindo autenticação, autorização, uso de tokens e verificação de solicitações.
  3. Práticas de Validação e Sanitização de Dados: Métodos de sanitização e validação para evitar injeções e garantir integridade de dados.
  4. Introdução ao HashiCorp Vault: Visão geral do Vault, arquitetura e conceitos fundamentais de segurança e gerenciamento de segredos.
  5. Gerenciamento de Segredos e Rotação de Credenciais: Configuração de políticas de acesso, rotatividade de credenciais e práticas de armazenamento seguro para segredos de API e aplicações.
  6. Auditoria e Monitoramento de Segurança em APIs: Estratégias para monitorar chamadas de API, auditoria de acessos e práticas de logging para rastrear tentativas de acesso não autorizadas.
  7. Integração de Vault com Aplicações e APIs: Práticas para integrar o Vault com sistemas e automação de gerenciamento de segredos em ambientes de desenvolvimento e produção.

Habilidades adquiridas:

Ao concluir este curso, você será capaz de identificar e mitigar vulnerabilidades em APIs conforme a lista OWASP, configurar autenticação e autorização seguras, e utilizar HashiCorp Vault para armazenamento de segredos. Além disso, aprenderá a implementar auditoria e monitoramento para reforçar a proteção de dados sensíveis.

<span style="color: #293767;">DevOps e SRE</span>

DevOps e SRE

Kubernetes, Pipelines CI/CD e Infra as Code

Kubernetes, Pipelines CI/CD e Infra as Code

Cursos da trilha

Kubernetes

Kubernetes

Neste curso, você aprenderá a dominar o Kubernetes, uma poderosa plataforma de orquestração de containers, capacitando-o a gerenciar aplicações em grande escala. Através de uma abordagem prática, você explorará desde a instalação até a implementação de recursos avançados, garantindo a escalabilidade, disponibilidade e otimização de recursos em ambientes de produção.

Ver mais

Descrição do Curso:

Neste curso, você aprenderá a dominar o Kubernetes, uma poderosa plataforma de orquestração de containers, capacitando-o a gerenciar aplicações em grande escala. Através de uma abordagem prática, você explorará desde a instalação até a implementação de recursos avançados, garantindo a escalabilidade, disponibilidade e otimização de recursos em ambientes de produção.


Principais Tópicos:

  1. Conceitos, Arquitetura e Instalação do Kubernetes: Introdução à orquestração de containers, estrutura dos componentes de um cluster (nodes, pods e serviços) e o processo de instalação e configuração do Kubernetes e kubectl.
  2. Recursos Essenciais do Kubernetes: Principais recursos como pods, replicasets, deployments, statefulsets, namespaces e service accounts para gestão de workloads.
  3. Gestão de Deploy: Estratégias para realizar deploys contínuos e atualizações de aplicações com segurança, incluindo rollback e estratégias de rollout para minimizar interrupções.
  4. ConfigMaps e Secrets: Uso de ConfigMaps para gerenciar configurações não sensíveis e Secrets para proteger dados sensíveis, como senhas e chaves, garantindo que as aplicações tenham acesso seguro às suas configurações e credenciais.
  5. Escalabilidade com HPA (Horizontal Pod Autoscaler): Utilização do HPA para escalabilidade automática com base na carga e nos recursos dos pods.
  6. Probes e HealthCheck: Implementação de readiness e liveness probes para monitorar a saúde dos containers, garantindo que apenas os serviços prontos recebam tráfego e que os containers não saudáveis sejam reiniciados automaticamente.
  7. Ingress Controller: Configuração e uso do Ingress Controller para gerenciar o tráfego de entrada e expor serviços ao público.
  8. Cert Manager: Configuração do Cert Manager para automatizar a gestão de certificados SSL/TLS, garantindo a segurança das comunicações em serviços expostos ao público.

Habilidades adquiridas:

Ao final do curso, você estará apto a implementar e gerenciar clusters Kubernetes, configurar e escalar aplicações de forma eficiente, realizar deploys contínuos com segurança e gerenciar configurações e dados sensíveis. Além disso, você será capaz de monitorar a saúde dos containers com probes, controlar o tráfego de rede através do Ingress Controller e automatizar a gestão de certificados SSL/TLS, assegurando a alta disponibilidade e o desempenho das aplicações em ambientes de produção.

Helm

Helm

Aprenda a gerenciar aplicações no Kubernetes com Helm, criando e configurando charts para facilitar o deploy, o gerenciamento e a manutenção de aplicações.

Ver mais

Descrição do Curso:

Aprenda a gerenciar aplicações no Kubernetes com Helm, criando e configurando charts para facilitar o deploy, o gerenciamento e a manutenção de aplicações.


Principais Tópicos:

  1. Introdução ao Helm e Instalação: Conceitos básicos sobre o Helm e o papel dos charts na automação de deploys no Kubernetes, incluindo a instalação do Helm e a configuração para utilização com repositórios de charts.
  2. Trabalhando com Charts Existentes: Utilização de charts oficiais para o deploy de aplicações, com foco em personalização e ajuste de valores.
  3. Templates e Personalização com o Helm: Estrutura de um chart Helm e uso de templates para configurações dinâmicas e reutilizáveis.
  4. Criando Seus Próprios Charts: Estrutura e criação de charts personalizados para aplicações específicas.
  5. Helm Values e Arquivo de Configuração: Uso de arquivos de valores para adaptar configurações de ambientes e simplificar o deploy.

Habilidades adquiridas:

Após este curso, você será capaz de utilizar Helm para instalar e configurar aplicações no Kubernetes, criar e personalizar seus próprios charts, gerenciar upgrades e rollbacks de versões e utilizar repositórios para organizar e compartilhar seus deployments de maneira prática e eficiente.

Terraform

Terraform

Explore os fundamentos do Terraform e do OpenTofu para infraestrutura como código, aprendendo a criar e gerenciar recursos em nuvem de forma automatizada e consistente

Ver mais

Descrição do Curso:

Explore os fundamentos do Terraform e do OpenTofu para infraestrutura como código, aprendendo a criar e gerenciar recursos em nuvem de forma automatizada e consistente.


Principais Tópicos:

  1. Introdução ao Terraform, OpenTofu e Conceitos Principais: Visão geral sobre infraestrutura como código e os principais conceitos de Terraform e OpenTofu, incluindo estado, providers e recursos.
  2. Instalação e Execução de Manifestos: Processo de instalação do Terraform e OpenTofu e primeiros passos para criar e executar manifestos.
  3. Documentação e Criação de Manifestos: Como acessar e utilizar a documentação oficial para definir recursos e escrever manifestos eficazes.
  4. Variáveis, Outputs e Datasources: Configuração de variáveis para personalização, outputs para informações compartilhadas e datasources para consulta de dados externos.
  5. Terraform em Cloud: Criação de recursos como redes e clusters Kubernetes em cloud, utilizando a sintaxe declarativa para simplificar o provisionamento.
  6. Desenvolvimento de Módulos: Criação e organização de módulos reutilizáveis para padronizar e simplificar o código de infraestrutura.
  7. Backend Remoto: Configuração de backend remoto para gerenciamento e persistência do estado, facilitando o trabalho em equipe e o controle de versões.

Habilidades adquiridas:

Após este curso, você será capaz de definir e provisionar infraestrutura com Terraform, configurar e reutilizar variáveis e módulos, e gerenciar o estado de maneira segura com backends remotos, tornando o processo de deploy de infraestrutura ágil, eficiente e flexível.

Pipelines, GitOps e ArgoCD

Pipelines, GitOps e ArgoCD

Aprenda a implementar pipelines CI/CD, automatizar builds, e adotar GitOps com ArgoCD para um fluxo de deploy seguro e eficiente em Kubernetes.

Ver mais

Descrição do Curso:

Aprenda a implementar pipelines CI/CD, automatizar builds, e adotar GitOps com ArgoCD para um fluxo de deploy seguro e eficiente em Kubernetes.


Principais Tópicos:

  1. Conceitos Básicos de Pipelines CI/CD: Introdução aos pipelines de Integração e Deploy Contínuos e seus benefícios para automação e controle de qualidade.
  2. GitHub Actions na Prática: Criação de pipelines com GitHub Actions para automatizar tarefas como builds, testes e deploys.
  3. Build Automatizado com Containers e Docker Build Cloud: Implementação de builds automatizados utilizando containers, com foco no Docker Build Cloud para builds otimizados e consistentes em ambientes de nuvem.
  4. Recursos Avançados de GitHub Actions: Gerenciamento de segredos, caching para acelerar pipelines e práticas de otimização de performance.
  5. Entendendo GitOps: Conceitos de GitOps e sua abordagem para gerenciar deploys e infraestrutura como código de forma declarativa.
  6. GitOps e Deploy na Prática com ArgoCD: Configuração e deploy de aplicações em Kubernetes usando ArgoCD, integrando o GitOps para automação e rastreabilidade.
  7. Rollback e Recuperação de Deploys com ArgoCD: Configuração de rollback automático em caso de falhas no deploy, permitindo recuperação rápida e segura, especialmente em ambientes de produção.

Habilidades adquiridas:

Após este curso, você será capaz de configurar pipelines CI/CD com GitHub Actions, realizar deploys automatizados utilizando containers e Docker Build Cloud, aplicar práticas de GitOps para gestão de infraestrutura, implementar fluxos de deploy declarativos e rastreáveis em Kubernetes com ArgoCD, e configurar estratégias de rollback para garantir estabilidade e segurança no caso de falhas em deploys.

SRE, Monitoramento e Observabilidade

SRE, Monitoramento e Observabilidade

Cursos da trilha

Observabilidade

Observabilidade

Entenda os conceitos e pilares da observabilidade e aprenda a implementar monitoramento e rastreamento em aplicações, identificando e solucionando gargalos para garantir desempenho e confiabilidade.

Ver mais

Descrição do Curso:

Entenda os conceitos e pilares da observabilidade e aprenda a implementar monitoramento e rastreamento em aplicações, identificando e solucionando gargalos para garantir desempenho e confiabilidade.


Principais Tópicos:

  1. Conceitos de Observabilidade e Principais Pilares: Introdução aos pilares da observabilidade: logs, métricas e traces, e sua importância na monitoria de sistemas.
  2. Principais Ferramentas de Observabilidade: Visão geral das ferramentas mais utilizadas, como Elastic Stack, Prometheus, Grafana e outras, destacando suas funcionalidades principais.
  3. Técnicas de Padronização para Observabilidade: Como estruturar e configurar aplicações para garantir que estejam prontas para serem monitoradas com práticas de log e rastreamento padronizados.
  4. Observabilidade na Prática com Elastic Stack: Implementação de uma solução prática de observabilidade com Elastic Stack, incluindo coleta, análise e visualização de logs, métricas e traces.
  5. APM (Application Performance Monitoring) e interpretação de dados: Introdução ao APM para monitorar a performance de aplicações, entender tempos de resposta e identificar gargalos.
  6. Rastreabilidade entre Aplicações: Implementação de rastreamento distribuído para garantir visibilidade de ponta a ponta entre aplicações e serviços.

Habilidades adquiridas:

Após este curso, você será capaz de implementar e configurar uma estratégia completa de observabilidade, utilizar ferramentas como Elastic Stack para monitorar e rastrear aplicações, identificar e resolver gargalos de desempenho, e garantir rastreabilidade entre serviços em ambientes complexos.

Prometheus e Grafana

Prometheus e Grafana

Aprenda a implementar monitoramento de aplicações e infraestrutura com Prometheus e Grafana, configurando métricas, alertas e dashboards personalizados para análise e visualização de dados.

Ver mais

Descrição do Curso:

Aprenda a implementar monitoramento de aplicações e infraestrutura com Prometheus e Grafana, configurando métricas, alertas e dashboards personalizados para análise e visualização de dados.


Principais Tópicos:

  1. Fundamentos do Prometheus: Introdução ao Prometheus e ao conceito de métricas para monitoramento de aplicações e infraestrutura, incluindo guia de instalação e configuração inicial para coleta e armazenamento de métricas.
  2. Principais Tipos de Métricas: Explicação dos tipos de métricas (counters, gauges, histograms, summaries) e sua aplicação prática.
  3. Integração do Prometheus em uma Aplicação: Passo a passo para integrar Prometheus em uma aplicação, configurando a coleta de métricas customizadas.
  4. Introdução ao PromQL: Primeiros passos com PromQL para realizar consultas em métricas, extraindo dados úteis para monitoramento.
  5. Alert Manager do Prometheus: Configuração e uso do Alert Manager para enviar alertas com base em regras definidas, garantindo resposta rápida a problemas.
  6. Grafana para Visualização de Dados: Introdução ao Grafana, uma ferramenta de visualização que permite criar dashboards dinâmicos para monitoramento.
  7. Configurando Prometheus ao Grafana: Integração de Prometheus ao Grafana para visualização de métricas em tempo real.
  8. Instalação e Importação de Dashboards no Grafana: Instalação de dashboards prontos e importação de templates populares para monitoramento.
  9. Customização de Dashboards no Grafana: Criação e customização de dashboards no Grafana, com filtros e visualizações personalizadas.

Habilidades adquiridas:

Após este curso, você será capaz de configurar Prometheus para monitorar métricas, criar e gerenciar alertas com Alert Manager, e usar Grafana para visualizar dados em dashboards personalizados, permitindo uma análise detalhada e eficiente do desempenho de suas aplicações e infraestrutura.

OpenTelemetry

OpenTelemetry

Entenda os fundamentos do OpenTelemetry e aprenda a instrumentar aplicações para monitoramento avançado, utilizando coletores e integrando com diferentes vendors e backends.

Ver mais

Descrição do Curso:

Entenda os fundamentos do OpenTelemetry e aprenda a instrumentar aplicações para monitoramento avançado, utilizando coletores e integrando com diferentes vendors e backends.


Principais Tópicos:

  1. Fundamentos do OpenTelemetry: Introdução ao OpenTelemetry, seus objetivos e como ele unifica a coleta de dados de observabilidade (traces, métricas e logs) em uma única plataforma.
  2. Instrumentação Automática na Prática: Configuração de instrumentação automática para monitorar rapidamente aplicações, reduzindo o esforço de implementação.
  3. Customização do OpenTelemetry em uma Aplicação: Implementação de instrumentação customizada para adaptar a coleta de dados às necessidades específicas da aplicação.
  4. Collector e Arquiteturas do OpenTelemetry: Estrutura e funcionamento do OpenTelemetry Collector, explorando diferentes arquiteturas para coleta, processamento e exportação de dados.
  5. Integração com Coletores e Alteração de Vendors/Backends: Configuração da aplicação para integrar com coletores e realizar mudanças de vendors ou backends, garantindo flexibilidade e portabilidade de dados.
  6. Boas Práticas para o Desenvolvimento de Aplicações Observáveis: Práticas recomendadas para tornar aplicações facilmente observáveis, incluindo padronização de logs, métricas e otimização de rastreabilidade.

Habilidades adquiridas:

Após este curso, você será capaz de implementar OpenTelemetry em suas aplicações, configurar coletores e personalizar a instrumentação de acordo com as necessidades do negócio, além de adotar boas práticas para tornar as aplicações mais observáveis e fáceis de monitorar, independentemente do vendor ou backend utilizado.

Site Reliability Engineering (SRE)

Site Reliability Engineering (SRE)

Neste curso, você descobrirá os fundamentos e práticas de Site Reliability Engineering (SRE), aprendendo a implementar uma infraestrutura confiável e resiliente. O curso abrange o uso de métricas essenciais e técnicas avançadas, como inteligência artificial, para garantir operações eficazes em ambientes complexos e em constante mudança.

Ver mais

Descrição do Curso:

Neste curso, você descobrirá os fundamentos e práticas de Site Reliability Engineering (SRE), aprendendo a implementar uma infraestrutura confiável e resiliente. O curso abrange o uso de métricas essenciais e técnicas avançadas, como inteligência artificial, para garantir operações eficazes em ambientes complexos e em constante mudança.


Principais Tópicos:

  1. Fundamentos de SRE: Introdução ao SRE, seu papel em manter sistemas confiáveis e resilientes e a importância da confiabilidade em sistemas de grande escala.
  2. Diferença entre DevOps e SRE: Comparação entre as filosofias DevOps e SRE, destacando abordagens distintas para confiabilidade, automação e otimização contínua.
  3. Principais Métricas: SLA, SLI, SLO e Error Budgets: Explicação das métricas essenciais, incluindo Acordos de Nível de Serviço (SLA), Indicadores de Nível de Serviço (SLI), Objetivos de Nível de Serviço (SLO) e como aplicar error budgets para gestão de riscos.
  4. Error Budgets na Prática: Definição, monitoramento e uso de error budgets para tomar decisões sobre a frequência de releases e mitigação de incidentes.
  5. Gestão de Incidentes e Monitoramento com Alertas: Estratégias para configuração de alertas e monitoramento, além de técnicas de gestão de incidentes usando ferramentas como Prometheus, Grafana e PagerDuty para garantir resposta rápida e redução do impacto.
  6. Práticas de Chaos Engineering para Resiliência: Aplicação de Chaos Engineering para testar e aumentar a resiliência do sistema, simulando falhas e analisando os resultados para identificar pontos de melhoria.
  7. Inteligência Artificial na Confiabilidade Operacional: Utilização de inteligência artificial para desenvolver e gerar indicadores técnicos e de negócios, visando maximizar o nível de confiabilidade e desempenho de aplicações críticas, permitindo uma análise mais precisa e fundamentada para a tomada de decisões estratégicas.

Habilidades adquiridas:

Ao final do curso, o aluno será capaz de implementar práticas de SRE para monitorar e gerenciar SLAs, SLIs e SLOs, aplicar e gerenciar error budgets, configurar alertas e monitoramento de incidentes, utilizar Chaos Engineering para resiliência, e integrar inteligência artificial para otimizar a confiabilidade e o desempenho de sistemas críticos.

DevSecOps

DevSecOps

Cursos da trilha

DevSecOps na Prática

DevSecOps na Prática

Entenda como integrar segurança diretamente nos pipelines de CI/CD, aplicando práticas de DevSecOps para identificar e corrigir vulnerabilidades durante o desenvolvimento e entrega de software.

Ver mais

Descrição do Curso:

Entenda como integrar segurança diretamente nos pipelines de CI/CD, aplicando práticas de DevSecOps para identificar e corrigir vulnerabilidades durante o desenvolvimento e entrega de software.


Principais Tópicos:

  1. O que é DevSecOps: Introdução ao conceito de DevSecOps, seu papel na segurança do ciclo de vida de desenvolvimento e sua importância na cultura ágil.
  2. DAST com SonarQube: Implementação de Dynamic Application Security Testing (DAST) com SonarQube para detectar vulnerabilidades em aplicações em execução.
  3. SAST com OWASP ZAP: Utilização do OWASP ZAP para realizar Static Application Security Testing (SAST), identificando vulnerabilidades no código antes do deploy.
  4. SCA com Dependabot: Gerenciamento de segurança de dependências com Dependabot, detectando e corrigindo vulnerabilidades em bibliotecas externas.
  5. Integração de Pipeline de Segurança na Entrega de Software: Como configurar um pipeline de CI/CD com automação de testes de segurança, incluindo relatórios de vulnerabilidades e bloqueios de builds.

Habilidades adquiridas:

Após este curso, você será capaz de implementar práticas de DevSecOps, realizar testes de segurança automatizados com DAST, SAST e SCA, integrar ferramentas de segurança diretamente no pipeline de CI/CD, e identificar e corrigir vulnerabilidades rapidamente, garantindo uma entrega de software segura e confiável.

Quero desenvolver aplicações de grande porte

Solicitar Contato

A estrutura que você precisa para acelerar seu aprendizado

Nossa plataforma oferece uma experiência de aprendizado imersiva e personalizada, moldada para acompanhar seu ritmo e estilo de estudo.

  • Plataforma Full Cycle

    A plataforma Full Cycle foi desenvolvida sob medida para proporcionar o melhor aprendizado em cursos de tecnologia. Ela oferece vídeos de alta qualidade, trilhas de aprendizagem organizadas, resolução prática de desafios técnicos, suporte 24/7 com inteligência artificial, fóruns de discussão ativos e muito mais, tudo voltado para aprimorar suas habilidades e acelerar sua carreira.
    Laboratório Prático
  • Suporte 24/7 integrado com IA

    • Com a nossa Inteligência Artificial no comando, obtenha respostas rápidas, precisas e confiáveis para suas questões mais desafiadoras.
    • Tenha a possibilidade de tirar dúvidas específicas referente ao curso de forma individual com seus tutores
    • Experimente o poder da tecnologia de ponta enquanto interage com uma comunidade engajada de alunos como você.
    Laboratório Prático
  • Não deixe nenhuma dúvida passar. Participe de nosso fórum de discussão.

    • Tire dúvidas em grupo e individualmente com nossos tutores
    • Receba respostas imediatas através de nossa inteligência artificial
    • Aprenda diariamente com a base de conhecimento gerada pelos nossos alunos e tutores
    Laboratório Prático
  • Correção de desafios técnicos

    Receba feedback personalizado de nossos tutores para cada desafio técnico, acelerando seu aprendizado
    e garantindo um progresso constante na sua carreira.

    Laboratório Prático
  • Certificado

    Emita seu certificado de conclusão a cada curso concluído e compartilhe com o mercado suas novas habilidades.

    Laboratório Prático

Plataforma Full Cycle

A plataforma Full Cycle foi desenvolvida sob medida para proporcionar o melhor aprendizado em cursos de tecnologia. Ela oferece vídeos de alta qualidade, trilhas de aprendizagem organizadas, resolução prática de desafios técnicos, suporte 24/7 com inteligência artificial, fóruns de discussão ativos e muito mais, tudo voltado para aprimorar suas habilidades e acelerar sua carreira.
Laboratório Prático

Suporte 24/7 integrado com IA

  • Com a nossa Inteligência Artificial no comando, obtenha respostas rápidas, precisas e confiáveis para suas questões mais desafiadoras.
  • Tenha a possibilidade de tirar dúvidas específicas referente ao curso de forma individual com seus tutores
  • Experimente o poder da tecnologia de ponta enquanto interage com uma comunidade engajada de alunos como você.
Laboratório Prático

Não deixe nenhuma dúvida passar. Participe de nosso fórum de discussão.

  • Tire dúvidas em grupo e individualmente com nossos tutores
  • Receba respostas imediatas através de nossa inteligência artificial
  • Aprenda diariamente com a base de conhecimento gerada pelos nossos alunos e tutores
Laboratório Prático

Correção de desafios técnicos

Receba feedback personalizado de nossos tutores para cada desafio técnico, acelerando seu aprendizado
e garantindo um progresso constante na sua carreira.

Laboratório Prático

Certificado

Emita seu certificado de conclusão a cada curso concluído e compartilhe com o mercado suas novas habilidades.

Laboratório Prático

Material didático com toda a base conceitual do curso

O livro Full Cycle será a base conceitual de todo nosso material didático. Nesse livro você terá contato com os principais conceitos cobertos no curso de forma compilada e contextualizada, potencializando assim o seu processo de aprendizagem

Ele é 100% digital e seu conteúdo será entregue de forma incremental conforme seus capítulos forem ficando prontos.
Livro Full Cycle Livro Full Cycle

Para quem é o curso

Esse curso foi desenhado para desenvolvedores que desejam dar um grande salto em suas carreiras sendo capazes de entregar aplicações de gente grande, independente da linguagem de programação.


Se você já desenvolveu alguma aplicação antes, esse curso é para você. Assista ao vídeo abaixo

Empresas que contratam nossos alunos

Com o Curso Full Cycle, muitos profissionais ampliam suas oportunidades e conquistam posições nas maiores empresas do mercado. Faça sua matrícula e dê o próximo passo para atuar em projetos de grande porte e se destacar onde quer que você vá.

Microsoft
Mercado Livre
Ifood
Itaú
NuBank
Bradesco
Globo
Totvs
Stone
Picpay
Elo
Stefanini