<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Pancho Daskalov</title>
    <description>The latest articles on DEV Community by Pancho Daskalov (@daskalov).</description>
    <link>https://dev.to/daskalov</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1113423%2F5b6684fd-8df9-4b63-b793-c4fc475dc5e7.jpeg</url>
      <title>DEV Community: Pancho Daskalov</title>
      <link>https://dev.to/daskalov</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/daskalov"/>
    <language>en</language>
    <item>
      <title>AWS CodeWhisperer: Simplifying Development with VS Code Integration</title>
      <dc:creator>Pancho Daskalov</dc:creator>
      <pubDate>Wed, 12 Jul 2023 19:50:30 +0000</pubDate>
      <link>https://dev.to/daskalov/aws-codewhisperer-simplifying-development-with-vs-code-integration-26gm</link>
      <guid>https://dev.to/daskalov/aws-codewhisperer-simplifying-development-with-vs-code-integration-26gm</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the realm of cloud development, Amazon Web Services (AWS) offers a wide range of services to facilitate efficient and collaborative coding practices. Among its offerings is AWS CodeWhisperer, a powerful tool designed to streamline the development process and enhance productivity. This article will introduce AWS CodeWhisperer and provide a practical example of how to leverage its capabilities within the popular integrated development environment (IDE), Visual Studio Code (VS Code).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Understanding AWS CodeWhisperer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;AWS CodeWhisperer is a comprehensive solution that empowers developers by providing a seamless development environment with built-in collaboration features. It integrates seamlessly with popular IDEs like VS Code, enabling teams to efficiently build, test, and deploy applications on AWS. CodeWhisperer enhances developer workflows, automates common tasks, and promotes best practices for coding in the cloud.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features and Benefits of AWS CodeWhisperer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Real-Time Collaboration: CodeWhisperer enables real-time collaboration among team members working on the same codebase. It allows developers to collaborate effortlessly, making it easier to share knowledge and resolve issues collectively.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Integrated Code Review:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;CodeWhisperer provides a built-in code review process, making it simple for developers to review each other's code and provide feedback directly within the IDE. This streamlines the code review process, ensuring high-quality code and fostering collaboration.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Continuous Integration and Deployment (CI/CD):&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;CodeWhisperer seamlessly integrates with AWS CodePipeline and CodeBuild to automate the building, testing, and deployment of applications. This ensures fast and reliable delivery of code changes to production environments.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enhanced Debugging:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;CodeWhisperer simplifies the debugging process by offering integrated debugging capabilities within the IDE. Developers can set breakpoints, inspect variables, and step through their code, making it easier to identify and resolve issues.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Using AWS CodeWhisperer with VS Code:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let's explore an example of how to use AWS CodeWhisperer with VS Code to enhance your development workflow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install the AWS Toolkit for VS Code: &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Start by installing the AWS Toolkit for VS Code, which provides the necessary functionality to integrate with AWS services.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Configure AWS Credentials:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Configure your AWS credentials within VS Code by opening the Command Palette (Ctrl/Cmd + Shift + P) and selecting "AWS: Configure AWS Credentials." Follow the prompts to provide your access key, secret key, and preferred region.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create or Open an AWS CodeWhisperer Project: &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In VS Code, navigate to the Explorer panel, right-click, and select "New AWS CloudShell session." This will open a CloudShell instance, providing a command-line environment to interact with AWS services.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Initialize a CodeWhisperer Project:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Within the CloudShell instance, navigate to your desired project directory and initialize CodeWhisperer by running the following command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;cd /path/to/project&lt;br&gt;
