Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
May 14, 2019
André Rocha Agostinho
CTO SindicoNet / Magnadev
Scaling Multi-Cloud
with Infrastructure as Code
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
CMG 2018 Retrospective
Cloud Continuous Integration
A distributed approach using
distinct services
• CI/CDs in Multi-Cloud
• Organizational Framework
CMG Brasil Impact 2019
Webinar CMG.Org
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
CMG 2019
Scaling Multi-Cloud
with Infrastructure as Code
Infrastructure
•Automation setup
•Scaling Multi-Cloud
•Applying in CI/CDs
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
A long time ago...or not...
Handmade
•Each server database
•Every load balancer
•Every bit of network
configuration
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Dark Age
Fear of...
•Downtime
•Accidental misconfiguration
•Slow and fragile deployments
•Sysadmins fall to Dark side
• E.g took a vacation
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Good News
A Little Hope in..
•Cloud
•Containers
•CI/CD
•DevOps Culture
•Server Automation
...
• IaC
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
What’s IaC?
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Searching for a Definition
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
The Definition
Infrastructure as Code (IaC)
“An approach to
infrastructure automation
based on practices from
software development.”
Kief Morris
The author of Infrastructure As Code Book
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Explanation
• Consistent
• Repeatable routines
• Provisioning
• Changing
“An approach to infrastructure automation based
on practices from software development.”
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Explanation
“An approach to infrastructure automation based
on practices from software development.”
• VCS
• Tests
• Refactoring
• CI/CD
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Explanation
Infrastructure automation
Software Development Practices
Infrastructure
Software
and Data
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
How is it possible?
IT Iron Age IT Cloud Age
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Cloud Facilities
• Provisioning is easy
• Highly distributed
• Highly scalable
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Cloud Challenges
• Portfolio system growing fast.
• Keep everything running can
be tough.
• Teams are still wasting time
fixing problems.
• Multi Cloud
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
IaC Benefits
• Enable changes
• Changes are routine
(no drama)
• Continuous Improvements
• Offer solutions from:
• Implemeting (coding)
• Testing
• Measuring
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
IaC Benefits
• Increase Productivity
• Automation
• Team members get focus
on valuable things
• Share knowledge
• Team members can be
able to define, provision
and manage resources
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
IaC Principles
• System can be easily reproduced
• System are disposable
• System are consistent
• Processes are repeatable
• Design is always changing
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
IaC Practices
• Definition Files
(Ex. Recipes, Manifest..)
• Self-documented System
and Process
• Version Control System
• Continuously Test System and
Processes
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
IaC Practices
• Small Changes Rather Than
Batches
• Keep Services Available
Continuously
• Continuous Improvement
Rather Than Fixes
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
IaC Manifesto
The IaC Manifesto
Infrastructure
Supports Changes
Over
Obstacles
and Constraints
IT Teams focused
on Valuable Things
Over
Routine and
Repetitive Tasks
Team members are able to
define, provision and manage
resources
Over
Infra Teams to do
it for them
Improvements are
made Continuously
Over Big Bang Projects
Solutions for problems are
provided from implementing,
testing and measuring
Over
Discussing, meetings and
documents.
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
IaC Challenges
• Configuration Drift
• Snow Flake Server
• Automation Fear
• Erosion
• Choose IaC Tool
My servers
are inconsistent
I make changes
outside my auto tool
I’m afraid that running my
auto tool will break something
FEAR
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
IaC Challenges
• Fragile Infrastructure
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
IaC Tools
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Choosing the Right Tool
• Open Source / Multi Cloud
Multi-cloud
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Choosing the Right Tool
• Configuration Management X Provisioning
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Choosing the Right Tool
• Mutable Infrasctructure X Immutable Infrastructure
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Choosing the Right Tool
• Procedural X Declarative
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Choosing the Right Tool
• Procedural X Declarative
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Choosing the Right Tool
• Procedural X Declarative
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Choosing the Right Tool
• Declarative language
+2
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Choosing the Right Tool
• Procedural language
+5
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Choosing the Right Tool
• Master X Masterless
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Choosing the Right Tool
• Agent X Agentless
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Choosing the Right Tool
• Large community versus small community
2016 Sept
https://www.oreilly.com/library/view/terraform-up-and/9781491977071/ch01.html
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Choosing the Right Tool
• Mature versus cutting-edge
2016 Sept
https://www.oreilly.com/library/view/terraform-up-and/9781491977071/ch01.html
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Terraform
• Open source
• Multi-cloud
• Declarative language
• Masterless / Agentless
• Provisioning/Configuration Management
• First Release in 2014
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
TerraForm - Example
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
TerraForm - Example
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
TerraForm - Example
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Multi-Cloud
https://www.rightscale.com/blog/cloud-industry-insights/cloud-computing-trends-2018-state-cloud-survey
2018 Right Scale Report, August 20th
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Proibida cópia ou divulgação sem permissão
escrita do CMG Brasil.
Comparing Cloud (comparecloud.in)
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Multi-Cloud CI/CD
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
IaC in a Multi-Cloud CI/CD
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Demo
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Demo
• Web Application
• CI / CD
• No Infra
• App running on:
http://18.229.29.254
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Demo - http://18.229.29.254
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Code Repository - Bitbucket
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Azure DevOps
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
CVS
Demo – Steps
Pipeline ReleasePipeline Build
Agent Hosting
Build/Test/Publish
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
AWS EC2
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
App Running
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Demo – Terraform Files
• Plugins (Init)
• E.g: AWS, Azure..
• .Tfstate
• Store Infra State
• .Tfstate backup
• Auto backup
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Demo – Terraform Files
• AWS Policies
• IAM Roles
• AWS Provider
• Provisioning
• Variables (Keys)
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Demo – Terraform Files
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Concluding remarks
• IaC is essential for
infrastructure automation
• Fragile Infrastructure is a
biggest challenge for IaC
• Choosing IaC tool is not easy,
the tool can't just fit you infra
well.
• Preferer open source IaC with
support to Multi-Cloud
• Using IaC in pipeline makes
CI/CD full automated.
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Studies
Infrastructure as Code
Managing servers in the
Cloud, Morris, K. (2016)
Terraform Up & Running
Writing Infrastructure as
Code, Brikman, Y (2017)
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
That's all folks!
andre@magnadev.com.br
aragostinho.github.io
in/andre-rocha-agostinho/
Doubts? Reach me!
André Agostinho
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
References
1. Infrastructure as Code – Managing servers in the Cloud
Morris, K. (2016)
2. Terraform Up & Running – Writing Infrastructure as Code
Brikman, Y (2017)
3. https://www.sciencedirect.com/science/article/abs/pii/S0950584918302507
4. https://www.researchgate.net/publication/318124847_DevOps_Introducing_Infrastructure-as-Code
5. https://www.cio.com/article/3017722/what-is-infrastructure-as-code-and-why-should-you-embrace-
it.html
6. https://www.cio.com/article/3017722/what-is-infrastructure-as-code-and-why-should-you-embrace-
it.html
7. https://www.linkedin.com/pulse/devops-tools-deployment-automation-vs-infrastructure-code-
harnagy/
8. https://en.wikipedia.org/wiki/Infrastructure_as_code
9. https://www.upguard.com/blog/articles/declarative-vs.-imperative-models-for-configuration-
management
10. https://www.networkworld.com/article/2172097/puppet-vs--chef-vs--ansible-vs--salt.html
11. https://marcelzehner.ch/2018/05/22/terraform-using-multiple-files-for-configurations-and-variables/
12. https://pragmacoders.com/blog/creating-an-ec2-instance-with-terraform

