Intro to Infrastructure as Code (IaC) in AWS context

I'm Osman Recai Ödemis working as a a consultant. I'm interested in the fields of Software Engineering, IoT, AI.
Nice to meet you :)
Search for a command to run...

I'm Osman Recai Ödemis working as a a consultant. I'm interested in the fields of Software Engineering, IoT, AI.
Nice to meet you :)
No comments yet. Be the first to comment.
Hello, passionate learners from around the world ✌️ In 2023 ChatGPT from OpenAI reached 100 million users faster than other solutions in Web 2.0 era. Source: Yahoo Finance And since then many intelligent models from Anthropic, Cohere, IBM, Goole, Am...

Hello folks, hope you are well 👋 Amazon recently launched PartyRock. It's really fun to play with and at the same time also opens up opportunities for everyone to create apps and experiment with LLMs. This includes experimenting with various foundat...

Hello, folks how are you? Here again with a new topic - event-driven architectures 🚀 If you enter the world of microservice-style architectures in the cloud you are confronted sometimes with the terms like: serverless architectures resilient archi...

Hello folks how are you? Today I want to write about maybe the forgotten web framework from Google - Google Web Toolkit or GWT. Attention by forgotten I mean, we don't see news about GWT every day on hackernews but it is used under oldschool Java dev...

Hello devs
This post is about the following AWS picture:

Ok ... We have here in the cloud parts of the picture the following AWS cloud components:
Cloudformation - Infrastructure as Code service from AWS to deploy aws components
S3 - object storage service, you can deploy here big data
Cloudfront - CDN service from AWS
Lambda - Serverless on AWS 🚀
....
The list can be around 200 services 😀
To deploy these AWS services you have many options. If you quickly test around you can use the AWS console. But if you want more reproducible architecture with CI/CD chain or deployments over stages with many accounts, in Cloud-Native development there are solutions named under the buzzword IaC (Infrastructure as Code).
IaC code creates your infrastructure which is composed of cloud services, like S3. The advantage is we can handle your infrastructure like source code 😀
Cloudformation is IaC service from AWS which accepts YML or JSON formatted files and deploys the described infrastructure from these files. Yes, Cloudformation is a setup as YML or JSON file 😀
For example, the following snippet describes an S3-Bucket (YML-formatted):
MyS3Bucket:
Type: 'AWS::S3::Bucket'
Properties:
BucketName: !Join
- '-'
- - !Ref S3BucketName
- !Ref 'AWS::Region'
The problem with Cloudformation is, these YML or JSON files can be very complex for big cloud architectures. Refactoring can be a disaster, therefore over the years many IaC frameworks are developed, so we enter IaC Frameworks or abstractions over Cloudformation
There are much more frameworks, every one with his strength and different paradigm.
All these frameworks produces in AWS as cloud provider, Cloudformation code except Terraform and Pulimi, which creates and deploys your services. Framworks like CDK, Serverless Framework or SST is only abstraction over Cloudformation, to make it easier to develop your infrastructure.
For example following SST-Snippet creates an S3-Bucket named Uploads.
let bucket = new sst.Bucket(this, "Uploads");
You see the difference, SST framework in this case uses another abstraction layer over CDK and has a programming paradigm for creating IaC 😀
Happy Coding 😀