Aula 3
Metodologias de
Computação em Nuvem
desenvolvimento
1 2
61 61
Prof. Armando Kolbe Junior
1 2
Introdução às metodologias
de desenvolvimento em nuvem
Introdução às Agilidade e colaboração
metodologias de
O desenvolvimento de aplicações em nuvem
desenvolvimento
exige metodologias ágeis que promovam a
3
em nuvem 4
colaboração contínua entre equipes de
61 61
desenvolvimento e operações
Crédito: Armando Kolbe Junior/Gemini/Google
3 4
Introdução às metodologias
DevOps e práticas ágeis
de desenvolvimento em nuvem
Integração e automação
DevOps une desenvolvimento e operações
Exemplo real: a Netflix utiliza DevOps para
para criar um ciclo de integração contínua,
integrar e entregar novos recursos de forma
5 6 reduzindo falhas e aumentando eficiência
61
contínua e eficiente 61
Agile promove ciclos curtos de feedback e
iteração rápida
5 6
1
DevOps e práticas ágeis Integração e entrega contínua (CI/CD)
Automação no desenvolvimento
CI/CD são práticas que automatizam a
Exemplo real: o Spotify usa Scrum (Agile)
integração de código e sua entrega em
para coordenar suas equipes de
7
61
desenvolvimento distribuídas
8
61 produção, garantindo que novos recursos
sejam lançados de forma contínua e sem
falhas
7 8
Integração e entrega contínua (CI/CD) Infraestrutura como código (IaC)
Automatizando a infraestrutura
IaC permite gerenciar e provisionar
Exemplo real: o GitLab é amplamente infraestrutura por meio de código,
utilizado para pipelines de CI/CD, permitindo automatizando a criação e o gerenciamento
de recursos
9 10
61
a entrega contínua de código 61
Ferramentas como Terraform e Docker
desempenham papéis fundamentais
9 10
Ferramentas de desenvolvimento
Infraestrutura como código (IaC)
(Docker, Kubernetes)
Contêineres e orquestração
Docker facilita o desenvolvimento em
Exemplo real: a HashiCorp Terraform é usada
contêineres, enquanto Kubernetes gerencia
para criar ambientes de nuvem replicáveis e
11
61
consistentes
12
61 esses contêineres em larga escala,
garantindo alta disponibilidade e
escalabilidade
11 12
2
Ferramentas de desenvolvimento
(Docker, Kubernetes)
Arquitetura de microsserviços
Exemplo real: o Google
utiliza Kubernetes para
13
orquestrar milhões de 14
61 61
contêineres diariamente
Crédito: Armando Kolbe Junior/Gemini/Google
13 14
Introdução à arquitetura de microsserviços
Introdução à Componentes pequenos e independentes
arquitetura de Microsserviços dividem uma aplicação em
microsserviços pequenos serviços autônomos, cada um
15 16
executando uma função específica e
61 61
comunicando-se via APIs
Crédito: Armando Kolbe Junior/Gemini/Google
15 16
Introdução à arquitetura de microsserviços Escalabilidade e resiliência
Serviços independentes e flexíveis
Exemplo real: a Amazon migrou sua
Microsserviços permitem escalabilidade
infraestrutura para uma arquitetura de
17 microsserviços para aumentar a 18
independente, ou seja, cada serviço pode ser
dimensionado conforme a demanda,
61 61
escalabilidade
melhorando a resiliência da aplicação
17 18
3
Escalabilidade e resiliência Flexibilidade no desenvolvimento
Equipes e tecnologias diversificadas
Exemplo real: o Uber utiliza microsserviços
A arquitetura de microsserviços permite que
para escalar seus sistemas de forma
19 independente, otimizando a alocação de 20
diferentes equipes trabalhem de forma
independente, utilizando tecnologias e
61 61
recursos
linguagens de programação diferentes
19 20
Flexibilidade no desenvolvimento Ferramentas para microsserviços
Spring Boot e [Link]
Exemplo real: a Netflix utiliza várias Ferramentas como Spring Boot e [Link]
linguagens de programação para diferentes facilitam a criação de microsserviços
21 22
61
microsserviços, permitindo maior agilidade 61
escaláveis e eficientes, integrando facilmente
com outras plataformas de nuvem
21 22
Ferramentas para microsserviços Gerenciamento de APIs em microsserviços
API Gateway e Service Mesh
O gerenciamento de APIs é essencial para
Exemplo real: o Spring Boot é amplamente coordenar a comunicação entre
utilizado em aplicações Java orientadas a microsserviços
23 24
61
microsserviços 61
Ferramentas como API Gateway e Service
Mesh ajudam a gerenciar e monitorar essas
interações
23 24
4
Gerenciamento de APIs em microsserviços
Exemplo real: o API
Computação serverless
Gateway da AWS
gerencia e otimiza as
25
61
comunicações entre 26
61
os microsserviços da
Amazon
Crédito: Armando Kolbe Junior/Gemini/Google
25 26
Introdução à computação serverless
Executando código sem gerenciar servidores
Introdução à
A computação serverless permite que o
computação serverless
27
código seja executado em resposta a 28
eventos, sem a necessidade de provisionar
61 61
ou gerenciar servidores
Crédito: Armando Kolbe Junior/Gemini/Google
27 28
Introdução à computação serverless Escalabilidade automática
Ajustando recursos conforme a demanda
Exemplo real: o AWS Lambda permite que
O serverless oferece escalabilidade
empresas executem código em resposta a
29
61
eventos como o upload de arquivos no S3
30
61 automática, ajustando recursos conforme a
demanda sem intervenção manual
29 30
5
Escalabilidade automática Redução de custos
Exemplo real: o Azure Functions ajusta Pagamento sob demanda
automaticamente a quantidade de recursos A computação serverless segue um modelo
conforme a demanda de processamento
31 32
de pagamento por uso, no qual empresas
pagam apenas pelo tempo de execução de
61 61
suas funções
31 32
Redução de custos Principais plataformas serverless
AWS Lambda, Azure Functions, Google Cloud
Functions
Exemplo real: o Google Cloud Functions é
As três principais plataformas serverless
usado para executar tarefas curtas, como
33
61
análise de logs, a baixo custo
34
61 oferecem suporte para várias linguagens de
programação e permitem integração com
outros serviços em nuvem
33 34
Principais plataformas serverless Casos de Uso de Computação Serverless
Processamento de eventos e automação
Exemplo real: o Google Cloud Functions é A computação serverless é ideal para
integrado nativamente com o Firebase, automação de tarefas e processamento de
35
61
permitindo a criação de backends serverless 36
61 eventos em tempo real, como a execução de
para aplicativos móveis funções em resposta a uploads ou alterações
em bancos de dados
35 36
6
Casos de uso de computação serverless
Exemplo real: a Slack Ferramentas de
usa funções serverless desenvolvimento em nuvem
para processar eventos
37
em tempo real e enviar 38
notificações
61 61
automáticas
Crédito: Armando Kolbe Junior/Gemini/Google
37 38
SDKs e frameworks de nuvem
AWS SDK, Azure SDK, GCP SDK
SDKs e frameworks SDKs fornecem bibliotecas para integrar
de nuvem facilmente os serviços de nuvem em
39
61
40
61 aplicações, permitindo que desenvolvedores
acessem recursos da nuvem diretamente do
código
Crédito: Armando Kolbe Junior/Gemini/Google
39 40
SDKs e frameworks de nuvem Infraestrutura como código (IaC)
Terraform e AWS CloudFormation
Exemplo real: o AWS SDK para Java permite IaC permite que desenvolvedores
acessar diretamente serviços como S3, EC2 e provisionem infraestrutura de forma
41 42
61
DynamoDB 61
automática e repetível, usando arquivos de
configuração para definir recursos
41 42
7
Infraestrutura como código (IaC) Desenvolvimento low-code/no-code
Microsoft Power Apps e OutSystems
As plataformas low-code/no-code permitem
Exemplo real: a HashiCorp Terraform permite
que usuários criem aplicações rapidamente,
definir e gerenciar múltiplos provedores de
43
61
nuvem em um único arquivo
44
61 sem a necessidade de escrever código
complexo, acelerando o desenvolvimento de
soluções empresariais
43 44
Desenvolvimento low-code/no-code Gerenciamento de infraestrutura na nuvem
AWS Management Console e Azure Portal
Exemplo real: o Microsoft Power Apps
Ferramentas de gerenciamento em nuvem,
permite que usuários criem rapidamente
45 aplicações de negócios usando interfaces 46
como o AWS Management Console e o Azure
Portal, oferecem interfaces gráficas para
61 61
visuais
monitorar e gerenciar recursos em nuvem
45 46
Plataformas de desenvolvimento
Gerenciamento de infraestrutura na nuvem
colaborativo
GitHub e GitLab
Exemplo real: o AWS Management Console Ferramentas de desenvolvimento
permite criar e monitorar instâncias EC2, colaborativo, como GitHub e GitLab,
47
61
configurar S3 e gerenciar VPCs de forma 48
61 permitem versionamento de código,
centralizada integração contínua e colaboração entre
equipes distribuídas
47 48
8
Plataformas de desenvolvimento
colaborativo
Segurança
Exemplo real: o GitHub
no desenvolvimento
Actions permite
de aplicações
automações e CI/CD
49
61
diretamente na 50
61
plataforma de controle
de versão
Crédito: Armando Kolbe Junior/Gemini/Google
49 50
Práticas de segurança no desenvolvimento
Práticas de Secure Coding e DevSecOps
segurança no Segurança deve ser integrada desde o início
desenvolvimento do ciclo de desenvolvimento, garantindo que
51 52
vulnerabilidades sejam detectadas e
61 61
corrigidas rapidamente
Crédito: Armando Kolbe Junior/Gemini/Google
51 52
Práticas de segurança no desenvolvimento OWASP Top 10
Principais vulnerabilidades
Exemplo real: o DevSecOps integra O OWASP Top 10 é uma lista das 10
segurança no pipeline de CI/CD, vulnerabilidades mais comuns em aplicações
53
61
automatizando testes de segurança durante o 54
61
web
desenvolvimento Essas vulnerabilidades podem ser críticas em
ambientes de nuvem
53 54
9
OWASP Top 10 Ferramentas de segurança em nuvem
AWS GuardDuty, Azure Security Center
Exemplo real: a injeção de SQL é uma das Ferramentas como o AWS GuardDuty e o
vulnerabilidades mais exploradas em Azure Security Center monitoram e protegem
55 56
61
aplicações web 61
as infraestruturas em nuvem, detectando
ameaças e prevenindo ataques
55 56
Ferramentas de segurança em nuvem Criptografia e Gerenciamento de Chaves
Protegendo Dados na Nuvem
Contextualização: Criptografia de dados em
Exemplo real: o Azure Security Center ajuda
repouso e em trânsito é essencial para
a monitorar e implementar melhores práticas
57
61
de segurança em tempo real
58
61 proteger informações sensíveis na nuvem.
Ferramentas como o AWS KMS ajudam a
gerenciar as chaves de criptografia.
57 58
Criptografia e gerenciamento de chaves Gestão de identidade e acesso (IAM)
Controlando o acesso a recursos
O gerenciamento de identidades é
Exemplo real: o AWS KMS é utilizado para
fundamental para controlar quem pode
59 criptografar automaticamente os dados no S3 60
acessar quais recursos na nuvem, garantindo
61 61
a segurança de dados sensíveis
59 60
10
Gestão de identidade e acesso (IAM)
Exemplo real: o Google
Identity and Access
Management (IAM)
61
gerencia permissões de 62
acesso a recursos no
61 61
Google Cloud
Crédito: Armando Kolbe Junior/Gemini/Google
61 62
11