Sunday, December 31, 2023

AWSCertCP: AWS Cloud SDK, AWS Cloud9, AWS CloudFormation, AWS FIS (Fault Injection Service)

 AWS Cloud Development Kit

AWS Cloud Development Kit (AWS CDK) accelerates cloud development using common programming languages to model your applications.


Use cases:

Improve infrastructure and business logic: Develop applications more efficiently using AWS CDK as the main framework to define cloud infrastructure as code.

Provision your most common infrastructure patterns faster: Migrate complex backend infrastructure more efficiently, while integrating with continuous integration and delivery (CI/CD) pipelines.

Automate AWS service provisioning with Construct Hub: Discover and use AWS CDK constructs created by the developer community to programmatically create new microservices.

Write applications using tools built for the cloud: Accelerate transitions from brand-new to fully deployed infrastructure using TypeScript, Python, Java, .NET, and Go (in Developer Preview).


The AWS Cloud Development Kit (AWS CDK) is an open-source software development framework for defining cloud infrastructure as code (IaC). It allows developers to define cloud resources using familiar programming languages, such as TypeScript, JavaScript, Python, Java, and C#. The primary purpose of AWS CDK is to simplify and streamline the process of provisioning and managing AWS resources.

Key purposes and benefits of the AWS CDK include:

Programmatic Infrastructure as Code (IaC):

AWS CDK enables developers to define cloud infrastructure using the same programming languages they use for application development. This allows for a more programmatic and expressive approach to IaC.

Abstraction and Reusability:

CDK provides a high-level abstraction over AWS CloudFormation, allowing developers to use constructs (pre-built components) to define common patterns and services. This abstraction promotes reusability of code and infrastructure patterns across projects.

Familiar Programming Languages:


Developers can use languages like TypeScript, JavaScript, Python, Java, and C# to define infrastructure. This makes it easier for developers to leverage their existing skills and knowledge, reducing the learning curve associated with IaC.

Improved Developer Productivity:


With AWS CDK, developers can express infrastructure using modern programming paradigms, such as object-oriented programming and functional programming. This can lead to increased developer productivity and the ability to leverage IDE features for code completion, debugging, and refactoring.

Declarative and Imperative Styles:


AWS CDK supports both declarative and imperative styles for defining infrastructure. Developers can choose to define infrastructure using a high-level, declarative approach with constructs, or they can use a lower-level, imperative approach for more fine-grained control.

Seamless Integration with AWS Services:


AWS CDK integrates seamlessly with AWS services, allowing developers to define resources and configurations for a wide range of AWS services. This includes compute resources, databases, networking, security configurations, and more.

Consistency and Avoidance of Configuration Drift:


Since AWS CDK generates AWS CloudFormation templates under the hood, it helps maintain consistency in infrastructure definitions. Developers can apply version control and track changes, reducing the risk of configuration drift.

Ecosystem and Community:


AWS CDK has a growing ecosystem of libraries and constructs contributed by the community. Developers can leverage these reusable components to accelerate development and follow best practices.



AWS Cloud9 

----------

A cloud-based integrated development environment (IDE) that lets you write, run, and debug your code with just a browser.

Comes prepackaged with essential tools for popular programming languages, including JavaScript, Python, and PHP.

Quickly share your development environment with your team, enabling you to pair program and track each other's inputs in real time.


Integrated Tools for Serverless Development

AWS Cloud9 allows you to edit and debug AWS Lambda functions locally, which eliminates the need to upload your code to the Lambda console for debugging. The development environment is pre-packaged with SDKs, tools, and libraries needed for serverless application development. 


Broad Selection of Run Configurations

AWS Cloud9 supports over 40 programming languages and application types including JavaScript, Python, PHP, Ruby, Go, and C++. You can choose default run configurations or define custom configurations by specifying environment variables.


Direct Terminal Access to AWS

Terminal access includes sudo privileges to the managed Amazon EC2 instance that is hosting your development environment. This makes it easy for you to quickly run commands and directly access AWS services.



AWS Cloud Formation

-------------------

AWS CloudFormation lets you model, provision, and manage AWS and third-party resources by treating infrastructure as code.



AWS Toolkit for Azure DevOps

----------------------------


The AWS Toolkit for Azure DevOps is an extension for hosted and on-premises Microsoft Azure DevOps that make it easy to manage and deploy applications using AWS. If you already use Azure DevOps, the AWS Toolkit for Azure DevOps makes it easy to deploy your code to AWS using either AWS Elastic Beanstalk or AWS CodeDeploy


The AWS Toolkit for Azure DevOps allow you to deploy AWS CloudFormation templates, so you have an easy way to manage, provision, and update a collection of AWS resources from within Azure DevOps. The AWS Toolkit for Azure DevOps provides integration with many AWS services, which make it easy to store build artifacts in Amazon S3, run commands from the AWS Tools for Windows PowerShell and AWS CLI, and manage notifications through Amazon SNS or Amazon SQS queues.


Key Features are: 

Use Your Existing Azure DevOps Build/Release Process

Deploy .NET Applications Directly to AWS

Deploy Serverless .NET Applications to AWS Lambda

Manage Infrastructure as Code




AWS Fault Injection Service

---------------------------


Part of AWS Resilience Hub, AWS Fault Injection Service (FIS) is a fully managed service for running fault injection experiments to improve an application’s performance, observability, and resilience. FIS simplifies the process of setting up and running controlled fault injection experiments across a range of AWS services, so teams can build confidence in their application behavior.


FIS provides the controls and guardrails that teams need to run experiments in production, such as automatically rolling back or stopping the experiment if specific conditions are met.


Use cases are:

Run a game-day simulation

Simulate previous failures, known process or team weaknesses, or seasonal spikes in demand, and monitor the performance of your system.


Integrate with your delivery pipeline:

Repeatedly test the impact of fault actions, such as injecting task-level container failures, as part of your software delivery process.


Run CPU stress on an instance

Test how your applications handle CPU stress and whether CPU utilization exceeds your specified threshold.




references:

https://d1.awsstatic.com/training-and-certification/docs-cloud-practitioner/AWS-Certified-Cloud-Practitioner_Exam-Guide.pdf

No comments:

Post a Comment