cwt init&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Collaborate and Develop:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With CodeWhisperer initialized, you can start collaborating with team members by sharing code changes, reviewing and merging pull requests, and discussing code in real-time. Utilize the VS Code integration to seamlessly navigate between files, execute commands, and interact with AWS services directly from the IDE.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Automate Deployment with CI/CD:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Leverage AWS CodePipeline and CodeBuild to set up a CI/CD pipeline for your CodeWhisperer project. Configure the pipeline to automatically build, test, and deploy your application whenever code changes are pushed to the repository.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;AWS CodeWhisperer, integrated with VS Code, brings powerful collaboration and automation capabilities to the development process. By leveraging CodeWhisperer's real-time collaboration, integrated code review, and CI/CD features, developers can streamline their workflows, ensure code quality, and accelerate application delivery on AWS. Embrace the seamless integration between AWS CodeWhisperer and VS Code to enhance your development experience and build robust cloud applications with ease.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt; &lt;a href="https://aws.amazon.com/codewhisperer/"&gt;https://aws.amazon.com/codewhisperer/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>AWS S3: Secure and Reliable Object Storage for Your Data #explained + setup using #terraform</title>
      <dc:creator>Pancho Daskalov</dc:creator>
      <pubDate>Wed, 12 Jul 2023 19:37:54 +0000</pubDate>
      <link>https://dev.to/daskalov/aws-s3-secure-and-reliable-object-storage-for-your-data-explained-setup-using-terraform-30no</link>
      <guid>https://dev.to/daskalov/aws-s3-secure-and-reliable-object-storage-for-your-data-explained-setup-using-terraform-30no</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the world of cloud computing, Amazon Web Services (AWS) offers a vast range of services to cater to different business needs. Among its key offerings is Amazon Simple Storage Service (S3), a highly scalable and secure object storage service. This article explores the capabilities of AWS S3 and provides an example of setting up an S3 bucket to store the terraform.tfstate file using the popular infrastructure-as-code tool, Terraform.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Understanding AWS S3:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Amazon S3 provides developers and businesses with secure, durable, and highly available object storage. It is designed to store and retrieve any amount of data from anywhere on the web. S3 operates on a pay-as-you-go pricing model, making it cost-effective for storing and managing vast amounts of data, ranging from a few kilobytes to several terabytes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features and Benefits of S3:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Scalability: &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AWS S3 seamlessly scales storage capacity to accommodate any amount of data. It automatically handles the underlying infrastructure, allowing users to focus on their applications and data.&lt;/p&gt;

&lt;p&gt;Durability and Availability: S3 is designed to provide 99.999999999% (11 nines) durability, ensuring that your data is highly protected and always available when needed.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Security: &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;S3 offers robust security features, including encryption in transit and at rest, fine-grained access controls, and integration with AWS Identity and Access Management (IAM) for secure data access and management.&lt;/p&gt;

