<?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: Soumya</title>
    <description>The latest articles on DEV Community by Soumya (@soumya14041987).</description>
    <link>https://dev.to/soumya14041987</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%2F818585%2Fe6182a94-9ebf-4604-b780-98f43d6cfc43.jpeg</url>
      <title>DEV Community: Soumya</title>
      <link>https://dev.to/soumya14041987</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/soumya14041987"/>
    <language>en</language>
    <item>
      <title>ECS vs. ECS Anywhere &amp; EKS vs. EKS Anywhere: Making the Right Choice for Your Workloads</title>
      <dc:creator>Soumya</dc:creator>
      <pubDate>Sat, 25 Jan 2025 08:29:53 +0000</pubDate>
      <link>https://dev.to/soumya14041987/ecs-vs-ecs-anywhere-eks-vs-eks-anywhere-making-the-right-choice-for-your-workloads-1n8l</link>
      <guid>https://dev.to/soumya14041987/ecs-vs-ecs-anywhere-eks-vs-eks-anywhere-making-the-right-choice-for-your-workloads-1n8l</guid>
      <description>&lt;p&gt;As organizations increasingly embrace containerization to modernize their applications ,Containerization &amp;amp; its orchestration is becoming the key prospective towards Application transformation journey from Legacy ,monolithic to Microservices &amp;amp; Cloud agnostic . In this blog we will try to scratch the surface of ECS Anywhere &amp;amp; EKS Anywhere . We will understand the following areas :-&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What Are ECS and ECS Anywhere?&lt;/li&gt;
&lt;li&gt;What Are EKS and EKS Anywhere?&lt;/li&gt;
&lt;li&gt;Key Comparisons&lt;/li&gt;
&lt;li&gt;Real-World Examples with Step by Step guide to install ECS &amp;amp; EKS Anywhere &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What Are ECS and ECS Anywhere?
&lt;/h2&gt;

&lt;p&gt;Amazon ECS (Elastic Container Service) is a fully managed container orchestration service that allows you to deploy, manage, and scale containerized applications on AWS infrastructure.&lt;/p&gt;

&lt;p&gt;Amazon ECS Anywhere, on the other hand, extends ECS's capabilities to run containers on on-premises or other cloud environments. It provides the flexibility to run and manage containers in hybrid or multi-cloud environments using the same ECS control plane.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What Are EKS and EKS Anywhere?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Amazon EKS (Elastic Kubernetes Service) is a managed Kubernetes service on AWS, enabling developers to run Kubernetes workloads without the operational overhead of managing the control plane.&lt;/p&gt;

&lt;p&gt;Amazon EKS Anywhere allows businesses to run Kubernetes clusters on-premises or in any environment, offering the same Kubernetes experience as Amazon EKS but tailored to hybrid cloud strategies.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Key Comparisons
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt; Control Plane Management&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;- ECS and EKS handle control plane management for you in the AWS cloud.&lt;/li&gt;
&lt;li&gt;- ECS Anywhere and EKS Anywhere bring this capability to on-prem or edge environments, giving you more control and flexibility.&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt; Ease of Use&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;- ECS is simpler to set up and use, especially for teams that prefer AWS-native solutions.&lt;/li&gt;
&lt;li&gt;- EKS provides the flexibility of Kubernetes, which might be more complex but is a better choice for organizations with Kubernetes expertise.&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt; Hybrid Cloud Support&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ECS Anywhere and EKS Anywhere are designed for hybrid and multi-cloud deployments, making them ideal for organizations that want to maintain some workloads on-premises or across multiple clouds.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Cost and Resource Optimization&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ECS and ECS Anywhere are generally cost-effective, especially for simpler workloads. EKS and EKS Anywhere provide more flexibility but come with additional management overhead and cost.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Security &amp;amp; Governance &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both ECS &amp;amp; EKS Anywhere ensures isolation of data ,compliance of data &amp;amp; meet regulatory norms especially based on HIPAA ,GDPR guidelines which assist clients gain its market adoption &amp;amp; add more values &amp;amp; proximity  towards end users .&lt;/p&gt;

&lt;h2&gt;
  
  
  Real-World Examples with Step by Step guide :-
&lt;/h2&gt;

