<?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>Forem: Mansi Gawade </title>
    <description>The latest articles on Forem by Mansi Gawade  (@mansigawade8).</description>
    <link>https://forem.com/mansigawade8</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%2F2893491%2Fcff0992a-8dc4-44ef-9f20-8ad14683d433.png</url>
      <title>Forem: Mansi Gawade </title>
      <link>https://forem.com/mansigawade8</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mansigawade8"/>
    <language>en</language>
    <item>
      <title>Implementing CI/CD on AWS: A Complete Guide with CodePipeline, CodeBuild, and CodeDeploy</title>
      <dc:creator>Mansi Gawade </dc:creator>
      <pubDate>Fri, 21 Feb 2025 19:30:24 +0000</pubDate>
      <link>https://forem.com/mansigawade8/implementing-cicd-on-aws-a-complete-guide-with-codepipeline-codebuild-and-codedeploy-4l5</link>
      <guid>https://forem.com/mansigawade8/implementing-cicd-on-aws-a-complete-guide-with-codepipeline-codebuild-and-codedeploy-4l5</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
Continuous Integration and Continuous Deployment (CI/CD) are key principles in DevOps that automate software delivery. AWS provides native services like AWS CodePipeline, CodeBuild, and CodeDeploy to set up an efficient CI/CD workflow. In this guide, we’ll build a complete CI/CD pipeline to deploy a web application on an EC2 instance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Understanding AWS CI/CD Services&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;1. AWS CodePipeline&lt;/strong&gt;&lt;br&gt;
Automates the software release process.&lt;br&gt;
Orchestrates builds, tests, and deployments.&lt;br&gt;
&lt;strong&gt;2. AWS CodeBuild&lt;/strong&gt;&lt;br&gt;
Compiles source code, runs tests, and packages applications.&lt;br&gt;
Eliminates the need for managing build servers.&lt;br&gt;
&lt;strong&gt;3. AWS CodeDeploy&lt;/strong&gt;&lt;br&gt;
Deploys applications automatically to EC2, Lambda, or ECS.&lt;br&gt;
Supports blue/green and rolling deployments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Setting Up the AWS CI/CD Pipeline&lt;/strong&gt;&lt;br&gt;
We’ll create a CodePipeline that:&lt;br&gt;
Fetches source code from GitHub.&lt;br&gt;
Builds the application using CodeBuild.&lt;br&gt;
Deploys it to an EC2 instance using CodeDeploy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prerequisites&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An AWS account with IAM permissions for CodePipeline, CodeBuild, and CodeDeploy.&lt;/li&gt;
&lt;li&gt;An EC2 instance with an IAM Role attached.&lt;/li&gt;
&lt;li&gt;A GitHub repository containing the application code.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Configuring CodePipeline&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;1. Create a New CodePipeline&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open AWS Console → Navigate to CodePipeline.&lt;/li&gt;
&lt;li&gt;Click Create Pipeline → Enter a name (e.g., MyWebAppPipeline).&lt;/li&gt;
&lt;li&gt;Choose New Service Role (AWS will create one).&lt;/li&gt;
&lt;li&gt;Click Next.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Adding Source Stage (GitHub)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select GitHub as the source provider.&lt;/li&gt;
&lt;li&gt;Connect your GitHub account and select the repository.&lt;/li&gt;
&lt;li&gt;Choose the branch (e.g., main).&lt;/li&gt;
&lt;li&gt;Click Next.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Setting Up CodeBuild&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a &lt;strong&gt;buildspec.yml&lt;/strong&gt; File
This file defines the build steps.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;version: 0.2&lt;/p&gt;

&lt;p&gt;phases:&lt;br&gt;
  install:&lt;br&gt;
    runtime-versions:&lt;br&gt;
      nodejs: 18&lt;br&gt;
    commands:&lt;br&gt;
      - npm install&lt;br&gt;
  build:&lt;br&gt;
    commands:&lt;br&gt;
      - npm run build&lt;br&gt;
artifacts:&lt;br&gt;
  files:&lt;br&gt;
    - '*&lt;em&gt;/&lt;/em&gt;' &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add this file to the GitHub repository.&lt;/li&gt;
