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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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.

MIT DevOps IaC - Infra como Código

  • 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 Especialistaem 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 Impulsionaro 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 Os3 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 Culturaorganizacional 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 Culturalorganizacional 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çãoentre 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 Plataformade 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 SoftwareEngineering 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 DeploymentEnvironments 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çãopara 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íciosdo 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 Realizea 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çandoagora 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 Comocomeç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 Osaplicativos 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.