Leveraging Infrastructure as Code for Resource Management

Search for a command to run...

No comments yet. Be the first to comment.
This project from Ifeanyi Otuonye focuses on creating an alerting system to deliver scores from sports games. I decided to go with NBA games since I enjoy watching Jokic in Denver. The services used include AWS SNS, AWS Lambda, AWS Event Bridge, IAM ...
Amazon Lex is a fully managed artificial intelligence (AI) service with advanced natural language models to design, build, test, and deploy AI chatbots and voice bots in applications. In this post, I’ll walk you through my experience implementing the...
The growth of customer bases has led to businesses building robust and highly available applications by deploying across multiple regions. By pursuing global infrastructure, organisations can reduce latency, enhance availability, and maintain uptime ...

Grafana is a multi-platform open-source analytics and interactive visualization web application. It can be used to create graphs, charts, and alerts and allows connections to multiple data sources. In this post, I’ll discuss how to connect to AWS Clo...

This is the IaC implementation of the AWS project by Adrian Cantrill that involves implementing a simple serverless application using S3, API Gateway, Lambda, Step Functions, SNS, and SES. The application loads from an S3 bucket, communicates with la...

In the ever-evolving world of infrastructure management on the cloud, the choice of IaC tool remains critical. A recent project presented the opportunity to delve into this, with Terraform and AWS CloudFormation being the forerunners.
While both tools offer powerful and similar capabilities, key factors led to CloudFormation being chosen over Terraform. This decision was heavily influenced by the team's exclusive use of AWS as their primary cloud provider. However, for other projects with multi-cloud support, a tool like Terraform should be considered. It offers several advantages over provider-specific IAC tools like CloudFormation, GCP Deployment Manager, or Azure Resource Manager templates.
Terraform supports numerous cloud and non-cloud providers and is not restricted to any of them. This flexibility facilitates multi-cloud deployments and lessens vendor lock-in. It gives you a convenient way to manage all your infrastructure as code without having to learn separate tools and configuration syntax for each platform and service. Furthermore, Terraform builds a resource graph, which acts as an internal representation of all resources and their dependencies. It dictates how resources are created, updated, or destroyed.
Furthermore, Terraform utilises state management. A state file is used to record the state of deployed resources. A simple 'terraform show' command lists the resources being managed by Terraform. On the other hand, CloudFormation uses stack-based management, which may not necessarily provide the same level of visibility over resource states.
Overall, Terraform provides more flexibility, modularity, and multi-cloud compatibility than vendor-specific tools, making it the better choice for organisations looking for a unified, scalable, and extensible approach to infrastructure as code.