&lt;p&gt;Imagine a healthcare provider wants to run patient data applications on-premises to comply with data residency laws, but they also want centralized management through AWS.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Setting up ECS Anywhere
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;At least one server with Linux or Windows installed.&lt;/li&gt;
&lt;li&gt;Sufficient CPU, memory, and storage.&lt;/li&gt;
&lt;li&gt;ECS Anywhere uses the SSM agent to manage on-prem servers &lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-anywhere-updates.html" rel="noopener noreferrer"&gt;
      docs.aws.amazon.com
    &lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Next to Register &amp;amp; De register any external instances with ECS Cluster 
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-anywhere-registration.html" rel="noopener noreferrer"&gt;
      docs.aws.amazon.com
    &lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Create task definitions for your healthcare application (e.g., containerized patient record management).&lt;/li&gt;
&lt;li&gt;Push your application containers to Amazon Elastic Container Registry (ECR) or another container registry.&lt;/li&gt;
&lt;li&gt;Deploy the tasks to the on-premises server through the ECS cluster.&lt;/li&gt;
&lt;li&gt;Monitor the health and performance of tasks directly in the AWS console.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. Setting up EKS Anywhere
&lt;/h2&gt;

&lt;p&gt;Imagine a manufacturing firm wants to deploy IoT-enabled applications at factory locations for real-time data processing. EKS Anywhere allows them to manage these Kubernetes clusters local . &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Minimum: 2 CPUs, 8GB RAM, and 50GB storage per node.&lt;/li&gt;
&lt;li&gt;Install virtualization software like VMware vSphere or bare-metal servers.&lt;/li&gt;
&lt;li&gt;Set up a dedicated control plane server (e.g., a Linux laptop or server).&lt;/li&gt;
&lt;li&gt;Run the EKS Anywhere CLI to create an "Control plane node" (used to manage other Kubernetes clusters).&lt;/li&gt;
&lt;li&gt;Use a pre-configured configuration file to define cluster details like networking and node sizes.&lt;/li&gt;
&lt;li&gt;Use kubectl commands to deploy IoT-enabled apps to the Kubernetes cluster.&lt;/li&gt;
&lt;li&gt;These applications process data from manufacturing IoT devices locally.&lt;/li&gt;
&lt;li&gt;Monitor the Cluster via CloudWatch agent installed on those On-premises servers . &lt;/li&gt;
&lt;/ul&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://anywhere.eks.amazonaws.com/docs/getting-started/install/" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fanywhere.eks.amazonaws.com%2Fimages%2Fsocial-feature.png" height="400" class="m-0" width="800"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://anywhere.eks.amazonaws.com/docs/getting-started/install/" rel="noopener noreferrer" class="c-link"&gt;
          1. Admin Machine | EKS Anywhere
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          Steps for setting up the Admin Machine

        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fanywhere.eks.amazonaws.com%2Ffavicons%2Ffavicon.ico" width="800" height="400"&gt;
        anywhere.eks.amazonaws.com
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;- ECS Anywhere is simpler for containerized workloads that don’t require Kubernetes complexity.&lt;/li&gt;
&lt;li&gt;- EKS Anywhere is ideal if you already use Kubernetes or need advanced orchestration in hybrid environments.&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>ecs</category>
      <category>eks</category>
      <category>hybridcloud</category>
      <category>kubernetes</category>
    </item>
    <item>
      <title>Kubectl Top command:-Secrets behind scenes</title>
      <dc:creator>Soumya</dc:creator>
      <pubDate>Sun, 20 Oct 2024 05:04:49 +0000</pubDate>
      <link>https://dev.to/soumya14041987/kubectl-top-command-secrets-behind-scenes-of9</link>
      <guid>https://dev.to/soumya14041987/kubectl-top-command-secrets-behind-scenes-of9</guid>
      <description>&lt;p&gt;Metrics Server is typically installed as an add-on in Kubernetes clusters, including in &lt;strong&gt;Minikube&lt;/strong&gt; &amp;amp; other K8's clusters. It is not installed by default in most &lt;strong&gt;Kubernetes&lt;/strong&gt; clusters, but it can be easily added. It is an optional add-on that you install to provide real-time resource utilization data for nodes and pods.&lt;/p&gt;

&lt;p&gt;It is a lightweight service designed to work with the Kubernetes Metrics API to provide metrics like CPU and memory usage for &lt;strong&gt;horizontal pod autoscaling (HPA)&lt;/strong&gt;, the &lt;strong&gt;kubectl&lt;/strong&gt; top command, and more.&lt;/p&gt;

&lt;p&gt;If the Metrics Server is not installed, commands like &lt;strong&gt;kubectl&lt;/strong&gt; top or the Horizontal Pod Autoscaler won’t have the necessary data for CPU and memory metrics.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In a Minikube Cluster:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Minikube is a local Kubernetes cluster, and similar to full Kubernetes clusters, the Metrics Server is also not enabled by default.&lt;/p&gt;