&lt;p&gt;Data Management and Lifecycle Policies: S3 enables users to define lifecycle policies to automatically transition and expire objects based on specific rules. This helps optimize storage costs and streamline data management processes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setting Up an S3 Bucket Using Terraform:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Terraform, an infrastructure-as-code tool, simplifies the provisioning and management of cloud infrastructure resources. Here's an example of using Terraform to set up an S3 bucket to store the terraform.tfstate file:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Install Terraform:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Start by installing Terraform on your local machine following the official installation guide.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create a New Directory:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Create a new directory on your machine where you'll store your Terraform configuration files.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Define the Provider:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;In the configuration file (with a .tf extension), define the AWS provider and specify your AWS credentials.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;provider "aws" {&lt;br&gt;
  access_key = "YOUR_ACCESS_KEY"&lt;br&gt;
  secret_access_key = "YOUR_SECRET_ACCESS_KEY"&lt;br&gt;
  region = "us-west-2"&lt;br&gt;
}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Define the S3 Bucket:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Create a resource block to define the S3 bucket, specifying a unique name and access control settings.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;resource "aws_s3_bucket" "example" {&lt;br&gt;
  bucket = "my-terraform-bucket"&lt;br&gt;
  acl    = "private"&lt;br&gt;
}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enable Versioning and Server-Side Encryption:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;To enable versioning and server-side encryption for the S3 bucket, add the following block to the configuration file:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;resource "aws_s3_bucket_versioning" "example" {&lt;br&gt;
  bucket = aws_s3_bucket.example.id&lt;br&gt;
  enabled = true&lt;br&gt;
}&lt;br&gt;
resource "aws_s3_bucket_encryption" "example" {&lt;br&gt;
  bucket = aws_s3_bucket.example.id&lt;br&gt;
  server_side_encryption_configuration {&lt;br&gt;
    rule {&lt;br&gt;
      apply_server_side_encryption_by_default {&lt;br&gt;
        sse_algorithm = "AES256"&lt;br&gt;
      }&lt;br&gt;
    }&lt;br&gt;
  }&lt;br&gt;
}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Initialize and Apply Changes:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;In your terminal, navigate to the directory where your configuration files are located. Run terraform init to initialize the Terraform workspace. Then, execute terraform apply to create the S3 bucket.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Amazon S3 offers a robust and flexible solution for storing and managing data in the cloud. Its scalability, durability, and security features make it an ideal choice for organizations of all sizes. By leveraging Terraform, you can automate the provisioning of an S3 bucket, enabling efficient and reproducible infrastructure deployments. Utilize the power of AWS S3 and Terraform to securely store and manage your data in the cloud.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt; &lt;a href="https://aws.amazon.com/s3/"&gt;https://aws.amazon.com/s3/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>AWS EC2: Empowering Scalable and Flexible Cloud Computing #explained + setup using #terraform</title>
      <dc:creator>Pancho Daskalov</dc:creator>
      <pubDate>Wed, 12 Jul 2023 19:28:37 +0000</pubDate>
      <link>https://dev.to/daskalov/aws-ec2-empowering-scalable-and-flexible-cloud-computing-explained-setup-using-terraform-h48</link>
      <guid>https://dev.to/daskalov/aws-ec2-empowering-scalable-and-flexible-cloud-computing-explained-setup-using-terraform-h48</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the realm of cloud computing, Amazon Web Services (AWS) holds a prominent position with its vast array of services catering to diverse business needs. Among its key offerings is Amazon Elastic Compute Cloud (EC2), a highly scalable and flexible service that allows users to launch and manage virtual servers in the cloud. This article will provide an overview of EC2 and delve into a practical example of setting up an EC2 instance using the popular infrastructure-as-code tool, Terraform.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Understanding AWS EC2:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Amazon EC2 offers resizable compute capacity in the cloud, allowing users to scale their applications seamlessly. It enables businesses to provision virtual servers known as instances, giving them full control over the operating system, storage, networking, and security configurations. EC2 instances can be easily created, modified, or terminated based on fluctuating workload requirements, making it an ideal solution for applications with dynamic computing needs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benefits of EC2:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Scalability: EC2 offers the flexibility to scale instances up or down according to demand, ensuring optimal performance and cost-efficiency.&lt;/p&gt;

&lt;p&gt;Elasticity: With EC2, users can leverage auto-scaling features to automatically adjust the number of instances based on predefined policies, maintaining application performance and availability.&lt;/p&gt;

&lt;p&gt;Variety of Instance Types: AWS EC2 provides a broad range of instance types, catering to diverse workloads such as compute-intensive tasks, memory-intensive applications, GPU-based processing, and more.&lt;/p&gt;

&lt;p&gt;Security and Compliance: EC2 instances are built with a strong focus on security, providing users with comprehensive tools to manage access control, encryption, and compliance with industry standards.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting Up EC2 Instances Using Terraform:
&lt;/h2&gt;

