AWS Practice Series

Introduction

AWS (Amazon Web Services) is the world’s most comprehensive and broadly adopted cloud platform. It offers over 200 fully featured services from data centers globally.

Instead of building and maintaining your own physical servers, you can simply "rent" resources from AWS and pay only for what you actually use.

Explore Key Advantages

  • Cost Savings: With the "Pay-as-you-go" model, you don't need a massive upfront investment in hardware. You only pay for the resources you consume.
  • Scalability: You can instantly increase or decrease resources (like CPU, RAM, or storage) based on your real-time traffic.
  • Security & Reliability: AWS meets strict international security standards (ISO, PCI DSS, etc.). Their global infrastructure ensures your system stays up and running 24/7.
  • Massive Ecosystem: It provides everything from basic tools (servers, storage) to advanced tech (AI, Machine Learning, and IoT).


When Should You Use It?

  • Startups: Perfect for launching products quickly at a low cost without worrying about managing hardware.
  • Fluctuating Traffic: E-commerce sites can easily scale up their servers during big sales events and scale back down afterward.
  • App/Game Development: Use their global infrastructure to reduce lag for users in different countries.
  • Big Data Processing: When you need massive computing power to analyze data in a very short amount of time.


Popular AWS Services

  • EC2: Virtual Servers that let you customize configuration based on your needs.
  • S3: Object Storage for photos, videos, and data backups.
  • Lambda: Serverless Computing that lets you run code without managing any servers.
  • RDS: Managed Databases for relational systems like MySQL or PostgreSQL.
  • CloudFront: Content Delivery Network (CDN) to speed up website loading for global users.

AWS CDK

AWS Cloud Development Kit (AWS CDK) is an open-source software development framework that lets you define your cloud infrastructure using familiar programming languages instead of writing complex JSON or YAML configuration files.

Key Advantages of AWS CDK

  • Use Familiar Programming Languages: You can use TypeScript, Python, Java, C#, or Go. This allows you to leverage the full power of the language - including variables, loops, conditional statements, and Unit Testing tools.
  • High Abstraction (Constructs): CDK provides "Constructs"—pre-built components that package multiple AWS resources and security best practices into just a few simple lines of code.
  • Code Reusability: You can easily share and reuse infrastructure patterns across different projects or your entire organization as standard software libraries.
  • Excellent IDE Support: Since you're writing pure code, you get features like Autocompletion, syntax error checking, and inline documentation right inside your editor (like VS Code).
  • Deep Integration with AWS CloudFormation: After writing your code, CDK "synthesizes" it into CloudFormation templates for deployment. This means you still benefit from CloudFormation’s consistency, state management, and safe rollbacks.

In the following articles, I will primarily be using AWS CDK with TypeScript to build the infrastructure. However, feel free to switch to whichever programming language you are most comfortable with to suit your needs.

Detail

  1. Using AWS CDK to Create an AWS S3 Bucket
  2. Uploading Files to AWS S3 with NodeJS
  3. Uploading Files Safely to AWS S3 using Presigned URLs
  4. Uploading files to AWS S3 with Presigned URLs (Extended Version)
  5. How to Deploy a React App to an AWS S3 Bucket
  6. Using IAM Identity Center and MFA Enforcement for AWS User Management
  7. Setting Up IAM Roles Anywhere instead of Access Keys in AWS
  8. Guide to using AWS Access Keys effectively
  9. AWS Lambda User Guide
  10. Deploy docker image to AWS Lambda
  11. AWS App Runner: Simplify Your Deployment
  12. Using AWS EC2
  13. Guide to Using AWS SNS and SQS
  14. Guide to Using AWS Secrets Manager
  15. Guide to Using AWS SSM Parameter Store
  16. Guide to Using AWS RDS
  17. Guide to using AWS RDS public endpoint
  18. Guide to Initializing and Connecting AWS DynamoDB
  19. Guide to Querying and Pagination with AWS DynamoDB in NestJS
  20. Guide to deploying a React application on AWS Amplify
  21. Introduction to AWS Lightsail and Advantages of Simplified Cloud Platforms
  22. Guide to pushing docker images to AWS ECR
  23. AWS EKS User Guide
  24. Guide to Creating Resources on EKS Using AWS CDK Manifest
  25. Using AWS EKS with CloudFront and WAF
  26. Guide to using AWS ECS Fargate
  27. Guide to deploying NextJS on AWS ECS
  28. Using AWS ECS Fargate with Cloudfront and WAF
  29. Using AWS ECS Fargate Horizontal Auto Scaling
  30. Setting up a CI/CD Pipeline for NestJS with Jenkins, Gitlab, and AWS EKS
  31. Guide to Setting Up CI/CD for NextJS with Jenkins, Gitlab, and AWS ECS

Happy coding!

Comments

Popular posts from this blog

All Practice Series

Deploying a NodeJS Server on Google Kubernetes Engine

Kubernetes Deployment for Zero Downtime

Setting up Kubernetes Dashboard with Kind

Using Kafka with Docker and NodeJS

Monitoring with cAdvisor, Prometheus and Grafana on Docker

Practicing with Google Cloud Platform - Google Kubernetes Engine to deploy nginx

Kubernetes Practice Series

NodeJS Practice Series

Sitemap