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

Automating IAAC with Terraform, Ansible and CircleCI.

Ty
September 15, 2018
1k

Automating IAAC with Terraform, Ansible and CircleCI.

The workshop will explore the basics of DevOps, AWS, Ansible, and there will be a deep dive into Terraform, so get ready to learn and engage.

You will learn how to manage your cloud infrastructures like you manage code, and how to automate the deployment of your infrastructure using Terraform, Ansible and Circle/Ci

Ty

September 15, 2018
Tweet

Transcript

  1. DevOps is a software engineering culture and practice that aims

    at unifying software development (Dev) and software operation (Ops). The main characteristic of the DevOps movement is to strongly advocate automation and monitoring at all steps of software construction, from integration, testing, releasing to deployment and infrastructure management.
  2. “Ops people are basically developers who failed at programming, they're

    like the mall cops that could never be real cops.” As seen on Quora
  3. Developers and these lines • But It works on my

    machine. • You need to have this package installed on your system. • I have uploaded it refresh your browser.
  4. AWS

  5. • EC2 is a web service that provides secure, resizable

    compute capacity in the cloud. It is designed to make web-scale cloud computing easier for developers. • Object storage built to store and retrieve any amount of data from anywhere • Elastic Load Balancing automatically distributes incoming application traffic across multiple targets, such as Amazon EC2 instances, containers, and IP addresses. Common AWS Services
  6. Shell Scripts Vs CM tools • Parallel execution across multiple

    machines. • A library of ready-made idempotent 'modules' • Automatic step-by-step reporting. • Syntax that strikes a balance between ease-of-variable-mangling, sufficient logic-flow control, and readability.
  7. Ansible is a radically simple IT automation engine that automates

    cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs. Designed for multi-tier deployments since day one, Ansible models your IT infrastructure by describing how all of your systems inter-relate, rather than just managing one system at a time.
  8. Oh sh*t ! We made an error so we have

    to start all over again Stupid right ?
  9. Terraform enables you to safely and predictably create, change, and

    improve infrastructure. It is an open source tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
  10. Benefits of Terraform • Great implementation of Infrastructure as Code

    concept. • Supports various cloud providers, including AWS, Azure and OpenStack • Encourages good design practices • Collaboration is made possible by using remote backend to store state files (such as S3)
  11. CircleCI is a Continuous Integration/ Continuous Deployment platform that enables

    developers to build, test and deploy their code using automation.
  12. Best Practices * • Ensure deployments are aligned with established

    deployment policies. If you don't have established deployment strategies build some they'll serve as your blueprint to code against. • Decide if it makes sense to build out new infrastructure on every stable release build using a tool like Terraform or release the build to existing infrastructure and validate your IaC templates are still valid. If not handle the exceptions. • Frequently assess the viability of your current IaC templates to ensure that they are supporting your current infrastructure requirements. Accurately identify when you need to Scale up, out, down and in because these requirements are mainly based on demand they fluctuate. *According to CircleCI
  13. Testing • Static testing of infrastructure as a code •

    Unit testing of infrastructure as code • System testing • System integration testing • .Blue/Green deployment