Hey there, tech enthusiasts! Day 4 of my AWS DevOps certification journey has been a thrilling exploration of a diverse range of AWS services, adding depth to my understanding of cloud operations. Let's dive into the highlights of what I've learned today through Stรฉphane Maarek's Udemy course.
๐ป Course Progress - Day 4: Navigating AWS Service Catalog, Elastic Beanstalk, SAM, CDK, Step Functions, AppConfig, and SSM!
Continuing our journey, today's focus extended to a variety of AWS services, each playing a crucial role in cloud development and operations.
๐ Overview of Service Catalog
AWS Service Catalog enables organizations to create and manage catalogs of IT services that are approved for use on AWS. With Service Catalog, you can centrally manage commonly deployed AWS resources, and make them available for users to deploy through a self-service portal.
AWS Service Catalog took center stage, revealing its significance in streamlining service delivery within organizations. It's a game-changer for managing and provisioning cloud resources efficiently.
๐จ Elastic Beanstalk
AWS Elastic Beanstalk is a fully managed service that makes it easy to deploy and run applications in multiple languages, including Java, .NET, PHP, Node.js, Python, Ruby, and Go. Elastic Beanstalk automatically handles the deployment, capacity provisioning, load balancing, and scaling of your application.
Elastic Beanstalk, a powerhouse for simplifying application deployment, showcased its prowess. From creating highly available environments to exploring different deployment modes, it's a go-to solution for developers.
How to make a Highly available environment in Elastic Beanstalk
To make a highly available environment in Elastic Beanstalk, you can use Elastic Beanstalkโs High Availability configuration option. This option automatically provisions resources across multiple Availability Zones to ensure that your application is highly available and fault tolerant.
What are the Elastic Beanstalk deployment modes?
Elastic Beanstalk supports two deployment modes: web server environment and worker environment. In a web server environment, Elastic Beanstalk deploys your application to a web server environment that can serve HTTP requests. In a worker environment, Elastic Beanstalk deploys your application to a worker environment that can process background tasks.
๐ฆ Serverless Application Model (SAM)
AWS Serverless Application Model (SAM) is an open-source framework for building serverless applications. SAM provides a simplified way of defining the Amazon API Gateway APIs, AWS Lambda functions, and Amazon DynamoDB tables needed by your serverless application.
The Serverless Application Model (SAM) caught my attention, offering a fantastic framework for building serverless applications. Integrating SAM with CodeDeploy, the deployment process became even more seamless. You can use AWS CodeDeploy with SAM to deploy your serverless applications. CodeDeploy automates the deployment of your application to Amazon S3, AWS Lambda, and Amazon EC2 instances.
๐ Cloud Development Kit (CDK)
AWS Cloud Development Kit (CDK) is an open-source software development framework to define cloud infrastructure in code and provision it through AWS CloudFormation. CDK provides a high-level object-oriented abstraction on top of AWS CloudFormation
AWS CDK, a tool for defining cloud infrastructure as code using familiar programming languages, provided a fresh perspective. This modern approach to infrastructure management empowers developers with flexibility.
๐ Step Functions
AWS Step Functions is a fully managed service that makes it easy to coordinate the components of distributed applications and microservices using visual workflows. You can use Step Functions to build applications from individual building blocks, each of which performs a discrete function.
AWS Step Functions stepped into the limelight, enabling the creation of serverless workflows for coordinating application components. Invoking Lambda functions through Step Functions added a layer of efficiency to the workflow.
How to invoke lambda using step functions
To invoke a Lambda function using Step Functions, you can use the AWS::Lambda::Function
resource type in your AWS CloudFormation template. You can then use the AWS::StepFunctions::Task
resource type to define a task that invokes the Lambda function.
๐ AppConfig
AWS AppConfig is a service that enables you to quickly deploy application configurations across your applications. You can use AppConfig to manage configurations for any application running on any environment.
AppConfig took the stage, offering a comprehensive solution for managing application configurations. The insights gained will undoubtedly streamline configuration management in future projects.
๐ก SSM
AWS Systems Manager (SSM) is a management service that enables you to manage your EC2 instances, on-premises servers, and virtual machines (VMs) through a single interface. You can use SSM to automate common administrative tasks, such as patch management, configuration management, and instance inventory.
How to start an EC2 instance with an SSM agent?
To start an EC2 instance with an SSM agent, you can use the AWS::EC2::Instance
resource type in your AWS CloudFormation template. You can then use the AWS::SSM::Association
resource type to associate the instance with an SSM document that installs the SSM agent.
Diving deep into AWS Systems Manager (SSM), I explored starting EC2 instances with SSM agents, understanding the importance of tags, leveraging SSM documents, and run commands for efficient automation.
Tags and SSM Resources
You can use tags to organize and categorize your SSM resources. You can add tags to your SSM resources when you create them, or you can add tags to existing resources.
SSM Documents and SSM Run commands
SSM documents are scripts that you can use to automate common administrative tasks on your instances. You can use SSM Run Command to execute SSM documents on your instances.
๐ค Automation
SSM documents are scripts that you can use to automate common administrative tasks on your instances. You can use SSM Run Command to execute SSM documents on your instances.
How can we Automate things with SSM?
AWS Systems Manager (SSM) provides a variety of capabilities to automate common administrative tasks on your instances and resources. Here are some ways you can automate things with SSM:
Automation: Use Automation to simplify creating Amazon Machine Images (AMIs) from the AWS Marketplace or custom AMIs, using public Systems Manager documents (SSM documents) or by authoring your own workflows.
Compliance: Use Compliance to monitor the compliance of your instances and resources against predefined policies and to generate compliance reports.
Parameter Store: Use Parameter Store to centrally manage global configuration settings.
Patch Manager: Use Patch Manager to roll out patches at scale and increase fleet compliance visibility across your nodes.
Session Manager: Use Session Manager to troubleshoot issues on your instances, run commands on your instances, and perform administrative tasks on your instances.
Hybrid Environments: Use SSM Hybrid Environments to manage your on-premises servers and VMs.
IoT Greengrass: Use SSM with IoT Greengrass to manage your IoT Greengrass devices and to automate common administrative tasks.
Default Host Management Configuration: Use Default Host Management Configuration to automatically track Amazon EC2 instances using Fleet Manager, use Run Command on remote instances, and securely connect to the instances using Session Manager.
The day unfolded with a deep dive into SSM automation, exploring its varied use cases. From dynamic host management configuration to SSM Compliance, it's clear that automation is at the heart of AWS operational excellence.
โจ The Journey Continues: As Day 4 wraps up, I'm excited about the depth of understanding gained and the practical skills acquired. Stay tuned for more updates as my AWS DevOps journey continues to unfold!