&lt;li&gt;In CodePipeline, select AWS CodeBuild.&lt;/li&gt;
&lt;li&gt;Create a new build project:&lt;/li&gt;
&lt;li&gt;Environment: Use AWS managed image (Ubuntu).&lt;/li&gt;
&lt;li&gt;Buildspec file: Select buildspec.yml.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 6: Setting Up CodeDeploy&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Install the CodeDeploy Agent on EC2&lt;br&gt;
SSH into the EC2 instance and run:&lt;br&gt;
sudo yum update -y&lt;br&gt;
sudo yum install ruby&lt;br&gt;
sudo yum install wget&lt;br&gt;
cd /home/ec2-user&lt;br&gt;
wget &lt;a href="https://aws-codedeploy-us-east-1.s3.amazonaws.com/latest/install" rel="noopener noreferrer"&gt;https://aws-codedeploy-us-east-1.s3.amazonaws.com/latest/install&lt;/a&gt;&lt;br&gt;
chmod +x ./install&lt;br&gt;
sudo ./install auto&lt;br&gt;
sudo service codedeploy-agent start&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create an &lt;strong&gt;appspec.yml&lt;/strong&gt; File&lt;br&gt;
This file defines the deployment steps.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;`version: 0.0&lt;br&gt;
os: linux&lt;br&gt;
files:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;source: /
destination: /var/www/html
hooks:
ApplicationStart:

&lt;ul&gt;
&lt;li&gt;location: scripts/start.sh
timeout: 300
runas: ec2-user`&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Register the EC2 Instance in CodeDeploy&lt;/li&gt;
&lt;li&gt;Create a CodeDeploy application in AWS.&lt;/li&gt;
&lt;li&gt;Create a Deployment Group and link it to the EC2 instance.&lt;/li&gt;
&lt;li&gt;In CodePipeline, select AWS CodeDeploy as the deploy provider.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 7: Deploy and Automate&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Push a change to the GitHub repository.&lt;/li&gt;
&lt;li&gt;AWS CodePipeline will automatically trigger:&lt;/li&gt;
&lt;li&gt;CodeBuild will build the application.&lt;/li&gt;
&lt;li&gt;CodeDeploy will deploy it to the EC2 instance.&lt;/li&gt;
&lt;li&gt;Verify deployment by accessing the EC2 public IP in a browser.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Best Practices for AWS CI/CD&lt;/strong&gt;&lt;br&gt;
✅ Use IAM roles instead of storing AWS credentials.&lt;br&gt;
✅ Enable logging in CodePipeline for debugging.&lt;br&gt;
✅ Use Blue/Green Deployments in CodeDeploy to minimize downtime.&lt;br&gt;
✅ Monitor deployments with CloudWatch and SNS alerts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
AWS CI/CD services simplify deployment automation. By integrating CodePipeline, CodeBuild, and CodeDeploy, you can create an efficient and scalable CI/CD workflow for web applications.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cicd</category>
      <category>codepipeline</category>
      <category>codedeploy</category>
    </item>
    <item>
      <title>Kubernetes Security: Hardening Your Cluster Against Attacks</title>
      <dc:creator>Mansi Gawade </dc:creator>
      <pubDate>Fri, 21 Feb 2025 19:24:25 +0000</pubDate>
      <link>https://forem.com/mansigawade8/kubernetes-security-hardening-your-cluster-against-attacks-3a7c</link>
      <guid>https://forem.com/mansigawade8/kubernetes-security-hardening-your-cluster-against-attacks-3a7c</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
Kubernetes is widely used for container orchestration but requires strong security measures to prevent vulnerabilities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Security Measures for Kubernetes&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Use Role-Based Access Control (RBAC)
Restrict permissions using least privilege principles.&lt;/li&gt;
&lt;li&gt;Secure API Access
Use OAuth tokens and OIDC authentication.&lt;/li&gt;
&lt;li&gt;Enable Network Policies
Prevent unauthorized communication between pods.&lt;/li&gt;
&lt;li&gt;Encrypt Secrets and Configurations
Use Kubernetes Secrets and HashiCorp Vault for secure storage.&lt;/li&gt;
&lt;li&gt;Implement Pod Security Standards
Define policies to restrict privileged container execution.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
Securing Kubernetes requires continuous monitoring and proper access control mechanisms. A well-hardened Kubernetes cluster prevents unauthorized access and data breaches.&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>aws</category>
      <category>cloud</category>
      <category>security</category>
    </item>
    <item>
      <title>Building Secure Cloud Infrastructure: Cyber Security Best Practices in AWS &amp; GCP</title>
      <dc:creator>Mansi Gawade </dc:creator>
      <pubDate>Fri, 21 Feb 2025 19:22:43 +0000</pubDate>
      <link>https://forem.com/mansigawade8/building-secure-cloud-infrastructure-cyber-security-best-practices-in-aws-gcp-3i43</link>
      <guid>https://forem.com/mansigawade8/building-secure-cloud-infrastructure-cyber-security-best-practices-in-aws-gcp-3i43</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
