Infrastructure as code (IaC) is the process of managing and provisioning computer data centers through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools.[1] The IT infrastructure managed by this process comprises both physical equipment, such as bare-metal servers, as well as virtual machines, and associated configuration resources. The definitions may be in a version control system. It can use either scripts or declarative definitions, rather than manual processes, but the term is more often used to promote declarative approaches. These days, it's increasingly crucial to automate your infrastructure as applications can be deployed into production up to hundreds of times per day. This video breaks down what Infrastructure as Code (IaC) is, the difference between an imperative and declarative approach, the difference between mutable vs. immutable infrastructure, and how each approach impacts your dev environment. To understand the Infrastructure as Code concept better, I explain how DevOps tasks were done - before automation and - after automation. Infrastructure as Code is a way to automate all these DevOps tasks end to end instead of doing it manually. All the knowledge and expertise of system administrators or DevOps engineers are packed into programs and applications that carry out those tasks. So, Infrastructure as Code or IaC is a concept and there are Infrastructure as Code tools, like Ansible, Puppet, Terraform or Cloudformation etc that you can use for different tasks. Why do we have so many different tools, can't we just use one IaC tool? 🙄 Well, no. Because no tool can do everything and each one is good in a specific area. IaC tools automate tasks in different categories for different phases: 3 main task categories: 1) infrastructure provisioning 2) configuration of provisioned infrastructure 3) deployment of application Distinction of phases: 1) initial setup phase 2) maintaining phase This DevOps Infrastructure Tutorial will help you understand how you can automate your infrastructure creation, management, support and infrastructure monitoring. You will understand the concepts like cloud-based infrastructure, infrastructure service management, infrastructure asset management, infrastructure virtualization, infrastructure hardware and information and infrastructure security. This tutorial will also wxpain about various IAC tools available. IaC grew as a response to the difficulty posed by utility computing and second-generation web frameworks. In 2006, the launch of Amazon Web Services’ Elastic Compute Cloud and the 1.0 version of Ruby on Rails just months before[2] created widespread scaling problems in the enterprise that were previously experienced only at large, multi-national companies.[3] With new tools emerging to handle this ever growing field, the idea of IaC was born. The thought of modelling infrastructure with code, and then having the ability to design, implement, and deploy applications infrastructure with known software best practices appealed to both software developers and IT infrastructure administrators. The ability to treat infrastructure like code and use the same tools as any other software project would allow developers to rapidly deploy applications In the past, managing IT infrastructure was a hard job. System administrators had to manually manage and configure all of the hardware and software that was needed for the applications to run. However, in recent years, things have changed dramatically. Trends like cloud computing revolutionized—and improved—the way organizations design, develop, and maintain their IT infrastructure. One of the critical components of this trend is called “infrastructure as code,” and it’s what we’re going to talk about today.
Comments
Post a Comment