1. Cloud & DevOps
IaC – Infraestrutura como Código
Aplicação em ambientes híbridos e cloud-native
Caio Candido
São Paulo, setembro de 2022
2. 2 of 22
Especialista em negócios e formação de alianças para América Latina. Fui instrutor Linux e Cyber Security por mais de 10 anos. Com
mais de 17 anos de experiência incluindo liderar equipes técnicas, liderar projetos altamente críticos focados no desenvolvimento e
entrega de soluções para o mercado brasileiro e latino. Sou apaixonado por OpenSource, e inovação, atualmente trabalhando em projetos
de 5G Core nas operadoras de Telecom. Especialista para a América Latina para construir projetos e arquiteturas em: Hybrid Cloud,
Private Cloud, DevOps, Cloud-native, Data Analytics, e entusiasta em AI/ML, com principal objetivo de construir novos casos de uso e
soluções para Edge Computing, acelerando a adoção de novas tecnologias, novas arquiteturas, e colaborando para a mudança da
experiência digital e humana.
Breve biografia do participante
https://www.linkedin.com/in/ccandido/
https://github.com/candidocaio
3. 3 of 22
Impulsionar o desempenho e agilidade de
TI com DevOps
Common Drivers
Promova a colaboração
entre as equipes de
Desenvolvedores e
Operações
Estabeleça e compartilhe
conjuntos de
ferramentas e
metodologias comuns
DevOps Drivers
Necessidade de aumentos
exponenciais de produtividade
em desenvolvedores e
administradores de sistema
para entregar aplicativos em
velocidade
Necessidade de que o código
esteja sempre em um estado
liberável conduzido por CD
Pipelines
Infrastructure as Code
Drivers
Necessidade de
processos confiáveis e
repetíveis para configurar
os recursos de
infraestrutura
subjacentes necessários
para aplicativos
A configuração é
armazenada em código,
tornando-a repetível e
reduzindo bastante os
erros
Time de
Aplicações
Time de
Operações
4. 4 of 22
Os 3 principais desafios do negócio
Cultura /
Organização
Ferramentas de
mapeamento
para pipelines
de CI/CD
Medição para
o sucesso
5. 5 of 22
Cultura organizacional
Comece a difundir as práticas e valores nativos do DevOps
De silos a equipes de entrega
Resultados sobre as atividades
•Esta mudança não é “resolvida” com uma mudança de tecnologia
•Esta mudança evoluiu através de:
Pessoas + Processo + Tecnologia
= Cultura
Technology
Operations
DevOps
6. 6 of 22
Cultural organizacional para o IaC
O processo de configuração do datacenter leva meses
Configuração manual
Propenso a erros
A solução de problemas leva dias ou semanas
Alterações de configuração
Registrado em uma série de documentos
Processo de verificação manual
Extremamente demorado
Semanas a meses
Propenso a erros
O processo de configuração do datacenter leva horas
A configuração é armazenada em código
Repetivel
Reduz muito os erros
As alterações são registradas e versionadas
automaticamente
Instantaneamente no controle de origem
Verificação frequente
Leva segundos para concluir
Configuração – Infraestrutura Tradicional
MESES
Infrastrutura: as Code & Continuos Delivery
HORAS
7. 7 of 22
Infrastructure-as-Code
Comparação entre IaC e práticas tradicionais de automação de infraestrutura
Implantação automatizada de infraestrutura e aplicativos
Base de código flexível (declarativa e parametrizada)
Serviços de infraestrutura controlados por versão
Alterações/atualizações gerenciadas por meio de pipeline orquestrado
Testes automatizados verificam especificações funcionais e não funcionais
Configurações do sistema de automonitoramento de infraestrutura
A infraestrutura se recupera automaticamente para um estado ou versão
Totalmente auditável para conformidade e segurança
Infrastructure
-as-Code
Automação
Tradicional
8. 8 of 22
Plataforma de Automação para Cloud
Manual DevOps
Infrastructure-as-Code
Script
Automação orquestrada
para fornecer serviços
essenciais de TI, como
máquinas virtuais ou
contêineres; código
tipicamente
procedimental; portal de
autoatendimento
Aplique as melhores
práticas ágeis, enxutas e
de engenharia de
software aos esforços de
automação e
orquestração; código
tipicamente declarativo;
Pipelines orientados por
API
Sistema humano
para entrega de
serviços de TI;
baseado em
bilhete
Integrado com
implantação de
aplicativos e
automação de testes;
entrega contínua
completa; operações
autônomas
IaaS PaaS FaaS
CaaS
XaaS Aplicação
automatizada
Muito
Disruptivo
Menos
Disruptivo
Não é nada
Disruptivo
9. 9 of 22
Software Engineering
Configuração automatizada repetível e consistente
Declare o estado desejado
em código legível CONTROLE DE
VERSÃO
PERFIS DE
AMBIENTES
App
Env
as-a
(Eaa
Orchestration &
Deployment Engine
• Storage
• Compute
• Rede
• Middleware
• Runtime
• Application
CONFIG
Gerenciar para um
estado bom conhecido
Trabalho - bom estado
conhecido
1
2
3
BINARY
class ‘elasticsearch’ {
package { ‘elasticsearch’:
ensure => installed,
}
file { ‘elasticsearch.conf’:
path => “${ES_HOME}/config/elasticsearch
source => ‘puppet:///modules/elasticsearch
require => Package[‘elasticsearch’],
notify => Service[‘elasticsearch’],
}
Service { ‘elasticsearch’:
ensure => running,
enable => true,
10. 10 of 22
Commit & Build
Aplicação
Validação
Code & Build
Deploy
Aplicação
Commit & Build
Infraestrutura
Validar a
Automation
Deploy
Infraestrutura
Aceitando o
Teste
Capacity do
Teste
Controle de versão
Infrastructure as
Code
PRODUÇÃO
TROCA
CICLO DE VIDA DE DESENVOLVIMENTO DE SOFTWARE (SDLC DO DESENVOLVEDOR) E GERENCIAMENTO DE DEPLOYS
INFRASTRUCTURE AS CODE (OPS’ SDLC) PROVISIONAMENTO E GESTÃO
CD Pipelines
11. 11 of 22
Deployment Environments Management & Monitoring
Version Control Build Tools Continuous Integration Tools Test Frameworks
Test
Manager
Commit & Build
Application
Validate
Code & Build
Deploy
Application
Acceptance
Test
Capacity
Test
Deploy
Infrastructure
Commit & Build
Infrastructure
Validate
Automation Package
Production
Deploy
Version Control
Configuration Managment Artifact Repositories
API Library
API Library
Ideal DevOps Workflow
O API Framework
permite um fluxo de
trabalho comum para
dar suporte a várias
ferramentas e pilhas de
tecnologia
Ferramentas de mapeamento para pipelines de CD
12. 12 of 22
Medição para o sucesso
Otimize o fluxo de trabalho para criar produtos e serviços que criem valor de forma mais rápida e confiável
REDUZA A
COMPLEXIDADE E
O RISCO
AUMENTAR A
AGILIDADE
ACELERE O TEMPO DE COLOCAÇÃO NO
MERCADO
FORNEÇA NOVOS SERVIÇOS QUE
DIFERENCIAM SEU NEGÓCIO
OTIMIZAR CUSTOS
APLIQUE SEU ORÇAMENTO DE TI
COM BASE NO ROI E NOS
REQUISITOS DO APLICATIVO
MINIMIZAR VULNERABILIDADES DE SEGURANÇA
UNIFIQUE A SEGURANÇA DO DATA CENTER
PARA A NUVEM E O DISPOSITIVO
GERENCIAR ATRAVÉS DAS NUVENS
GERENCIE CUSTO, USO, PLANEJAMENTO
DE CAPACIDADE, DESEMPENHO E
SEGURANÇA EM TODAS AS NUVENS
DIMENSIONE PERFEITAMENTE
ADICIONE RECURSOS PERFEITAMENTE EM
NUVENS PRIVADAS E PÚBLICAS, EXPANDA
GLOBALMENTE
ESTENDA PARA QUALQUER NUVEM
APROVEITE A INFRAESTRUTURA
CONSISTENTE NAS NUVENS
INOVAÇÂO
OPERAÇÂO
13. 13 of 22
Benefícios do DevOps/IaC
DevOps – Execução com velocidade IaC - Operações indolores
• Desenvolva em velocidade
• Capacidade de escala
• Forneça ciclos de feedback
• Consistência de entrega
• Sem ingressos
• Sem operação manual
• Sem aquisição
• Sempre funciona
14. 14 of 22
Realize a transformação ‘com você’
Impulsione mudanças organizacionais duradouras
• Modelo de entrega
conjunta projetado para
impulsionar a mudança
de comportamento
enquanto desenvolve
habilidades
• A abordagem "Ensinar a
pescar" desenvolve
escala dentro da
empresa
• Modelo comprovado
para mudar a cultura
LEAD
COACH
TRANSITION
PAIR
15. 15 of 22
Começando agora mesmo
• Desenvolvimento terceirizado (remoto)
• Ferramentas fundamentais implantadas localmente
• Pipeline de infraestrutura pré-configurada
• Serviços automatizados para preencher um catálogo
de serviços
Veja a Transformação*
Demonstrar as melhores práticas
• Melhore a equipe e semeie novas práticas
• Reprojetar a entrega e implantar fluxos de trabalho
• Implante pipeline de infraestrutura personalizado
• Desenvolver serviços automatizados iniciais
• Criar processo de integração do catálogo de serviços
Serviços de IT API
Automation
OU
* Necessário para mudanças sustentáveis
16. 16 of 22
Como começar?
Foco na stack de aplicativos:
• Maior valor para a organização
• Ferramental mais completo
• Menor complexidade
• Alguma familiaridade com ferramentas e
linguagens
BARE
METAL
SDDC
CLOUD
MGMT
APP
STACK
COMPLEXIDADE
VALOR
17. 17 of 22
Conclusão
Os aplicativos nativos da nuvem (Cloud-Native) estão permitindo que as equipes de DevOps criem, automatizem seus aplicativos modernos e gerenciá-
los em escala, para fazer Deploy na Cloud ou em seus amibente hibridos de infraestrutura. Seja no local ou na nuvem, eles desejam ter a capacidade de
oferecer inovação competitiva de produtos para seus respectivos mercados mais rapidamente. Os aplicativos nativos da nuvem derivam de
microsserviços, contêineres e plataformas de orquestração, como Kubernetes. Esses aplicativos modernos aumentar a velocidade, eficiência e
portabilidade do desenvolvimento de aplicativos e implantação, enquanto impulsiona o crescimento de dados. No entanto, esse crescimento pode criar
riscos não intencionais, como sombra de TI e silos de gerenciamento, que podem produzir custos incertos nas despesas gerais de gestão. No entanto,
as equipes de DevOps podem encurralar e gerenciar com eficiência afloramentos não intencionais de TI de sombra por meio de provisionamento e
gerenciamento consistentes e escaláveis por meio da integração com soluções novas de mercado. Importante capacitar as equipes de DevOps a
projetar e operar seus ambientes nativos da nuvem enquanto aceleram em sintonia com seu crescimento demandas de negócios. Essas equipes
exigem soluções integradas, sem interrupções e mecanismos confiáveis para integrar aplicativos rapidamente com agilidade e flexibilidade. Com o
amplo portfólio que existe hoje, em diversas empresas focada nos Business de Cloud & DevOps, projetados para TI moderna, os clientes podem
implantar armazenamento de ponta a ponta, proteção de dados, computação e rede aberta soluções que dão suporte à rápida adoção nativa da nuvem.
Ofertas corporativas existentes. podem fornecer soluções de TI fundamentais intrinsecamente projetadas para mover aplicativos e cargas de trabalho
para a produção. Como parte da comunidade nativa da nuvem, muitas empresas contribuem para a CNCF (Cloud-Native Computing Foundation) SIG
(Special Interest Group), promover a colaboração entre desenvolvedores e estrategistas de TI para garantir que os aplicativos que estão sendo
entregues estão atendendo aos padrões e expectativas da comunidade de código aberto. A aceleração de tecnologias como contêineres podem levar a
uma sobrecarga de gerenciamento incerta custos, mesmo se orquestrado pelo Kubernetes. As equipes de DevOps criam sinergias entre
desenvolvedores e operações de TI, permitindo que eles integrem as melhores práticas de TI para esses aplicativos modernos, contando com
ferramentas de código aberto acessíveis em bare metal, virtual e plataformas conteinerizadas. Na hora da implantação de Cloud & DevOps, devem
buscar suporte para necessidades de DevOps em tempo real em plataformas de contêiner e Kubernetes e suporta seu próprio design necessidades em
relação às estratégias de TI atuais.