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

Forming the Cloud

Forming the Cloud

Presentation on how to use the cloud for software delivery and how to use infrastructure as code.

Lark Mullins

August 29, 2019
Tweet

More Decks by Lark Mullins

Other Decks in Technology

Transcript

  1. 3

  2. 4

  3. 5

  4. 6 CLICK CLICK CLICK CLICK CLICK CLICK CLICK CLICK CLICK

    CLICK CLICK CLICK CLICK CLICK CLICK CLICK CLICK CLICK CLICK CLICK CLICK CLICK CLICK CLICK CLICK CLICK CLICK CLICK CLICK CLICK
  5. “ 9 Human sacrifice, dogs and cats living together, mass

    hysteria! - Dr. Venkman, Ghostbusters
  6. MUTABLE INFRASTRUCTURE ◉ No need to worry about saving data/state

    ◉ Do not need to take down resource to update/patch ◉ Known entity, IT/Ops has history with this resource 14
  7. MUTABLE INFRASTRUCTURE TRADE-OFFS ◉ Introduction of risks ◉ Validation of

    changes harder ◉ Temptation to manually “fix” or “install” or “update” ◉ Configuration drift ◉ Sometimes not repeatable 15
  8. IMMUTABLE INFRASTRUCTURE ◉ Repeatable ◉ Avoids drift in configuration settings

    ◉ Easier to add new servers ◉ Commonality ◉ Rollback is easier 16
  9. IMMUTABLE INFRASTRUCTURE TRADE-OFFS ◉ What if the application is stateful?

    ◉ Not suitable for large changesets ◉ Linear scale of the infrastructure, scale out not up 17
  10. CONFIGURATION MANAGEMENT Chef A tool written in Ruby and Erlang.

    It uses a pure Ruby, DSL to write “recipes” for configuring and maintaining a company’s servers Puppet Written in C++, Clojure, and Ruby. Provides its own declarative language for configuring and maintaining servers Ansible Written in mainly Python, it is provides provisioning, configuration management, application deployment capabilities 19
  11. INFRASTRUCTURE AS CODE CloudFormation An infrastructure as code tool developed

    by AWS. Configuration files can be written in either JSON or YAML. Only supports AWS cloud provider. Terraform Developed by Hashicorp, it is an infrastructure as code tool written in Golang. It provides its own DSL, HCL (Hashicorp Configuration Language). Supports the major cloud providers as well as some on-premises cloud systems. 20
  12. NEW KIDS IN THE CLOUD CDK (Cloud Development Kit) An

    open source software development framework to model and provision your cloud application resources using familiar programming languages Pulumi Enables developers to write code in their favorite language (e.g., JavaScript, Python, Go), deploying cloud apps and infrastructure easily, without the need to learn specialized DSLs or YAML templating solutions. 21
  13. Pros ◉ Supports multiple cloud providers ◉ Supports shareable modules

    ◉ Remote storage of statefiles TERRAFORM PROS/CONS Cons ◉ Cloud agnostic is not 100% true ◉ Requires statefiles 23
  14. Pros ◉ Highly integrated with AWS ◉ Usually gets new

    AWS resources/services added quickly ◉ AWS is source of truth CLOUDFORMATION PROS/CONS Cons ◉ Only supports AWS ◉ Does not provide a plan stage only changesets ◉ No shareable modules 24
  15. “ The enabling idea of infrastructure as code is that

    the systems and devices which are used to run software can be treated as if they, themselves, are software. - - Kief Morris, author Infrastructure as Code: Managing Servers in the Cloud 25