Securing cloud environments is critical to protect sensitive data and prevent cyber attacks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best Practices for Secure Cloud Infrastructure&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Implement Network Segmentation
Use VPCs and subnets to isolate workloads.
Enable Network Access Control Lists (NACLs) for extra security.&lt;/li&gt;
&lt;li&gt;Encrypt Data at Rest and in Transit
Use AWS KMS or GCP Cloud Key Management for encryption.&lt;/li&gt;
&lt;li&gt;Enable Security Logging
AWS CloudTrail and GCP Cloud Audit Logs track API activities.&lt;/li&gt;
&lt;li&gt;Use Web Application Firewall (WAF)
Protect against SQL injection and cross-site scripting (XSS).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
Security in the cloud is a shared responsibility. By implementing these best practices, organizations can safeguard their cloud infrastructure against threats.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>cloud</category>
      <category>aws</category>
      <category>gcp</category>
    </item>
    <item>
      <title>DevOps Monitoring &amp; Logging: Tools and Strategies for Scalable Observability</title>
      <dc:creator>Mansi Gawade </dc:creator>
      <pubDate>Fri, 21 Feb 2025 19:19:01 +0000</pubDate>
      <link>https://forem.com/mansigawade8/devops-monitoring-logging-tools-and-strategies-for-scalable-observability-184b</link>
      <guid>https://forem.com/mansigawade8/devops-monitoring-logging-tools-and-strategies-for-scalable-observability-184b</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
Monitoring and logging are essential in DevOps to detect issues, optimize performance, and ensure system reliability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Tools for Monitoring &amp;amp; Logging&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Prometheus *&lt;em&gt;– Metrics collection and alerting.&lt;br&gt;
**Grafana *&lt;/em&gt;– Visualization of monitoring data.&lt;br&gt;
**ELK Stack (Elasticsearch, Logstash, Kibana)&lt;/strong&gt; – Log aggregation and analysis.&lt;br&gt;
&lt;strong&gt;Datadog **– Cloud monitoring and security.&lt;br&gt;
**AWS CloudWatch&lt;/strong&gt; – Native AWS monitoring solution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best Practices for Effective Observability&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Implement Centralized Logging- Aggregate logs in a single platform (e.g., ELK Stack).&lt;/li&gt;
&lt;li&gt;Set Up Alerts and Notifications- Configure alerts for high CPU, memory, and response time.&lt;/li&gt;
&lt;li&gt;Use Distributed Tracing- Monitor microservices interactions using OpenTelemetry.&lt;/li&gt;
&lt;li&gt;Automate Log Rotation- Prevent disk space issues by automating log retention.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
Monitoring is an ongoing process. A robust observability strategy helps detect performance bottlenecks and security threats before they impact users.&lt;/p&gt;

</description>
      <category>monitoring</category>
      <category>devops</category>
      <category>aws</category>
      <category>cicd</category>
    </item>
    <item>
      <title>CI/CD with GitHub Actions: Automating Deployments Like a Pro</title>
      <dc:creator>Mansi Gawade </dc:creator>
      <pubDate>Fri, 21 Feb 2025 19:16:01 +0000</pubDate>
      <link>https://forem.com/mansigawade8/cicd-with-github-actions-automating-deployments-like-a-pro-5ch6</link>
      <guid>https://forem.com/mansigawade8/cicd-with-github-actions-automating-deployments-like-a-pro-5ch6</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
Continuous Integration and Continuous Deployment (CI/CD) streamline software delivery by automating builds, tests, and deployments. GitHub Actions provides a flexible CI/CD workflow within GitHub repositories.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is GitHub Actions?&lt;/strong&gt;&lt;br&gt;
GitHub Actions is a workflow automation tool that allows you to define CI/CD pipelines using YAML files.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setting Up a CI/CD Pipeline&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Create a GitHub Repository&lt;/strong&gt;&lt;br&gt;
Initialize a GitHub repository and push your code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Define Workflow in .github/workflows/deploy.yml&lt;/strong&gt;&lt;br&gt;
Create a YAML file with the following structure:&lt;br&gt;
`name: Deploy to AWS&lt;/p&gt;

&lt;p&gt;on:&lt;br&gt;
  push:&lt;br&gt;
    branches:&lt;br&gt;
      - main&lt;/p&gt;

&lt;p&gt;jobs:&lt;br&gt;
  deploy:&lt;br&gt;
    runs-on: ubuntu-latest&lt;br&gt;
    steps:&lt;br&gt;
      - name: Checkout Code&lt;br&gt;
        uses: actions/checkout@v3&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  - name: Setup Node.js
    uses: actions/setup-node@v3
    with:
      node-version: '18'

  - name: Install Dependencies
    run: npm install

  - name: Run Tests
    run: npm test

  - name: Deploy to AWS
    run: aws s3 sync ./build s3://your-bucket-name`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Secure Secrets Using GitHub Secrets&lt;/strong&gt;&lt;br&gt;