&lt;p&gt;You can enable it in Minikube using a specific add-on command.&lt;br&gt;
Installing Metrics Server in Minikube:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will install the Metrics Server into your cluster.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Verify Metrics Server Deployment&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After installing, check if the Metrics Server is running properly:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl get pods -n kube-system

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should see a metrics-server pod running. For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NAME                                 READY   STATUS    RESTARTS   AGE
metrics-server-86cbb8457f-zkhrn       1/1     Running   0          1m
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now just execute below commands to listed all pods , nodes in default , respective namespace .&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl top pods 
kubectl top nodes 
kubectl top pods -n &amp;lt;namespace&amp;gt;
kubectl top pods --all-namespaces

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now deep dive a little bit .&lt;br&gt;
&lt;strong&gt;View Resource Usage for a Specific Pod&lt;/strong&gt;:-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl top pod &amp;lt;pod-name&amp;gt; -n &amp;lt;namespace&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;View Container Resource Usage within a Pod&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl top pod &amp;lt;pod-name&amp;gt; -n &amp;lt;namespace&amp;gt; --containers

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Sort by Resource Usage (CPU or Memory):-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl top pods -n &amp;lt;namespace&amp;gt; --sort-by=cpu
kubectl top pods -n &amp;lt;namespace&amp;gt; --sort-by=memory

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now let's walkthrough a real world troubleshooting scenario on where post installing &lt;strong&gt;Metrics&lt;/strong&gt; server its not able to execute kubectl top commands and getting error as &lt;strong&gt;Metrics API not available .&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Workaround Step by Step :-&lt;/strong&gt;&lt;br&gt;
I assume that Metrics server adds-on already installed ,so not going through the steps as those has been already mentioned above.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verify Metrics Server Deployment&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl get pods -n kube-system

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;You should see a metrics-server pod running. For example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;metrics-server-86cbb8457f-zkhrn       1/1     Running   0          1m
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Check Logs for Errors&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl logs -n kube-system &amp;lt;metrics-server-pod-name&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now comes the most important part :-&lt;br&gt;
&lt;strong&gt;Ensure Proper Configuration&lt;/strong&gt;&lt;br&gt;
The Metrics Server requires proper API access and SSL certificates to function correctly. Some common configuration issues might involve:&lt;/p&gt;

&lt;p&gt;TLS or certificate issues: If you're using self-signed certificates, ensure the certificates are set up correctly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;API Server flags:&lt;/strong&gt; The Kubernetes API server must allow the Metrics Server to access metrics. Ensure the &lt;strong&gt;--kubelet-insecure-tls flag&lt;/strong&gt; is set if you are in a development environment:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wait for Metrics to Populate&lt;/strong&gt;&lt;br&gt;
After starting the Metrics Server, it may take a few minutes for it to collect and expose metrics from the nodes and pods. Try running kubectl top nodes again after a couple of minutes&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl top nodes

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;** Check Kubelet Configuration**&lt;/p&gt;

&lt;p&gt;The Kubelet (running on each node) must expose its metrics to the Metrics Server. Ensure that the --authentication-token-webhook and --authorization-mode=Webhook flags are enabled on your Kubelet configuration, allowing it to authenticate API requests.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Edit the Metrics Server deployment:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl edit deployment metrics-server -n kube-system

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Add the --kubelet-insecure-tls flag under the args section in the container definition&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;spec:
  containers:
  - name: metrics-server
    image: k8s.gcr.io/metrics-server/metrics-server:v0.6.2
    args:
      - --cert-dir=/tmp
      - --secure-port=4443
      - --kubelet-preferred-address-types=InternalIP,Hostname,ExternalIP
      - --kubelet-insecure-tls

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Save and exit. Kubernetes will automatically update and restart the Metrics Server pod.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;** Restart Metrics Server**&lt;br&gt;
After applying any of the above changes, you should restart the Metrics Server to ensure it picks up the new configuration:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl rollout restart deployment metrics-server -n kube-system

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Check Logs and Verify&lt;/strong&gt;&lt;br&gt;
After restarting, check the Metrics Server logs to ensure the issue is resolved:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl logs -n kube-system &amp;lt;metrics-server-pod-name&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now run the top command again .&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl top nodes
kubectl top pods 

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;:&lt;br&gt;
The Metrics Server is an essential tool in Kubernetes, enabling real-time resource monitoring and driving features like the Horizontal Pod Autoscaler (HPA). While it focuses on lightweight and short-term metrics, it is a key component for ensuring efficient resource management and auto-scaling within a cluster.&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>metrics</category>
      <category>cpu</category>
      <category>memory</category>
    </item>
    <item>
      <title>Uncovering SAST ,DAST ,OWASP Dependency-Check in DevSecOps family (Part-2)</title>
      <dc:creator>Soumya</dc:creator>
      <pubDate>Thu, 17 Oct 2024 14:44:11 +0000</pubDate>
      <link>https://dev.to/soumya14041987/uncovering-sast-dast-owasp-dependency-check-in-devsecops-family-part-2-3hee</link>
      <guid>https://dev.to/soumya14041987/uncovering-sast-dast-owasp-dependency-check-in-devsecops-family-part-2-3hee</guid>
      <description>&lt;p&gt;In the first part I uncovered the fundamentals of DevSecOps principles and demonstrates with a Jenkins Pipeline . Following that blog I will explain all other DevSecOps tools commonly used in a Jenkins Pipeline in separate stages. Let's delve and try to under stand the SAST ,DAST &amp;amp; OWASP Dependency Check in a simple terms &amp;amp; from the Jenkins Pipeline prospective .&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is SAST?&lt;/strong&gt;&lt;br&gt;