&lt;p&gt;Terraform is an open-source infrastructure-as-code tool that allows you to define and provision infrastructure resources in a declarative manner. Let's walk through an example of using Terraform to set up an EC2 instance:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Install Terraform:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Begin by installing Terraform on your local machine following the official installation guide.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create a New Directory:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Create a new directory on your machine where you'll store your Terraform configuration files.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Define the Provider:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the configuration file (with a .tf extension), define the AWS provider and specify your AWS credentials.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;provider "aws" {&lt;br&gt;
  access_key = "YOUR_ACCESS_KEY"&lt;br&gt;
  secret_access_key = "YOUR_SECRET_ACCESS_KEY"&lt;br&gt;
  region = "us-west-2"&lt;br&gt;
}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Define the EC2 Instance:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Create a resource block to define the EC2 instance with the desired specifications.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;resource "aws_instance" "example" {&lt;br&gt;
  ami = "ami-0c94855ba95c71c99"&lt;br&gt;
  instance_type = "t2.micro"&lt;br&gt;
  key_name = "my-key-pair"&lt;br&gt;
}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Initialize and Apply Changes:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;In your terminal, navigate to the directory where your configuration files are located. Run terraform init to initialize the Terraform workspace. Then, execute terraform apply to create the EC2 instance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Amazon EC2 provides a powerful solution for deploying and managing virtual servers in the AWS cloud. Its scalability, flexibility, and extensive features make it an attractive choice for businesses of all sizes. By combining EC2 with tools like Terraform, infrastructure provisioning becomes more streamlined, enabling efficient and reproducible deployments. Embrace the capabilities of AWS EC2 to unlock the potential of cloud computing for your organization.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt; &lt;a href="https://aws.amazon.com/ec2/"&gt;https://aws.amazon.com/ec2/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>AWS Fault Injection Simulator [FIS] #how-to-use</title>
      <dc:creator>Pancho Daskalov</dc:creator>
      <pubDate>Wed, 05 Jul 2023 19:29:59 +0000</pubDate>
      <link>https://dev.to/daskalov/aws-fault-injection-simulator-fis-how-to-use-31j1</link>
      <guid>https://dev.to/daskalov/aws-fault-injection-simulator-fis-how-to-use-31j1</guid>
      <description>&lt;p&gt;&lt;strong&gt;AWS FIS concepts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;AWS FIS allows you to test the performance of an application or system under fault conditions by running experiments on your AWS resources. To conduct experiments, create an experiment template that outlines the actions, targets, and stop conditions. Use the template to run the experiment and monitor its progress until all actions are completed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AWS FIS example&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For the FIS experiment we've created an EC2 instance with the following parameters: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Platform: Amazon Linux&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AMI ID: ami-06b09bfacae1453cb&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AMI Name: al2023-ami-2023.1.20230629.0-kernel-6.1-x86_64&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iswk7Fm7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mti291rd3tkylfd0ssdz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iswk7Fm7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mti291rd3tkylfd0ssdz.png" alt="Image description" width="800" height="392"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, we will move on to creating AWS FIS experiment which will have following set of actions: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;create experiment template - this is broken down into several steps: Description and Name, Actions, Targets, Service Access, Stop Conditions, Logs, Tags&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We need to provide description for our experiment, Name is optional here! &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AgMb-hza--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qc833bhzq12hamjbuez1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AgMb-hza--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qc833bhzq12hamjbuez1.png" alt="Image description" width="800" height="225"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We add actions to an experiment template, which AWS FIS uses to run the experiment.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZS7hrB3j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iuzckg4kffxfpwwh9u3c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZS7hrB3j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iuzckg4kffxfpwwh9u3c.png" alt="Image description" width="800" height="371"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AWS FIS identifies all targets before starting any action and uses them throughout the experiment.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rTVqWOhN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rkh3up8pcwibggb9wnfa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rTVqWOhN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rkh3up8pcwibggb9wnfa.png" alt="Image description" width="800" height="866"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;FIS requires permission to conduct experiments on our behalf.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bAB3Cpb8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8jb4rr9fel3m1wrn41jv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bAB3Cpb8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8jb4rr9fel3m1wrn41jv.png" alt="Image description" width="800" height="853"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once we've completed all the steps required we can go ahead and click on the 'create experiment template'.&lt;/p&gt;

