AWS Infrastructure Deployment and Management

Day 10: Prep- AWS Certified Cloud Practitioner | CLF-C02

AWS Infrastructure Deployment and Management

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.