AWS Infrastructure Deployment and Management
Day 10: Prep- AWS Certified Cloud Practitioner | CLF-C02
Link to exam: aws.amazon.com/certification/certified-clou..
CloudFormation (IaaC):
Definition: Declarative outline of AWS infrastructure via templates, ensuring repeatability across regions and accounts.
Stack: Aggregation of AWS resources managed collectively from CloudFormation templates in YAML or JSON
Benefits:
IaaC: Enables control and auditing of changes through code.
Cost Management: Utilizes tagging for cost estimation, along with automated cost-saving tactics.
Productivity: Facilitates seamless infrastructure creation, destruction, and recreation using pre-existing templates.
Example: Template-based creation of resources like security groups, EC2 instances, S3 buckets, and load balancers.
AWS CDK:
Definition: Defines cloud infrastructure using common programming languages, compiled into CloudFormation templates.
Use Cases: Ideal for Lambda functions, Docker containers in ECS/EKS, enabling unified deployment of infrastructure and application runtime.
Elastic Beanstalk (PaaS):
Overview: Developer-centric platform for AWS application deployment, monitoring and performance Management.
Features:
Ease of Use: Simplified interface for deploying applications with known architectures.
Managed Service: Handles capacity provisioning, load balancing, auto-scaling, and health monitoring.
Architecture Models: Supports single instance deployment, LB + ASG, ASG only, with Docker configurations.
Developer Tools
Code Store:
AWS CodeCommit: Hosts Git-based repositories for version-controlled code collaboration.
AWS CodeArtifact: Provides secure, scalable artifact management for software development, supporting common dependency management tools.
Parameter Store: Offers secure storage for configuration and secrets, providing version tracking, encryption, and IAM permissions.
Developer UI
AWS Cloud9: Cloud-based IDE for writing, running, and debugging code, supporting real-time collaboration.
AWS CodeStar: Unified UI for managing software development activities, setting up CI/CD pipelines, and code editing in the cloud.
Manage Cloud Systems UI
AWS Systems Manager (SSM): Hybrid service aiding in managing cloud systems by running commands at scale, offering patching automation, command execution, and parameter storage.
SSM Session Manager: Facilitates secure shell access to cloud servers without SSH or bastion hosts, supporting session logging.
Deployment Automation
AWS CodeDeploy: Hybrid service automating application deployment and upgrades onto servers.
AWS CodeBuild: Serverless Cloud-based service for compiling source code, running tests, and producing deployable artifacts.
AWS CodePipeline: Orchestrates CI/CD pipelines from code to deployment, supporting various AWS services and third-party integrations.
Summary
CloudFormation (IaaC): Templates for AWS resources using Stack which is a collection of AWS resources managed from CloudFormation templates in YAML or JSON.
AWS CDK: Infrastructure defined using programming languages, compiled into CloudFormation templates.
Elastic Beanstalk (PaaS): Developer-centric platform for AWS application deployment, health monitoring and performance Management. Support for select programming languages and Docker. Automated deployment with predefined architectures like ALB+EC2+RDS.
Developer Tools:
Code Store:
AWS CodeCommit for storing code with versions in private git repo,
AWS CodeArtifact for dependency storage management,
Parameter Store for secure configuration storage.
Developer UI:
AWS Cloud9 IDE for collaborative coding
AWS CodeStar for managing CI/CD activities.
Manage Cloud Systems UI: (hybrid)
AWS Systems Manager (SSM) for running commands at scale across all your servers
SSM Session Manager for secure shell access.
Deployment Automation:
AWS CodeDeploy (hybrid) for application deployment,
AWS CodeBuild for serverless code compilation,
AWS CodePipeline for CI/CD pipeline orchestration.