Store AWS credentials securely using Settings &amp;gt; Secrets.&lt;br&gt;
Advanced CI/CD Features&lt;br&gt;
Caching Dependencies – Reduce build time using:&lt;br&gt;
&lt;code&gt;- name: Cache Dependencies&lt;br&gt;
  uses: actions/cache@v3&lt;br&gt;
  with:&lt;br&gt;
    path: ~/.npm&lt;br&gt;
    key: npm-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Rollback Mechanism – Automate rollbacks on failed deployments.&lt;br&gt;
Notifications – Send Slack alerts on deployment status.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
GitHub Actions makes CI/CD simple and scalable. By integrating best practices, you can automate deployments while ensuring security and efficiency.&lt;/p&gt;

</description>
      <category>cicd</category>
      <category>github</category>
      <category>automation</category>
    </item>
    <item>
      <title>Mastering AWS IAM: A Deep Dive into Identity and Access Management Best Practices</title>
      <dc:creator>Mansi Gawade </dc:creator>
      <pubDate>Fri, 21 Feb 2025 19:11:50 +0000</pubDate>
      <link>https://forem.com/mansigawade8/mastering-aws-iam-a-deep-dive-into-identity-and-access-management-best-practices-4ae2</link>
      <guid>https://forem.com/mansigawade8/mastering-aws-iam-a-deep-dive-into-identity-and-access-management-best-practices-4ae2</guid>
      <description>&lt;p&gt;AWS Identity and Access Management (IAM) is a fundamental service that controls access to AWS resources. Misconfigurations in IAM can lead to security vulnerabilities, so understanding its best practices is crucial for securing your cloud infrastructure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is AWS IAM?&lt;/strong&gt;&lt;br&gt;
IAM enables you to manage permissions and access to AWS services. It provides users, groups, roles, and policies to define who can do what within your AWS environment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Components of IAM&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Users – Individuals with unique credentials to access AWS resources.&lt;/li&gt;
&lt;li&gt;Groups – Collection of users sharing similar permissions.&lt;/li&gt;
&lt;li&gt;Roles – Temporary access permissions assigned to AWS services or external users.&lt;/li&gt;
&lt;li&gt;Policies – JSON-based rules that define permissions.
Best Practices for AWS IAM&lt;/li&gt;
&lt;li&gt;Follow the Principle of Least Privilege (PoLP)
• Assign only necessary permissions to users, groups, and roles.
• Use AWS managed policies to avoid overly permissive access.&lt;/li&gt;
&lt;li&gt;Enable Multi-Factor Authentication (MFA)
• Enforce MFA for root users and IAM users handling sensitive resources.&lt;/li&gt;
&lt;li&gt;Use IAM Roles for Applications and AWS Services
• Instead of using static credentials, assign IAM roles to EC2, Lambda, and other AWS services.&lt;/li&gt;
&lt;li&gt;Regularly Audit IAM Permissions
• Use IAM Access Analyzer and AWS CloudTrail to monitor API calls and detect unauthorized access.&lt;/li&gt;
&lt;li&gt;Rotate Credentials Regularly
• Avoid long-term static credentials and use AWS Secrets Manager or Parameter Store for sensitive data.
Common IAM Misconfigurations to Avoid&lt;/li&gt;
&lt;li&gt;Overuse of Root User – Use root user only for initial setup and create IAM users for daily tasks.&lt;/li&gt;
&lt;li&gt;Wildcard Policies ( * ) – Never grant broad permissions like s3:* or ec2:*.&lt;/li&gt;
&lt;li&gt;Hardcoding Credentials – Use IAM roles instead of storing credentials in code.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
IAM is the backbone of AWS security. By following these best practices, you can reduce security risks and ensure a robust access control mechanism in your AWS environment.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>iam</category>
      <category>devops</category>
      <category>cloud</category>
    </item>
  </channel>
</rss>
