All Projects → ricardbejarano → Learn Aws

ricardbejarano / Learn Aws

Licence: unlicense
☁️ My journey learning Amazon Web Services

Projects that are alternatives of or similar to Learn Aws

Terraform Modules
Reusable Terraform modules
Stars: ✭ 63 (-3.08%)
Mutual labels:  aws, hcl
Terraform Aws Github Ci
[DEPRECATED] Serverless CI for GitHub using AWS CodeBuild with PR and status support
Stars: ✭ 49 (-24.62%)
Mutual labels:  aws, hcl
Terraform Aws Cloudwatch
Terraform module which creates Cloudwatch resources on AWS
Stars: ✭ 41 (-36.92%)
Mutual labels:  aws, hcl
Terraform Aws Redshift
Terraform module which creates Redshift resources on AWS
Stars: ✭ 36 (-44.62%)
Mutual labels:  aws, hcl
Terraform Aws Rds Cloudwatch Sns Alarms
Terraform module that configures important RDS alerts using CloudWatch and sends them to an SNS topic
Stars: ✭ 56 (-13.85%)
Mutual labels:  aws, hcl
Karch
A Terraform module to create and maintain Kubernetes clusters on AWS easily, relying entirely on kops
Stars: ✭ 38 (-41.54%)
Mutual labels:  aws, hcl
Terraform Aws Dynamodb
Terraform module that implements AWS DynamoDB with support for AutoScaling
Stars: ✭ 49 (-24.62%)
Mutual labels:  aws, hcl
Terraform Sqs Lambda Trigger Example
Example on how to create a AWS Lambda triggered by SQS in Terraform
Stars: ✭ 31 (-52.31%)
Mutual labels:  aws, hcl
Curso Aws Com Terraform
🎦 🇧🇷 Arquivos do curso "DevOps: AWS com Terraform Automatizando sua infraestrutura" publicado na Udemy. Você pode me ajudar comprando o curso utilizando o link abaixo.
Stars: ✭ 62 (-4.62%)
Mutual labels:  aws, hcl
Terraform Aws Alb
Terraform module to provision a standard ALB for HTTP/HTTP traffic
Stars: ✭ 53 (-18.46%)
Mutual labels:  aws, hcl
Terraform Aws Waf Owasp Top 10 Rules
A Terraform module to create AWF WAF Rules for OWASP Top 10 security risks protection.
Stars: ✭ 62 (-4.62%)
Mutual labels:  aws, hcl
Terraform Ecs Autoscale Alb
ECS cluster with instance and service autoscaling configured and running behind an ALB with path based routing set up
Stars: ✭ 60 (-7.69%)
Mutual labels:  aws, hcl
Terraform Aws Ecs Fargate
Terraform module which creates ECS Fargate resources on AWS.
Stars: ✭ 35 (-46.15%)
Mutual labels:  aws, hcl
Terraform Aws Jenkins Ha Agents
A terraform module for a highly available Jenkins deployment.
Stars: ✭ 41 (-36.92%)
Mutual labels:  aws, hcl
Ebs bckup
Stars: ✭ 32 (-50.77%)
Mutual labels:  aws, hcl
Infra Personal
Terraform for setting up my personal infrastructure
Stars: ✭ 45 (-30.77%)
Mutual labels:  aws, hcl
Terra Aws Core Kube
Terraform configuration to bootstrap a Kubernetes Cluster on top of CoreOS using AWS-EC2 instances
Stars: ✭ 10 (-84.62%)
Mutual labels:  aws, hcl
Terraform Aws Cross Account Role
A Terraform module to create an IAM Role for Cross Account delegation.
Stars: ✭ 30 (-53.85%)
Mutual labels:  aws, hcl
Terraform Aws Vpc Peering Multi Account
Terraform module to provision a VPC peering across multiple VPCs in different accounts by using multiple providers
Stars: ✭ 52 (-20%)
Mutual labels:  aws, hcl
Terraform Aws Asg
Terraform AWS Auto Scaling Stack
Stars: ✭ 58 (-10.77%)
Mutual labels:  aws, hcl

Learn Amazon Web Services

My journey following this Reddit post's walkthrough on how to become a Cloud Engineer

I deployed a "Fortune of The Day" web app using AWS and Terraform, architected in three different ways: traditional, microserviced and serverless.

During my journey, I used AWS Free Tier, so most of the costs (not all) of running these labs were on the house. I highly recommend you leverage Free Tier or keep close track of the costs of running this.

Table of Contents

Prerequisites

The architectures

In all architectures, the web app design looks like this:

All architectures...

Traditional

The traditional model serves both the static assets and the fortunes, on the same servers.

This model requires the administration of every piece of the app, from the OS to the application.

Microservices

The microserviced approach splits the static assets and the content in two, serving the static files from S3 and the content from our servers.

This model still requires server administration, but offloads our servers a great deal and keeps our application simpler. Instead of a full-blown web server we only have to write a RESTful API.

Serverless

This is the most interesting of all. Serverless splits static assets and content too, but now the content is served from AWS Lambda, which then talks to DynamoDB.

Serverless design removes all administration tasks and leaves it to the guys at Amazon Web Services.

Usage

  1. Add your domain to Route 53 (howto)
  2. Change to the desired architecture's directory (eg. cd serverless)
  3. Run terraform init
  4. Run terraform apply

Go to https://www.architecture.domain.com (replace architecture with traditional, microservices or serverless) and domain.com with your domain (eg. www.serverless.example.com)

Note: (Serverless only), AWS Lambda files must be world-readable, run chmod 644 src/api/*.py if Lambda throws Permission denied errors.

Destroy

  1. Run terraform destroy (inside the architecture's directory)

Once finished with the labs, I highly suggest you remove your domain name from Route 53 or else you will be charged every month (see Pricing) for a hosted zone.

Note: if destroying CloudFront distributions fails, run terraform destroy again, this is an issue with Terraform and/or CloudFront.

Further reading

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].