&lt;p&gt;This will trigger the creation of the experiment template which once ready will show up in the experiment templates dashboard.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DZudzft4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bjpg25lnxt7xmifhfq5o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DZudzft4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bjpg25lnxt7xmifhfq5o.png" alt="Image description" width="800" height="191"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then we need too select the experiment template and click on 'start experiment' in order to initiate the AWS FIS experiment.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--T4IC_Wq---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8uo5kv0sxktln45felo9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--T4IC_Wq---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8uo5kv0sxktln45felo9.png" alt="Image description" width="800" height="290"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You will be prompted with a window which warns you that you are about to 'perform destructive actions on your AWS resources.' Write 'start' in order to confirm the action! &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PzrMx5Wj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vx29hsg9jlecuylvuq9s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PzrMx5Wj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vx29hsg9jlecuylvuq9s.png" alt="Image description" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, we need to switch over to the Experiments tab, as the experiment once initiated will be in a 'Running' state.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OSTqv-V---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ic90x34llml37pyp2xtc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OSTqv-V---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ic90x34llml37pyp2xtc.png" alt="Image description" width="800" height="192"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now if we switch over to the EC2 instance dashboard, we will notice that the instance changed its status to 'Stopping' due to the AWS FIS experiment action to stop it. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vvOiWwO---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p0jgwwaefaovo7j0e592.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vvOiWwO---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p0jgwwaefaovo7j0e592.png" alt="Image description" width="800" height="118"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Eventually, the ec2 instance comes to a complete stop and changes its status to 'Stopped'. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--j-qEN_U---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/timb6ue1hcxlfruchrwz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--j-qEN_U---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/timb6ue1hcxlfruchrwz.png" alt="Image description" width="800" height="117"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/fis/latest/userguide/what-is.html"&gt;https://docs.aws.amazon.com/fis/latest/userguide/what-is.html&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>AWS Fault Injection Simulator [FIS] #explained</title>
      <dc:creator>Pancho Daskalov</dc:creator>
      <pubDate>Tue, 04 Jul 2023 20:01:30 +0000</pubDate>
      <link>https://dev.to/daskalov/aws-fault-injection-simulator-1lij</link>
      <guid>https://dev.to/daskalov/aws-fault-injection-simulator-1lij</guid>
      <description>&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Introduction:&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ensuring the resilience and reliability of cloud applications is a critical aspect of modern software development. To help developers and operators test their systems' response to failures and improve their fault tolerance, Amazon Web Services (AWS) has introduced the AWS Fault Injection Simulator. This powerful tool allows users to simulate various failure scenarios in their AWS environments, helping them proactively identify and mitigate potential issues. In this article, we'll explore the capabilities of the AWS Fault Injection Simulator and provide a sample Terraform code to get you started.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Understanding AWS Fault Injection Simulator:&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The AWS Fault Injection Simulator is a fully managed service that allows you to inject faults into your AWS infrastructure. By simulating different failure scenarios, you can evaluate how your applications and systems respond under stress and ensure they gracefully handle failures. The simulator enables you to test the resiliency of your applications, identify potential bottlenecks, and validate your disaster recovery strategies.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Benefits of Using AWS Fault Injection Simulator:&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Proactive Resilience Testing: &lt;/p&gt;

&lt;p&gt;By injecting faults into your environment, you can proactively identify weak points in your infrastructure, applications, and configurations, allowing you to make improvements before real failures occur.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; Realistic Failure Scenarios: &lt;/p&gt;

&lt;p&gt;The AWS Fault Injection Simulator provides a wide range of pre-built failure scenarios, such as network partitioning, instance failures, and throttling errors. These scenarios closely resemble real-world failures, ensuring accurate testing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt; Fine-Grained Control: &lt;/p&gt;

&lt;p&gt;You have granular control over the fault injection process, allowing you to select specific targets, configure fault parameters, and customize the duration and intensity of the fault injections.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.&lt;/strong&gt; Automated Fault Injection: &lt;/p&gt;

&lt;p&gt;The AWS Fault Injection Simulator supports automation through integration with AWS Systems Manager Automation, making it easier to schedule fault injection campaigns, run experiments, and collect data.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt; &lt;a href="https://docs.aws.amazon.com/fis/latest/userguide/what-is.html"&gt;https://docs.aws.amazon.com/fis/latest/userguide/what-is.html&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>devops</category>
      <category>chaosengineering</category>
    </item>
  </channel>
</rss>
