Tolga Talks Tech is a weekly summer video series in which Onica’s CTO Tolga Tarhan tackles technical topics related to AWS and cloud computing. This week Tolga talks about Infrastucture as Code and AWS CloudFormation with Onica’s Solutions Architect, Josh Lewis. For more videos in this series, click here.
What is infrastructure as code?
Infrastructure as code offers deployments of servers with the most up-to-date technology and without the need of manual configuration. Back in the old days, if you needed a server spun up or new storage for a VM, you’d put in a ticket and someone would go do that to the best of their ability. With infrastructure as code, you eliminate old techniques and the time it would take to do this. Instead you write some text, deploy, and you have a server up and running, all within seconds.
What is the AWS product for this and how does it work?
AWS’ product for this is CloudFormation. You upload a JSON or YAML file to the console, hit deploy, and CloudFormation will do everything for you. All you have to do is tell CloudFormation what you want, and CloudFormation will figure out the pieces you need and how to get it up and running.
What happens in CloudFormation that’s different from having a person deploy a server for you?
CloudFormation is more or less a desired state engine. When CloudFormation looks at your uploaded JSON or YAML file, it acknowledges that certain pieces are already built, and recognizes what pieces need to be spun up. So CloudFormation selectively makes changes to the file based on what’s changed from the last time you used it. If CloudFormation doesn’t need to make further changes, it won’t.
Want to learn more about AWS CloudFormation? Read our How-To-Guide on CloudFormation Nested Stacks, a great way to deploy your infrastructure in a modular fashion. By Isolating resources into logical groups you can keep your CloudFormation scripts small, limit blast radius of changes, and easily manage various resources in more specific templates.