SAST (Static Application Security Testing) is like a spell-checker for your code, but instead of checking for grammar, it searches for security vulnerabilities. SAST tools scan the source code (without executing it) to identify potential vulnerabilities early in the development cycle, such as SQL injections, cross-site scripting (XSS), or insecure configurations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When is SAST used ?&lt;/strong&gt;&lt;br&gt;
SAST is typically used during the development phase and analyzes the code before it's run. It integrates into the CI pipeline, flagging vulnerabilities while developers are still writing and testing code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is DAST?&lt;/strong&gt;&lt;br&gt;
DAST (Dynamic Application Security Testing), on the other hand, is a "black-box" testing approach that simulates real-world attacks on your running application. It doesn’t look at the code itself but focuses on finding vulnerabilities in the application’s behavior during runtime. DAST tests an application in an operational state to uncover vulnerabilities like misconfigurations, authentication issues, or common web application attacks (e.g., SQLi, XSS).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When is DAST used ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;DAST is often used later in the CI/CD pipeline, after the application has been built and deployed to a testing environment. It ensures the application is secure under actual running conditions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;OWASP Dependency-Check: Finding Vulnerabilities in Dependencies&lt;/strong&gt;&lt;br&gt;
 OWASP Dependency-Check focuses on third-party libraries and dependencies your project uses. Many vulnerabilities lie in outdated or insecure libraries, which can easily slip under the radar. Dependency-Check scans the dependencies for known vulnerabilities in the National Vulnerability Database (NVD) and alerts developers to update or fix vulnerable versions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why is this important ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With modern applications depending on numerous open-source libraries, it’s vital to ensure these third-party components are secure. A vulnerable library can become the weakest link, compromising the security of the entire application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real-World Example of SAST, DAST, and OWASP Dependency-Check&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let’s imagine a real-world scenario where you’re building a web application using Python on the backend, React on the frontend, and a MySQL database. As part of the DevSecOps team, you want to ensure that your CI/CD pipeline not only tests functionality but also performs security checks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. SAST Example:&lt;/strong&gt;&lt;br&gt;
