This project is for AWS Infrastructure as Code(IaC) interactive workshops.
Karl is a junior SRE (Site Reliability Engineer) specialized in AWS Infrastructure as Code. He has an interest in education and hates how public education system deletes the joy of learning. As he studies more about AWS in his job, he creates this workshop series to share what he learned with the community.
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. More on: https://en.wikipedia.org/wiki/Infrastructure_as_Code.
So you receive this unpleasant notification that a server is unreachable. You follow your usual quick fix routines (for example: flip through the logs to see what has happened), only to find out that the server has actually crashed. You freeze! Immediately, you get flashbacks of the hustle that you had to go through while trying to configure that server. You try to recall every component you had installed on the dead machine, plus their versions. It strikes you that you cannot even recall the order in which everything was installed, along with the nitty gritty. More one: https://www.thoughtworks.com/insights/blog/infrastructure-code-reason-smile.
- Know basic computer
- Sysadmin, DevOps, SRE
- Developers work on top of provisioned infrastructure
Introduce prerequisite to this workshop series.
In this workshop, we will use Dockerfile to containerize a simple Nodejs project. Along the way, we will understand the syntax of Dockerfile, know what is ports and hands on run the application.
With a working application, we now can deploy it to AWS Elasitc Beanstalk. Along the way, we will be able to know the workflow with Elatic Beanstalk.
In this workshop, we will use terraform script to describe the Elatic Beanstalk environment, which we will deploy application to.
Host static website with S3 is a very low overhead practice.
Create a Lambda function.
Use API Gateway to set up http endpoint to lambda function.
-
What is AWS? Amazon Web Services (AWS) is a secure cloud services platform, offering compute power, database storage, content delivery and other functionality to help businesses scale and grow.
-
What is Docker? Docker is the computer program which does containerization.
-
What is Cloudformation? Cloudformation is AWS only IaC tool, open source counterparts terraform.
-
What is Elastic Beanstalk?
-
What is reproducible deployment environment?
-
Why create interactive workshops? Base on every new features, it creates a corresponding hands on example to play with.