Review the modern IT framework and the need for extreme automation of all layers. Understand the importance of infrastructure as code in this context.
- [Instructor] Let's first talk about the need for having infrastructure as code, and where it comes from. Many organizations today are undergoing a digital transformation, and have an important problem. Technologists are being asked to deliver code and technical solutions faster and faster than before. While they are being asked to speed up the time to market, they still have all the other constraints as before. They still cannot allow the applications to go down, the solutions have to be secure, they have to be scalable, and in addition to that they must deliver these solutions in multiple geographies concurrently, and all the while still having to reduce cost and maintenance.
A lot of the traditional IT practices are not suited for this new need for extreme speed. I will explain this with a simple analogy. You see two pictures here, the picture to the left is of Lowari Pass, which is considered to be the most dangerous road in the world. It is a road that connects northern Pakistan to China. The problem with this road is rather obvious. Very few people can drive on this road, because it requires special training, even though a lot of vehicles needs to get across this road in a short amount of time, everything moves at a slow speed and only after the correct resources are available.
This is pretty much how traditional IT has worked. Our road itself is dangerous, and full of pitfalls, thus only specialized resources which we refer to as the operations teams, are allowed to drive on such a road. This naturally leads to resource constraints and long wait times before solutions are delivered. Now, the road to the right is a typical freeway in North America. This is a road that has properly defined rules, has guardrails, and has road signs.
As a result, we have more cars driving at a much higher speed. This is exactly what we need to do with IT. The need is for automation of solution delivery, and governance. One of the main reasons IT has run like the dangerous road, is that infrastructure historically was provisioned manually. However, cloud computing has enabled us to automate it. Infrastructure as code enables us to build an automated delivery process for infrastructure which gets deployed in a matter of seconds as long as that infrastructure is expressed as code.
What we can have is a technology-enabled process for deploying infrastructure and updating it as the needs change. Furthermore, we can achieve governance through automated injections of configuration information, and monitoring to mimic the guardrails and road signs which completes our highway. At the core of all this is infrastructure as code.
- Infrastructure as code
- CloudFormation architecture
- Deploying S3 buckets and EC2 web servers
- Advanced topics