Mais conteúdo relacionado

PPTX
Scaling Multi-cloud with Infrastructure as Code por André Rocha Agostinho (S...
PDF
Capacity Management e Capacity Planning. A prática e a teoria. por João Natal...
PPTX
Gestão do Consumo de MIPS
PPT
Performance e Capacidade de Aplicação e Infraestrutura - Qualidade do Código ...
PPT
Como endereçar o planejamento de capacidade em sistemas com crescimento acele...
PPTX
Scrum Overview - uma introdução ao Scrum
PPTX
Menos teste e mais qualidade - como equilibrar essa equação?
PPT
Análise da causa raiz de comportamento anômalo em ambientes de infraestrutura...
Scaling Multi-cloud with Infrastructure as Code por André Rocha Agostinho (S...
Capacity Management e Capacity Planning. A prática e a teoria. por João Natal...
Gestão do Consumo de MIPS
Performance e Capacidade de Aplicação e Infraestrutura - Qualidade do Código ...
Como endereçar o planejamento de capacidade em sistemas com crescimento acele...
Scrum Overview - uma introdução ao Scrum
Menos teste e mais qualidade - como equilibrar essa equação?
Análise da causa raiz de comportamento anômalo em ambientes de infraestrutura...

Semelhante a Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (SindicoNet) (20)

PDF
Infraestrutura como código Terraform aws openshift Ansible
PDF
Keynote - Sao Paulo Summit - 2015 - Teresa Carlson
PDF
Infraestrutura de cloud computing
PDF
Building blocks #1 - Primeiros passos na Amazon Web Services
PPTX
Começando com computação em nuvem em 2022
PPTX
Primeiros Passos na AWS
PDF
MIT DevOps IaC - Infra como Código
PDF
Continuous Deployment e DevOps na Nuvem
PPT
Deploying infrastructure as-a-service with cloudstack
PDF
Fog Computing - Falhas e Riscos da Computação em Nuvem
PDF
Treinamento Tropa de Elite Aws - Business - D1
PPTX
Apresentacao cloud
PDF
Infraestrutura como código
PPSX
Serviços em nuvem para sua infraestrutura virtual
PDF
Overview AWS - Bemobi
PDF
Introdução a Cloud Computing
PDF
Keynote AWS RoadShow Porto Alegre 2013
PPTX
Cloud 2.0 v 1.2 compacta
PDF
Aws for Developers
PPT
9.cloud computing v3.1_wl_stv
Infraestrutura como código Terraform aws openshift Ansible
Keynote - Sao Paulo Summit - 2015 - Teresa Carlson
Infraestrutura de cloud computing
Building blocks #1 - Primeiros passos na Amazon Web Services
Começando com computação em nuvem em 2022
Primeiros Passos na AWS
MIT DevOps IaC - Infra como Código
Continuous Deployment e DevOps na Nuvem
Deploying infrastructure as-a-service with cloudstack
Fog Computing - Falhas e Riscos da Computação em Nuvem
Treinamento Tropa de Elite Aws - Business - D1
Apresentacao cloud
Infraestrutura como código
Serviços em nuvem para sua infraestrutura virtual
Overview AWS - Bemobi
Introdução a Cloud Computing
Keynote AWS RoadShow Porto Alegre 2013
Cloud 2.0 v 1.2 compacta
Aws for Developers
9.cloud computing v3.1_wl_stv
Anúncio

Mais de Joao Galdino Mello de Souza (20)

PPTX
Explorando a API Rest Jira Cloud
PPTX
Enterprise computing for modern business workloads por Lívio Sousa (IBM)
PPTX
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI) e Fernando Ferreira (IBM)
PPTX
Alta Disponibilidade SQL Server por Marcus Vinicius Bittencourt (O Boticário)
PPTX
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...
PPTX
Descomplicando a Ciência de Dados por Adelson Lovatto (IBM)
PPTX
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)
PPT
Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...
PDF
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)
PDF
Assets Tokenization: Novas Linhas de negócio por Lívio Sousa (IBM)
PPT
Intelligent Edge e Intelligent Cloud por Vivian Heinrichs (Softline)
PDF
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
PPT
Gestão de Capacidade, desempenho e custos no ambiente mainframe zOS: Um caso ...
PPTX
Eletricidade e Eletrônica 1.01 por Luiz Carlos Orsoni (MAFFEI)
PPTX
Pervasive Encryption por Eugênio Fernandes (IBM)
PPTX
Minimizar RNI ambiente CICS por Milton Ferraraccio (Eccox Technology)
PDF
Como obter o melhor do Z por Gustavo Fernandes Araujo (Itau Unibanco)
PPTX
Lei geral de proteção de dados por Kleber Silva e Ricardo Navarro (Pise4)
PPTX
Detalhes internos da z14/Otimização de códigos - por Luiz Carlos Orsoni (MAFFEI)
PPTX
Gerenciamento de TI - Métodos Ágeis por Prof. Me Valdir Morales (Faculdades O...
Explorando a API Rest Jira Cloud
Enterprise computing for modern business workloads por Lívio Sousa (IBM)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI) e Fernando Ferreira (IBM)
Alta Disponibilidade SQL Server por Marcus Vinicius Bittencourt (O Boticário)
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...
Descomplicando a Ciência de Dados por Adelson Lovatto (IBM)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)
Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)
Assets Tokenization: Novas Linhas de negócio por Lívio Sousa (IBM)
Intelligent Edge e Intelligent Cloud por Vivian Heinrichs (Softline)
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
Gestão de Capacidade, desempenho e custos no ambiente mainframe zOS: Um caso ...
Eletricidade e Eletrônica 1.01 por Luiz Carlos Orsoni (MAFFEI)
Pervasive Encryption por Eugênio Fernandes (IBM)
Minimizar RNI ambiente CICS por Milton Ferraraccio (Eccox Technology)
Como obter o melhor do Z por Gustavo Fernandes Araujo (Itau Unibanco)
Lei geral de proteção de dados por Kleber Silva e Ricardo Navarro (Pise4)
Detalhes internos da z14/Otimização de códigos - por Luiz Carlos Orsoni (MAFFEI)
Gerenciamento de TI - Métodos Ágeis por Prof. Me Valdir Morales (Faculdades O...
Anúncio

Último (12)

PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PDF
Jira Software projetos completos com scrum
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
PDF
Processos no SAP Extended Warehouse Management, EWM100 Col26
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PPTX
Analise Estatica de Compiladores para criar uma nova LP
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPTX
Utilizando code blockes por andre backes
PPTX
Tipos de servidor em redes de computador.pptx
PPT
Conceitos básicos de Redes Neurais Artificiais
PDF
Manejo integrado de pragas na cultura do algodão
Viasol Energia Solar -Soluções para geração e economia de energia
Jira Software projetos completos com scrum
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
Processos no SAP Extended Warehouse Management, EWM100 Col26
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Analise Estatica de Compiladores para criar uma nova LP
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Utilizando code blockes por andre backes
Tipos de servidor em redes de computador.pptx
Conceitos básicos de Redes Neurais Artificiais
Manejo integrado de pragas na cultura do algodão

Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (SindicoNet)

  • 1. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. May 14, 2019 André Rocha Agostinho CTO SindicoNet / Magnadev Scaling Multi-Cloud with Infrastructure as Code
  • 2. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. CMG 2018 Retrospective Cloud Continuous Integration A distributed approach using distinct services • CI/CDs in Multi-Cloud • Organizational Framework CMG Brasil Impact 2019 Webinar CMG.Org
  • 3. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. CMG 2019 Scaling Multi-Cloud with Infrastructure as Code Infrastructure •Automation setup •Scaling Multi-Cloud •Applying in CI/CDs
  • 4. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. A long time ago...or not... Handmade •Each server database •Every load balancer •Every bit of network configuration
  • 5. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Dark Age Fear of... •Downtime •Accidental misconfiguration •Slow and fragile deployments •Sysadmins fall to Dark side • E.g took a vacation
  • 6. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Good News A Little Hope in.. •Cloud •Containers •CI/CD •DevOps Culture •Server Automation ... • IaC
  • 7. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. What’s IaC?
  • 8. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Searching for a Definition
  • 9. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. The Definition Infrastructure as Code (IaC) “An approach to infrastructure automation based on practices from software development.” Kief Morris The author of Infrastructure As Code Book
  • 10. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Explanation • Consistent • Repeatable routines • Provisioning • Changing “An approach to infrastructure automation based on practices from software development.”
  • 11. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Explanation “An approach to infrastructure automation based on practices from software development.” • VCS • Tests • Refactoring • CI/CD
  • 12. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Explanation Infrastructure automation Software Development Practices Infrastructure Software and Data
  • 13. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. How is it possible? IT Iron Age IT Cloud Age
  • 14. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Cloud Facilities • Provisioning is easy • Highly distributed • Highly scalable
  • 15. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Cloud Challenges • Portfolio system growing fast. • Keep everything running can be tough. • Teams are still wasting time fixing problems. • Multi Cloud
  • 16. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. IaC Benefits • Enable changes • Changes are routine (no drama) • Continuous Improvements • Offer solutions from: • Implemeting (coding) • Testing • Measuring
  • 17. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. IaC Benefits • Increase Productivity • Automation • Team members get focus on valuable things • Share knowledge • Team members can be able to define, provision and manage resources
  • 18. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. IaC Principles • System can be easily reproduced • System are disposable • System are consistent • Processes are repeatable • Design is always changing
  • 19. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. IaC Practices • Definition Files (Ex. Recipes, Manifest..) • Self-documented System and Process • Version Control System • Continuously Test System and Processes
  • 20. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. IaC Practices • Small Changes Rather Than Batches • Keep Services Available Continuously • Continuous Improvement Rather Than Fixes
  • 21. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. IaC Manifesto The IaC Manifesto Infrastructure Supports Changes Over Obstacles and Constraints IT Teams focused on Valuable Things Over Routine and Repetitive Tasks Team members are able to define, provision and manage resources Over Infra Teams to do it for them Improvements are made Continuously Over Big Bang Projects Solutions for problems are provided from implementing, testing and measuring Over Discussing, meetings and documents.
  • 22. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. IaC Challenges • Configuration Drift • Snow Flake Server • Automation Fear • Erosion • Choose IaC Tool My servers are inconsistent I make changes outside my auto tool I’m afraid that running my auto tool will break something FEAR
  • 23. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. IaC Challenges • Fragile Infrastructure
  • 24. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. IaC Tools
  • 25. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Choosing the Right Tool • Open Source / Multi Cloud Multi-cloud
  • 26. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Choosing the Right Tool • Configuration Management X Provisioning
  • 27. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Choosing the Right Tool • Mutable Infrasctructure X Immutable Infrastructure
  • 28. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Choosing the Right Tool • Procedural X Declarative
  • 29. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Choosing the Right Tool • Procedural X Declarative
  • 30. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Choosing the Right Tool • Procedural X Declarative
  • 31. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Choosing the Right Tool • Declarative language +2
  • 32. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Choosing the Right Tool • Procedural language +5
  • 33. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Choosing the Right Tool • Master X Masterless
  • 34. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Choosing the Right Tool • Agent X Agentless
  • 35. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Choosing the Right Tool • Large community versus small community 2016 Sept https://www.oreilly.com/library/view/terraform-up-and/9781491977071/ch01.html
  • 36. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Choosing the Right Tool • Mature versus cutting-edge 2016 Sept https://www.oreilly.com/library/view/terraform-up-and/9781491977071/ch01.html
  • 37. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Terraform • Open source • Multi-cloud • Declarative language • Masterless / Agentless • Provisioning/Configuration Management • First Release in 2014
  • 38. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. TerraForm - Example
  • 39. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. TerraForm - Example
  • 40. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. TerraForm - Example
  • 41. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Multi-Cloud https://www.rightscale.com/blog/cloud-industry-insights/cloud-computing-trends-2018-state-cloud-survey 2018 Right Scale Report, August 20th
  • 42. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Comparing Cloud (comparecloud.in)
  • 43. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Multi-Cloud CI/CD
  • 44. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. IaC in a Multi-Cloud CI/CD
  • 45. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Demo
  • 46. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Demo • Web Application • CI / CD • No Infra • App running on: http://18.229.29.254
  • 47. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Demo - http://18.229.29.254
  • 48. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Code Repository - Bitbucket
  • 49. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Azure DevOps
  • 50. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. CVS Demo – Steps Pipeline ReleasePipeline Build Agent Hosting Build/Test/Publish
  • 51. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. AWS EC2
  • 52. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. App Running
  • 53. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Demo – Terraform Files • Plugins (Init) • E.g: AWS, Azure.. • .Tfstate • Store Infra State • .Tfstate backup • Auto backup
  • 54. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Demo – Terraform Files • AWS Policies • IAM Roles • AWS Provider • Provisioning • Variables (Keys)
  • 55. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Demo – Terraform Files
  • 56. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Concluding remarks • IaC is essential for infrastructure automation • Fragile Infrastructure is a biggest challenge for IaC • Choosing IaC tool is not easy, the tool can't just fit you infra well. • Preferer open source IaC with support to Multi-Cloud • Using IaC in pipeline makes CI/CD full automated.
  • 57. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Studies Infrastructure as Code Managing servers in the Cloud, Morris, K. (2016) Terraform Up & Running Writing Infrastructure as Code, Brikman, Y (2017)
  • 58. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. That's all folks! andre@magnadev.com.br aragostinho.github.io in/andre-rocha-agostinho/ Doubts? Reach me! André Agostinho
  • 59. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.
  • 60. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. References 1. Infrastructure as Code – Managing servers in the Cloud Morris, K. (2016) 2. Terraform Up & Running – Writing Infrastructure as Code Brikman, Y (2017) 3. https://www.sciencedirect.com/science/article/abs/pii/S0950584918302507 4. https://www.researchgate.net/publication/318124847_DevOps_Introducing_Infrastructure-as-Code 5. https://www.cio.com/article/3017722/what-is-infrastructure-as-code-and-why-should-you-embrace- it.html 6. https://www.cio.com/article/3017722/what-is-infrastructure-as-code-and-why-should-you-embrace- it.html 7. https://www.linkedin.com/pulse/devops-tools-deployment-automation-vs-infrastructure-code- harnagy/ 8. https://en.wikipedia.org/wiki/Infrastructure_as_code 9. https://www.upguard.com/blog/articles/declarative-vs.-imperative-models-for-configuration- management 10. https://www.networkworld.com/article/2172097/puppet-vs--chef-vs--ansible-vs--salt.html 11. https://marcelzehner.ch/2018/05/22/terraform-using-multiple-files-for-configurations-and-variables/ 12. https://pragmacoders.com/blog/creating-an-ec2-instance-with-terraform

Notas do Editor

  • #2: Apresentação pessoal e apresentação do tema da apresentação
  • #3: Retrospectiva 2018
  • #4: Source: http://www.caroli.org/continuous-delivery-lead-time-and-cycle-time/
  • #5: In a data center far, far away, an ancient group of powerful beings known as sysadmins used to deploy infrastructure manually. Every server database, every load balancer, every bit of network configuration was created and managed by hand.
  • #6: In a data center far, far away, an ancient group of powerful beings known as syadmins used to deploy infrastructure manually. Every server database, every load balancer, every bit of network configuration was created nd managed by hand.
  • #10: IaC is an emergent term. It doesn’t have a clear origin, but there rumors that John Willis used this term in 2009 during a Velocity Conference - San Jose California
  • #14: Iron Age: systems were direclty bound to physical hardware. Provisitioning and maintaining infra was manual work, forcing humans to spend time pointings, clicking, and typing to keep gears turning. Change management processes emphasized careful up-front consideration, design, and review work. This made sense because getting it wrong was expensive. Cloud Age: Systems have been decoupled from the physical hardware. Routine provisioning and maintenence can be delegated to software systems, freeing the humans from drudgery. Changes can be made in minutes, if not second. Change management, can exploit this speed, providing better realibility along with faster time to market.
  • #19: Treat you infrastructure like a cattle not like a pet
  • #23: Fragile Infrastructure - Most of cases Configuration Drift: Variations in servers (IE: 10 servers .net core 2.1 and 10 servers .net core 2.2) SnowFlake Servers: Don’t touche me server. The server or servers that are unmanaged variantions and when touch...problems appeared Automation Fear: based on consequences of fragile infrastructure Erosion: In a perfect world an automated server will never need to be touch, to fix something. But problems will creep into a running system...one day. Choose IaC is painfull. I’ll explain it later
  • #24: Fragile Infrastructure - Most of cases Configuration Drift: Variations in servers (IE: 10 servers .net core 2.1 and 10 servers .net core 2.2) SnowFlake Servers: Don’t touche me server. The server or servers that are unmanaged variantions and when touch...problems appeared Automation Fear: based on consequences of fragile infrastructure Erosion: In a perfect world an automated server will never need to be touch, to fix something. But problems will creep into a running system...one day. Choose IaC is painfull. I’ll explain it later
  • #25: Iac is wonderful, but the process to pickingf an IaC tool is not.
  • #26: There not clear distiction, although both of division can do something (Ex: Terraform can run scripts inside each server, Ansible can deploy servers). Server templating tools: Docker and Packer (HashiCorp) => server provisioning tool is the best choice It’s commoun to use more than one tool.
  • #27: There not clear distiction, although both of division can do something (Ex: Terraform can run scripts inside each server, Ansible can deploy servers). Server templating tools: Docker and Packer (HashiCorp) => server provisioning tool is the best choice It’s commoun to use more than one tool.
  • #28: Configuration Management Tool => Mutable Infrastructure Prosioning Tools => Immutable Infrastructure
  • #29: Iac is wonderful, but the process to pickingf an IaC tool is not.
  • #30: Iac is wonderful, but the process to pickingf an IaC tool is not.
  • #31: Iac is wonderful, but the process to pickingf an IaC tool is not.
  • #32: Declarative language save state of server (in most cases the latest state)
  • #33: Iac is wonderful, but the process to pickingf an IaC tool is not.
  • #34: Iac is wonderful, but the process to pickingf an IaC tool is not.
  • #35: Iac is wonderful, but the process to pickingf an IaC tool is not.
  • #36: 2016 Sept
  • #37: TerraForm 2014. First Releases
  • #38: Iac is wonderful, but the process to pickingf an IaC tool is not.
  • #39: Iac is wonderful, but the process to pickingf an IaC tool is not.
  • #40: Iac is wonderful, but the process to pickingf an IaC tool is not.
  • #41: Iac is wonderful, but the process to pickingf an IaC tool is not.
  • #42: Iac is wonderful, but the process to pickingf an IaC tool is not.
  • #43: LiveSlide http://comparecloud.in/
  • #44: Iac is wonderful, but the process to pickingf an IaC tool is not.
  • #45: Iac is wonderful, but the process to pickingf an IaC tool is not.
  • #46: Iac is wonderful, but the process to pickingf an IaC tool is not.
  • #47: Iac is wonderful, but the process to pickingf an IaC tool is not.
  • #48: LiveSlide http://18.229.29.254/
  • #49: LiveSlide https://bitbucket.org/magnadev/cmg2019/commits/
  • #50: LiveSlide https://bitbucket.org/magnadev/cmg2019/commits/
  • #51: Iac is wonderful, but the process to pickingf an IaC tool is not.
  • #52: LiveSlide https://sa-east-1.console.aws.amazon.com/ec2/v2/home?region=sa-east-1
  • #53: LiveSlide http://18.229.29.254/
  • #54: Iac is wonderful, but the process to pickingf an IaC tool is not.
  • #55: Iac is wonderful, but the process to pickingf an IaC tool is not.
  • #56: Iac is wonderful, but the process to pickingf an IaC tool is not.
  • #57: https://www.processexcellencenetwork.com/pex-tools-technologies/articles/7-pitfalls-of-process-automation-to-avoid-at-all