Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Consideraciones de diseño para modelos de infra...

Arqconf
November 14, 2018

Consideraciones de diseño para modelos de infraestructura

En esta presentación Nico nos trae los principales conceptos a la hora de diseñar y evolucionar nuestra infraestructura IT.

Arqconf

November 14, 2018
Tweet

More Decks by Arqconf

Other Decks in Technology

Transcript

  1. Nicolás Paez | @inicopaez | [email protected] Consideraciones de diseño para

    un modelo de infraestructura Octubre 2018 | ArqConf
  2. Modelos de Infraestructura Resumen: De la mano de DevOps, SREs

    y un conjunto de herramientas, la práctica de Infraestructura como Código ha adquirido una gran popularidad en los últimos años. La adopción de esta práctica implica una toma de decisiones que entre otras cosas incluye el diseño de un modelo de infraestructura y la selección de herramientas asociadas. En esta sesión veremos un conjunto de conceptos y recomendaciones para tomar estas decisiones de cara a una efectiva implementación de la práctica de Infraestructura como Código.
  3. > Operations as first-class citizen > Make dev responsible for

    prod incidents > Formal deployment process > Continuous Delivery > Infrastructure as code DevOps Principles https://www.amazon.com/DevOps-Software-Architects-Perspective-Engineering/dp/0134049845
  4. On Premises IaaS PaaS SaaS Application Application Application Application Data

    Data Data Data Runtime Runtime Runtime Runtime Middleware Middleware Middleware Middleware OS OS OS OS Virtualization Virtualization Virtualization Virtualization Networking Networking Networking Networking Servers Servers Servers Servers
  5. On Premises IaaS PaaS SaaS Application Application Application Application Data

    Data Data Data Runtime Runtime Runtime Runtime Middleware Middleware Middleware Middleware OS OS OS OS Virtualization Virtualization Virtualization Virtualization Networking Networking Networking Networking Servers Servers Servers Servers AWS/EC2 GCE Azure Heroku AppHarbor Beanstalk GApps Office365
  6. Mutable Infrastructure Test You package your app and make it

    run on different infrastructure Prod app-v1 app-v1 app-v1 OS OS OS Runtime Runtime Runtime
  7. Mutable Infrastructure Test You package your app and make it

    run on different infrastructure Prod app-v1 app-v1 app-v1 OS OS OS Runtime Runtime Runtime app-v2 app-v2 app-v2
  8. Immutable Infrastructure Test You package your app with its infrastructure

    Prod App-v1 + Runtime App-v1 + Runtime App-v1 + Runtime OS OS Engine OS Engine Engine
  9. Immutable Infrastructure Test You package your app with its infrastructure

    Prod App-v1 + Runtime App-v1 + Runtime App-v1 + Runtime OS OS Engine OS Engine Engine App-v2 + Win2016 App-v2 + Win2016 App-v2 + Win2016
  10. Automation Layers Layer 2: base software (db engine, web server,

    app server) Layer 1: OS & Networking Layer 3: Apps (binaries, configuration, data)
  11. Automation Layers Layer 2: base software (db engine, web server,

    app server) Layer 1: OS & Networking Layer 3: Apps (binaries, configuration, data) Ansible, Chef, Puppet, SaltStack Terraform, Vagrant, CloudFormation Jenkins, TeamCity, Spinnaker
  12. Automation Layers Layer 2: base software (db engine, web server,

    app server) Layer 1: OS & Networking Layer 3: Apps (binaries, configuration, data) Ansible, Chef, Puppet, SaltStack Terraform, Vagrant, CloudFormation Jenkins, TeamCity, Spinnaker
  13. Demo 1: mutable infrastructure Terraform Ansible Jenkins Ubuntu Server Nginx,

    Ruby, PostgreSQL WebApp, DB http://blog.nicopaez.com/2015/09/05/capas-de-automatizacion/ Git Repos • App • Config • Infra • Scripts DigitalOcean (IaaS)
  14. Demo 2: inmutable infrastructure Ruby, Puma, PostgreSQL WebApi Git Repos

    • App • Config • Scripts OpenShift (PaaS) Jenkins Docker
  15. Demo 2: inmutable infrastructure PostgreSQL Puma Web Server Ruby /

    Padrino App OpenShift Service OpenShift Platform
  16. Fin