Before your developers push their code to the repository, a SAST tool such as SonarQube is integrated into the Jenkins pipeline. It scans the Python backend code for hardcoded credentials, insecure API calls, and SQL injection vulnerabilities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How it works:&lt;/strong&gt;&lt;br&gt;
SonarQube scans the source code (before execution) and produces a report identifying any vulnerabilities in the logic.&lt;br&gt;
Developers can view the report directly in Jenkins and fix the vulnerabilities before proceeding.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. DAST Example:&lt;/strong&gt;&lt;br&gt;
After the code is built and deployed in a staging environment, a DAST tool like OWASP ZAP (Zed Attack Proxy) runs dynamic tests against the running application. It simulates common web-based attacks to identify potential vulnerabilities like cross-site scripting (XSS) and SQL injection.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How it works:&lt;/strong&gt;&lt;br&gt;
Jenkins triggers OWASP ZAP to scan the running application.&lt;br&gt;
ZAP performs attacks (e.g., tries to inject SQL statements in input fields) and reports on vulnerabilities that exist in the running application.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkwvdbde5mnj44i7naw85.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkwvdbde5mnj44i7naw85.jpeg" alt="Image description" width="311" height="180"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;OWASP Dependency-Check Example&lt;/strong&gt;
As part of your build process, OWASP Dependency-Check scans your application’s dependencies for known vulnerabilities. Let’s say you’re using an older version of requests library in Python that contains a security flaw. Dependency-Check flags it as vulnerable and suggests updating to a safer version.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;How it works:&lt;/strong&gt;&lt;br&gt;
The tool analyzes the libraries listed in your project (like requirements.txt in Python or package.json in Node.js).&lt;br&gt;
Jenkins runs a scan and provides a detailed report, listing which dependencies are vulnerable, along with their CVE identifiers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft9e7i2r26r3ejs1m4aks.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft9e7i2r26r3ejs1m4aks.jpeg" alt="Image description" width="311" height="180"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now let's walkthrough how those actually functions in a typical Jenkins Pipeline .&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;SAST with SonarQube Plugin:
The SonarQube Scanner Plugin for Jenkins allows seamless integration of static code analysis into your pipeline. It runs SonarQube scans and presents the results in Jenkins.
Usage: After a code push or pull request, Jenkins triggers a static code scan using SonarQube.
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sonarScanner {
    scannerHome = tool 'SonarQubeScanner'
    options = ['-Dsonar.projectKey=my-project', '-Dsonar.sources=.']
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Now let's understand the above code part with a real world example :-&lt;br&gt;
Imagine you are part of a team developing an online shopping application, and you want to ensure the code quality is maintained throughout the development process. You decide to use SonarQube for static code analysis to detect bugs, vulnerabilities, and code smells.&lt;/p&gt;

&lt;p&gt;Here’s how this snippet fits in:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scenario:&lt;/strong&gt;&lt;br&gt;
You are working on a new feature in the shopping cart section of the app, and you want to ensure that the code you write adheres to best practices.&lt;br&gt;
Before merging your feature branch into the main branch, you need to check for issues like security vulnerabilities or bad coding patterns using SonarQube.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What the code does?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;sonarScanner block:&lt;/strong&gt; Jenkins is running a pipeline to build and test your code. As part of this process, it runs the SonarQube scanner.&lt;br&gt;
&lt;strong&gt;scannerHome = tool 'SonarQubeScanner':&lt;/strong&gt; Jenkins uses the SonarQube scanner installed on the server to perform code analysis.&lt;br&gt;
options = ['-Dsonar.projectKey=my-project', '-Dsonar.sources=.']:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;-Dsonar.projectKey=my-project:&lt;/strong&gt; This tells SonarQube which project the code belongs to, in this case, the shopping cart app (my-project).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;-Dsonar.sources=.&lt;/strong&gt;: This indicates that the source code to be analyzed is located in the current directory of the project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DAST (Dynamic Application Security Testing) Command Example:&lt;/strong&gt; :-&lt;/p&gt;

&lt;p&gt;In Jenkins, you could integrate a DAST tool like OWASP ZAP to scan your running application for security vulnerabilities. Here's a simplified version of how you might configure it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;zap-cli scan --target http://my-web-app.com

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Explanation:&lt;/strong&gt;&lt;br&gt;
zap-cli scan: This command runs a DAST scan using OWASP ZAP.&lt;br&gt;
--target &lt;a href="http://my-web-app.com:" rel="noopener noreferrer"&gt;http://my-web-app.com:&lt;/a&gt; Specifies the target web application URL that will be dynamically tested for vulnerabilities like SQL injection or XSS (cross-site scripting).&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;**Real-world example:&lt;/em&gt;*&lt;br&gt;
Imagine you’ve built an online payment platform, and you want to check if your live application is vulnerable to attacks. This command dynamically tests your app while it’s running, simulating real-world attacks to ensure the app is secure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;OWASP Dependency-Check Command Example:&lt;/strong&gt;&lt;br&gt;
This tool only scans the third party libraries such as Lodash , Spring integrated with my application during build, development phase .&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dependency-check --project MyApp --scan /path/to/project

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Explanation:&lt;/strong&gt;&lt;br&gt;
dependency-check: Runs the OWASP Dependency-Check tool.&lt;br&gt;
--project MyApp: Specifies the name of your project, like "MyApp"&lt;br&gt;
--scan /path/to/project: Points to the directory where your project’s code and dependencies are located.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real-world example:&lt;/strong&gt;&lt;br&gt;
Let’s say you’re building a social media app and you’ve used several third-party libraries like Lodash or Spring. This command checks all the libraries in your app for known vulnerabilities. If any are found, you can update the affected libraries before deploying the app, preventing potential security risks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
In the DevSecOps family, tools like SAST, DAST, and OWASP Dependency-Check ensure that security is baked into the development process. Jenkins pipelines make it incredibly easy by installing proper plugins with no additional cost to integrate these tools, providing an automated, scalable, and visible solution for secure code delivery. By adding security as a step in your Jenkins CI/CD pipeline, you can catch vulnerabilities early, reduce risks, and deliver safer applications to your users.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;**Now, with Jenkins as your trusted butler and SAST, DAST, and Dependency-Check as your loyal security team, your DevSecOps journey just got a whole lot smoother!&lt;/em&gt;*😉😎&lt;/p&gt;

</description>
      <category>sast</category>
      <category>dast</category>
      <category>applicationsecurity</category>
      <category>jenkins</category>
    </item>
    <item>
      <title>DevSecOps Fundamentals: Security in the Jenkins Pipeline</title>
      <dc:creator>Soumya</dc:creator>
      <pubDate>Sun, 06 Oct 2024 07:31:21 +0000</pubDate>
      <link>https://dev.to/soumya14041987/devsecops-fundamentals-security-in-the-jenkins-pipeline-20n</link>
      <guid>https://dev.to/soumya14041987/devsecops-fundamentals-security-in-the-jenkins-pipeline-20n</guid>
      <description>&lt;p&gt;In today’s rapidly evolving software development landscape, speed is crucial. However, speed without security can lead to disaster. That's where &lt;strong&gt;DevSecOps&lt;/strong&gt; comes in, combining the agile nature of DevOps with a security-first mindset. In this blog, I will introduce you to the core concepts of DevSecOps and show how you can integrate security checks directly into your CI/CD pipeline using Jenkins.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is DevSecOps?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;DevSecOps stands for &lt;strong&gt;Development, Security, and Operations&lt;/strong&gt;. It’s an approach that emphasizes embedding security throughout the entire software development lifecycle, from planning and coding to deployment and operations.&lt;/p&gt;

&lt;p&gt;Instead of treating security as an afterthought or a final stage, DevSecOps ensures that every phase of development has built-in security controls. The goal is to shift security , meaning it is introduced early in the development process rather than after code has been written.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why DevSecOps?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In a typical DevOps setup, the emphasis is on &lt;strong&gt;speed&lt;/strong&gt; and &lt;strong&gt;automation&lt;/strong&gt;—building, testing, and deploying software faster. However, security often gets neglected or delayed until after deployment, making applications vulnerable to attacks. By adopting DevSecOps, you ensure that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Security risks&lt;/strong&gt; are identified early.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vulnerabilities&lt;/strong&gt; are fixed during development, not after the product is deployed.&lt;/li&gt;
&lt;li&gt;Teams collaborate to deliver secure, reliable, and compliant software at a faster pace.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Jenkins and DevSecOps Integration&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now, let's explore how you can embed security into your Jenkins pipeline. Jenkins, a powerful automation server, is widely used for continuous integration and delivery (CI/CD). By integrating security tools into Jenkins pipelines, we can ensure that security checks are automatically performed on every build.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A Jenkins Pipeline Example for DevSecOps&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this section, I'll demonstrate a simple Jenkins pipeline that includes security checks at key stages. We'll use tools like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;SAST (Static Application Security Testing)&lt;/strong&gt;: Scanning the source code for vulnerabilities.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dependency Check&lt;/strong&gt;: Ensuring there are no known vulnerabilities in third-party libraries.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Container Image Scanning&lt;/strong&gt;: Checking Docker images for vulnerabilities.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Jenkins and DevSecOps Integration&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now, let's explore how you can embed security into your Jenkins pipeline. Jenkins, a powerful automation server, is widely used for continuous integration and delivery (CI/CD). By integrating security tools into Jenkins pipelines, we can ensure that security checks are automatically performed on every build.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A Jenkins Pipeline Example for DevSecOps&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this section, I'll demonstrate a simple Jenkins pipeline that includes security checks at key stages. We'll use tools like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;SAST (Static Application Security Testing)&lt;/strong&gt;: Scanning the source code for vulnerabilities.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dependency Check&lt;/strong&gt;: Ensuring there are no known vulnerabilities in third-party libraries.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Container Image Scanning&lt;/strong&gt;: Checking Docker images for vulnerabilities.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here's an example of a Jenkinsfile that demonstrates these concepts:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pipeline {
    agent any

    stages {
        stage('Checkout Code') {
            steps {
                // Pull the latest code from GitHub or your source control
                git url: 'https://github.com/your-repository.git', branch: 'main'
            }
        }

        stage('Build') {
            steps {
                // Compile the application or build the Docker image
                sh 'mvn clean install' // or docker build
            }
        }

        stage('Static Code Analysis (SAST)') {
            steps {
                // Run SAST tool like SonarQube to check for vulnerabilities in the code
                script {
                    // Run SonarQube scan
                    sh 'sonar-scanner -Dsonar.projectKey=my_project -Dsonar.sources=./src -Dsonar.host.url=http://sonarqube:9000 -Dsonar.login=my_token'
                }
            }
        }

        stage('Dependency Check') {
            steps {
                // Run OWASP Dependency-Check to scan for vulnerabilities in third-party libraries
                script {
                    sh 'dependency-check --project MyProject --scan ./ --format HTML --out dependency-check-report.html'
                }
            }
        }

        stage('Container Security Scan') {
            steps {
                // Scan Docker image for vulnerabilities using a tool like Trivy or Anchore
                script {
                    sh 'trivy image myapp:latest'
                }
            }
        }

        stage('Unit Tests') {
            steps {
                // Run unit tests to ensure functionality
                sh 'mvn test'
            }
        }

        stage('Deploy to Staging') {
            steps {
                // Deploy the application to the staging environment
                sh 'kubectl apply -f k8s-deployment.yaml'
            }
        }

        stage('Security Gate') {
            steps {
                // If security checks fail, abort the pipeline
                script {
                    def hasVulnerabilities = readFile('dependency-check-report.html').contains('High')
                    if (hasVulnerabilities) {
                        error "Security vulnerabilities found. Aborting the pipeline!"
                    }
                }
            }
        }

        stage('Deploy to Production') {
            when {
                branch 'main'
            }
            steps {
                // Deploy to production if the branch is 'main' and security checks passed
                sh 'kubectl apply -f k8s-prod-deployment.yaml'
            }
        }
    }

    post {
        always {
            // Archive the security reports regardless of the pipeline result
            archiveArtifacts artifacts: 'dependency-check-report.html, sonar-report.html', allowEmptyArchive: true
        }

        success {
            echo 'Pipeline completed successfully!'
        }

        failure {
            echo 'Pipeline failed!'
        }
    }
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Breaking Down the Jenkins file&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Checkout Code&lt;/strong&gt;: The pipeline starts by pulling the code from the version control system (GitHub, GitLab, etc.).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Build Stage&lt;/strong&gt;: The code is compiled (or a Docker image is built). This is your regular build step.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Static Code Analysis (SAST)&lt;/strong&gt;: We run a tool like &lt;strong&gt;SonarQube&lt;/strong&gt; to analyze the code for security flaws, such as SQL injection, cross-site scripting, or hardcoded credentials. This step helps you identify vulnerabilities in the source code.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Dependency Check&lt;/strong&gt;: Here, &lt;strong&gt;OWASP Dependency-Check&lt;/strong&gt; scans for known vulnerabilities in third-party libraries and dependencies used in the project. These libraries can introduce severe security risks if not properly maintained.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Container Security Scan&lt;/strong&gt;: We scan the Docker container image using a tool like &lt;strong&gt;Trivy&lt;/strong&gt; or &lt;strong&gt;Anchore&lt;/strong&gt; to ensure that the images do not contain vulnerabilities, outdated packages, or misconfigurations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Unit Tests&lt;/strong&gt;: As a standard practice, unit tests are run to verify that the code works as expected and hasn't introduced any breaking changes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Deploy to Staging&lt;/strong&gt;: The application is deployed to a staging environment for further testing. It's important to do this after all the security checks have passed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security Gate&lt;/strong&gt;: This is a &lt;strong&gt;critical step&lt;/strong&gt;. If any vulnerabilities are found (e.g., high-severity issues in the Dependency Check report), the pipeline will abort, and the application will not be deployed to production.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Deploy to Production&lt;/strong&gt;: Only if all stages pass successfully (including the security gate), the code will be deployed to production.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Post Actions&lt;/strong&gt;: Finally, security reports and other artifacts (like test results) are archived so that you have a record of the security checks and can review them later.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Key Tools Used in the Pipeline&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;SonarQube&lt;/strong&gt; for SAST.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OWASP Dependency-Check&lt;/strong&gt; for third-party dependency scanning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Trivy&lt;/strong&gt; or &lt;strong&gt;Anchore&lt;/strong&gt; for container image scanning.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why This Pipeline is Effective in DevSecOps&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Automation&lt;/strong&gt;: Security checks are automated, ensuring no human error or missed vulnerabilities.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Early Detection&lt;/strong&gt;: Potential security issues are identified early in the pipeline, saving time and resources.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Continuous Security&lt;/strong&gt;: Every code change goes through the same rigorous security checks, ensuring ongoing security compliance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Collaboration&lt;/strong&gt;: Developers, security, and operations teams work together seamlessly, reducing friction between security and deployment.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Wrapping Up&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With the growing need for faster and secure software delivery, &lt;strong&gt;DevSecOps&lt;/strong&gt; ensures that security is not compromised in the race to deliver features. Integrating security tools directly into your Jenkins pipeline, as shown in this blog, can help teams proactively manage security risks while maintaining speed and agility.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Follow me for more DevSecOps tips and tricks.&lt;/li&gt;
&lt;li&gt;Try integrating the pipeline in your projects, and let me know how it works for you in the comments!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Happy securing! 😊&lt;/p&gt;

</description>
      <category>jenkins</category>
      <category>sast</category>
      <category>dast</category>
      <category>devsecops</category>
    </item>
    <item>
      <title>Sculpting Cloud Excellence: A Dive into AWS Well-Architected Framework</title>
      <dc:creator>Soumya</dc:creator>
      <pubDate>Sat, 09 Mar 2024 08:35:35 +0000</pubDate>
      <link>https://dev.to/soumya14041987/sculpting-cloud-excellence-a-dive-into-aws-well-architected-framework-5fmo</link>
      <guid>https://dev.to/soumya14041987/sculpting-cloud-excellence-a-dive-into-aws-well-architected-framework-5fmo</guid>
      <description>&lt;p&gt;In the ever-evolving landscape of cloud computing, the AWS Well-Architected Framework stands as a beacon of best practices and strategic guidance. It empowers architects and developers to build secure, high-performing, resilient, and efficient infrastructure for their applications. But what exactly are the pillars that uphold this framework, and how do they translate into real-world success? Let’s explore &amp;amp; walk through with brief example for better understanding.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;The Six Pillars of Excellence&lt;/b&gt;: -&lt;br&gt;
The AWS Well-Architected Framework is built upon six foundational pillars, each addressing a key aspect of architecture in the cloud:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;u&gt;Operational Excellence&lt;/u&gt;&lt;/b&gt;: - This pillar focuses on the ability to run and monitor systems to deliver business value and to continually improve processes and procedures.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;b&gt;&lt;u&gt;Use case&lt;/u&gt;&lt;/b&gt;: - A company uses infrastructure as code (IaC) to automate the deployment of their application, ensuring consistent and repeatable processes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;&lt;u&gt;Security&lt;/u&gt;&lt;/b&gt;: - Prioritizing the protection of information and systems is crucial, with a focus on confidentiality, integrity, and availability of data. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;b&gt;&lt;u&gt;Use case&lt;/u&gt;&lt;/b&gt;: - An online retailer ecommerce business implements multi-factor authentication (MFA) and encryption for data at rest and in transit to protect customer information.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;&lt;u&gt;Reliability&lt;/u&gt;&lt;/b&gt;: Ensuring a workload performs its intended function correctly and consistently over time by handling changes in demand and recovering from failures.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;b&gt;&lt;u&gt;Use case&lt;/u&gt;&lt;/b&gt;: - A streaming service uses AWS Auto Scaling and Amazon Route 53 to handle high traffic loads during peak hours, ensuring uptime and performance.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;&lt;u&gt;Performance Efficiency&lt;/u&gt;&lt;/b&gt;: Using computing resources efficiently to meet system requirements and maintaining efficiency as demand changes and technologies evolve.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;b&gt;&lt;u&gt;Use case&lt;/u&gt;&lt;/b&gt;:-A mobile gaming company uses Amazon Elastic Compute Cloud (EC2) Spot Instances to process gaming data, optimizing resource usage and reducing costs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;&lt;u&gt;Cost Optimization&lt;/u&gt;&lt;/b&gt;: Avoiding unnecessary costs by understanding and controlling where money is being spent, selecting the most appropriate and right number of resource types, analyzing spend over time, and scaling to meet business needs without overspending.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;b&gt;&lt;u&gt;Use case&lt;/u&gt;&lt;/b&gt;: - A media company utilizes AWS Cost Explorer, AWS Budgets to track and analyze their spending patterns, allowing them to adjust resource usage and save on costs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;&lt;u&gt;Sustainability&lt;/u&gt;&lt;/b&gt;: Reducing the environmental impact of running cloud workloads by improving efficiency and using less resources.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;b&gt;&lt;u&gt;Use case&lt;/u&gt;&lt;/b&gt;: - A software firm selects AWS regions based on the proximity to their user base, reducing latency and the carbon footprint associated with data transmission.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>aws</category>
      <category>awscommunity</category>
      <category>softwaredevelopment</category>
      <category>cloudpractitioner</category>
    </item>
  </channel>
</rss>
