<?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: Prashant Ghildiyal</title>
    <description>The latest articles on Forem by Prashant Ghildiyal (@pghildiyal).</description>
    <link>https://forem.com/pghildiyal</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%2F568793%2Fd19992e0-9401-4bf5-bef7-4c368a6961ce.jpg</url>
      <title>Forem: Prashant Ghildiyal</title>
      <link>https://forem.com/pghildiyal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/pghildiyal"/>
    <language>en</language>
    <item>
      <title>7 Tools To Make Kubernetes Management Easy</title>
      <dc:creator>Prashant Ghildiyal</dc:creator>
      <pubDate>Mon, 13 Jun 2022 13:29:47 +0000</pubDate>
      <link>https://forem.com/devtron_/7-tools-to-make-kubernetes-management-easy-15bn</link>
      <guid>https://forem.com/devtron_/7-tools-to-make-kubernetes-management-easy-15bn</guid>
      <description>&lt;p&gt;In the emerging Cloud-Native environment, Kubernetes is everywhere without any question. It has become the standard for orchestrating containers. But managing multiple Kubernetes clusters presents a new set of challenges. Let’s explore some of the popular tools to manage Kubernetes efficiently.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Kube-Prometheus-Stack
&lt;/h2&gt;

&lt;p&gt;Prometheus is an open source tool used for metrics-based tool used for monitoring and alerting. Kube-Prometheus-Stack is a collection of kubernetes manifests, Prometheus rules and Grafana dashboards combined with documentation and scripts to provide easy to operate end-to-end kubernetes cluster monitoring with Prometheus using the Prometheus operator. As it includes both Prometheus operator and Grafana dashboards, there is no need to set them up separately.&lt;/p&gt;

&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;

&lt;p&gt;In order to install Prometheus Stack, you must follow these steps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create the namespace for Prometheus Stack:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; kubectl create namespace prometheus
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Add the prometheus-community Helm repository:
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Update your local Helm chart repository cache:
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm repo update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;To install the kube-prometheus-stack Helm chart in latest version:
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm install prometheus prometheus-community/kube-prometheus-stack --namespace=prometheus
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;To install the kube-prometheus-stack Helm chart in specific version :
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm install prometheus prometheus-community/kube-prometheus-stack --namespace=prometheus --version=&amp;lt;version&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  2. Karpenter
&lt;/h2&gt;

&lt;p&gt;Karpenter is an open-source, flexible, high-performance Kubernetes cluster autoscaler built with AWS that improves resource utilization and application availability. It observes the pod resource request of unscheduled pods and launches right-sized Amazon EC2 instances based on the needs of workloads of a cluster such as acceleration, compute, scheduling requirements, and storage.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fwimp4kx1ua81ly3o27t5.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fwimp4kx1ua81ly3o27t5.jpeg" alt="Karpenter"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Why Karpenter ?
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Karpenter can provision new EC2 instances and schedule the Kubernetes pods within a minute.&lt;/li&gt;
&lt;li&gt;With minimal infrastructural and configuration overhead, Karpenter dynamically selects the EC2 instance types that are best suited to what is needed by Kubernetes pods.&lt;/li&gt;
&lt;li&gt;Karpenter can work with Kubernetes cluster based on any environment or cloud.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;

&lt;p&gt;Install Karpenter in the Kubernetes cluster using Helm charts. But before doing this, you must ensure that there is enough compute capacity available. Karpenter requires permissions to provision compute resources that are based on the cloud provider you have chosen. Please follow this &lt;a href="https://karpenter.sh/docs/getting-started/" rel="noopener noreferrer"&gt;link&lt;/a&gt; for installation.&lt;/p&gt;
&lt;h2&gt;
  
  
  3. Devtron
&lt;/h2&gt;

&lt;p&gt;Devtron is an open source software delivery workflow for Kubernetes written in go. It is designed as a self-serve platform for operationalizing and maintaining applications (AppOps) on Kubernetes in a developer friendly way.&lt;/p&gt;
&lt;h3&gt;
  
  
  Some of the amazing features that Devtron provides are:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Zero code software delivery workflow&lt;/li&gt;
&lt;li&gt;Multi cloud deployment&lt;/li&gt;
&lt;li&gt;Easy DevSecOps integration&lt;/li&gt;
&lt;li&gt;Application debugging dashboard&lt;/li&gt;
&lt;li&gt;Enterprise Grade security and compliances&lt;/li&gt;
&lt;li&gt;GitOps aware&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To know more about devtron, please visit &lt;a href="https://devtron.ai/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  Installation (Using Helm3)
&lt;/h3&gt;

&lt;p&gt;Follow the steps mentioned below :&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm repo add devtron https://helm.devtron.ai
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm install devtron devtron/devtron-operator --create-namespace --namespace devtroncd
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl -n devtroncd get installers installer-devtron -o jsonpath='{.status.sync.status}'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The command given above will show status of installation. It will print Downloaded If the installation is in progress and Applied if installation  is completed.&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 svc -n devtroncd devtron-service -o jsonpath='{.status.loadBalancer.ingress}'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl -n devtroncd get secret devtron-secret -o jsonpath='{.data.ACD_PASSWORD}' | base64 -d
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;To check the devtron installation steps in detail, please visit &lt;a href="https://docs.devtron.ai/setup/install" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  4. KEDA
&lt;/h2&gt;

&lt;p&gt;KEDA is a Kubernetes-based Event Driven Autoscaler. With KEDA, we can scale any container in Kubernetes based on the events. KEDA can be installed into any Kubernetes cluster and can work alongside standard Kubernetes components like the Horizontal Pod Autoscaler(HPA).&lt;/p&gt;
&lt;h3&gt;
  
  
  Installing KEDA (using helm)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Add helm repo:
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm repo add kedacore https://kedacore.github.io/charts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Update Helm repo:
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm repo update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Install keda helm chart&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Helm 2
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm install kedacore/keda --namespace keda --version 1.4.2 --name keda
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Helm 3
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl create namespace keda helm install keda kedacore/keda --version 1.4.2 --namespace keda
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  5. Silver Surfer
&lt;/h2&gt;

&lt;p&gt;Currently there is no easy way to upgrade kubernetes objects in case of kubernetes upgrade. It's a tedious task to know whether the current ApiVersion of the Object is Removed, Deprecated or Unchanged. It provides details of issues with the kubernetes object in case they are migrated to cluster with newer kubernetes version.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Frlmeyg0qk3bh6cdtvx12.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Frlmeyg0qk3bh6cdtvx12.png" alt="Silver Surfer"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;

&lt;p&gt;Just with few commands, it's ready to serve your cluster.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/devtron-labs/silver-surfer.git
cd silver-surfer
go mod vendor
go mod download
make
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;It's done. A bin directory might have created with the binary ready to use ./kubedd command.&lt;/p&gt;

&lt;p&gt;It categorises kubernetes objects based on change in ApiVersion. Categories are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Removed ApiVersion&lt;/li&gt;
&lt;li&gt;Deprecated ApiVersion&lt;/li&gt;
&lt;li&gt;Newer ApiVersion&lt;/li&gt;
&lt;li&gt;Unchanged ApiVersion&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Within each category it identifies migration path to newer Api Version, possible paths are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It cannot be migrated as there are no common ApiVersions between source and target kubernetes version&lt;/li&gt;
&lt;li&gt;It can be migrated but has some issues which need to be resolved&lt;/li&gt;
&lt;li&gt;It can be migrated with just ApiVersion change&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This activity is performed for both current and new ApiVersion.&lt;/p&gt;

&lt;p&gt;You can check the Repo &lt;a href="https://github.com/devtron-labs/silver-surfer" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  6. Winter Soldier
&lt;/h2&gt;

&lt;p&gt;Winter soldier can be used to scale down or delete unneeded workload after work hours based on conditions. Winter Soldier is an operator which expects conditions to be defined using hibernator CRD.&lt;/p&gt;

&lt;p&gt;It’s very often that in a kubernetes cluster, workloads remains up which are not being utilized since long or having no need anymore and increase TCO of infrastructure.  Over the weekend, it’s very rare that a kubernetes cluster or workloads are being used but still it remains up. In such user-cases, we can use winter soldier. To know more about winter-soldier, please follow this &lt;a href="https://github.com/devtron-labs/winter-soldier" rel="noopener noreferrer"&gt;link&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;

&lt;p&gt;Please visit this &lt;a href="https://github.com/arushi09-hub/winter-soldier/tree/readme-update" rel="noopener noreferrer"&gt;link&lt;/a&gt; to get installation steps for winter soldier.&lt;/p&gt;
&lt;h2&gt;
  
  
  7. Kyverno
&lt;/h2&gt;

&lt;p&gt;In kubernetes, we need to set some rules or policies and we need to do that in a way that allows everybody else to use their cluster without a high risk or destroying everybody else’s work. So, here we are going to explore a kubernetes native solution for policies and that is Kyverno. Kyverno is an open-source policy management system for kubernetes. Kyverno allows cluster administrators to validate, mutate and generate resources.&lt;/p&gt;
&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;In order to install Kyverno with Helm, first add the Kyverno Helm repository:
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm repo add kyverno https://kyverno.github.io/kyverno/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Scan the new repository for charts:
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm repo update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Use Helm 3.2+ to create a Namespace and install Kyverno.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm install kyverno kyverno/kyverno --namespace kyverno --create-namespace
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Choose any one of the tools mentioned above and try it out on your Kubernetes cluster !&lt;/p&gt;

&lt;p&gt;Follow Devtron for all things Kubernetes, DevOps and Opensource.&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__user ltag__user__id__4197"&gt;
  &lt;a href="/devtron_" class="ltag__user__link profile-image-link"&gt;
    &lt;div class="ltag__user__pic"&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F4197%2F823ffc9e-9fa7-4cbc-ae48-528b7f1e4584.jpg" alt="devtron_ image"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
      &lt;a href="/devtron_" class="ltag__user__link"&gt;Devtron&lt;/a&gt;
      Follow
    &lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a href="/devtron_" class="ltag__user__link"&gt;
        Devtron is redefining the paradigm of how DevOps should be done. An open-source software delivery workflow for Kubernetes automating Release Orchestration &amp;amp;amp; Life Cycle Management of Applications.
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;



</description>
      <category>kubernetes</category>
      <category>devops</category>
      <category>opensource</category>
      <category>go</category>
    </item>
    <item>
      <title>Let's Learn Kubernetes - Basics - 4</title>
      <dc:creator>Prashant Ghildiyal</dc:creator>
      <pubDate>Thu, 21 Oct 2021 15:41:06 +0000</pubDate>
      <link>https://forem.com/pghildiyal/lets-learn-kubernetes-basics-4-bf8</link>
      <guid>https://forem.com/pghildiyal/lets-learn-kubernetes-basics-4-bf8</guid>
      <description>&lt;p&gt;Kubernetes is a container management tool that automates the deployment, scaling, and operations of an application.&lt;/p&gt;

&lt;p&gt;In the previous blog of &lt;a href="https://dev.to/pghildiyal/lets-learn-kubernetes-basics-3-4lm"&gt;'Let's learn Kubernetes'&lt;/a&gt; Series, we have learnt all about Storage. We learnt about concepts like Persistent Volume &amp;amp; Persistent Volume Claims, Storage Classes &amp;amp; Dynamic provisioning of Storage Classes.&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/pghildiyal" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F568793%2Fd19992e0-9401-4bf5-bef7-4c368a6961ce.jpg" alt="pghildiyal"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/pghildiyal/lets-learn-kubernetes-basics-3-4lm" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Let's Learn Kubernetes - Basics - 3&lt;/h2&gt;
      &lt;h3&gt;Prashant Ghildiyal ・ Oct 19 '21&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#kubernetes&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#devops&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#go&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;Continuing with the series, this blog consists about few additional configurations that are useful/necessary. In this blog we'll give a short explanation of each concept and then post a link that explains the same in-depth. &lt;/p&gt;

&lt;p&gt;Before diving in, it would be great if you can check out, star ⭐ our Repo - Devtron, An End-to-End Kubernetes Software Delivery Workflow, which makes the DevOps workflow flawless for Developers, DevOps Engineers.&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/devtron-labs" rel="noopener noreferrer"&gt;
        devtron-labs
      &lt;/a&gt; / &lt;a href="https://github.com/devtron-labs/devtron" rel="noopener noreferrer"&gt;
        devtron
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Tool integration platform for Kubernetes
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  Configurations
&lt;/h2&gt;

&lt;p&gt;In the final blog of the Let's learn Kubernetes series, here are some of the few additional configurations that are usually used by the folks working on Kubernetes in their day-to-day routine.&lt;br&gt;
The blog covers following configurations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ConfigMaps&lt;/li&gt;
&lt;li&gt;Secrets&lt;/li&gt;
&lt;li&gt;Resource management &lt;/li&gt;
&lt;li&gt;KubeConfig Files&lt;/li&gt;
&lt;li&gt;Best practices of using Kubernetes&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ConfigMaps
&lt;/h3&gt;

&lt;p&gt;ConfigMaps are more like an API object that is used to store some non-confidential data in the form of key-value pairs. They contain environment variables, command line arguments which are in turn used by pods for fetching data. They also allow you to keep your configurations separate from your pods and components which helps to keep your workloads portable. It keeps their configurations easy to change and manage.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fwq561654sq0pz8lbikjs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fwq561654sq0pz8lbikjs.png" alt="ConfigMaps Illustration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To know more about ConfigMaps you can Check out the link below:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.bmc.com/blogs/kubernetes-configmap/" rel="noopener noreferrer"&gt;Creating &amp;amp; Using ConfigMaps in Kubernetes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Secrets
&lt;/h3&gt;

&lt;p&gt;Secrets store confidential information for your pods or clusters. This information can be passwords, AuthTokens , SSH keys etc. &lt;/p&gt;

&lt;p&gt;Keeping confidential data in secrets is way more secure than defining them in Configmaps in the form plain text or in the pods specifications. It reduces the risk of exposing data to unauthorized users. Kubernetes Secrets are, by default, stored unencrypted in the API server's underlying data store (etcd).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fre7lr0h3og3njr6xrls4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fre7lr0h3og3njr6xrls4.png" alt="Secrets Illustrtion"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Want to know more about Secrets? Check out this article:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.bmc.com/blogs/kubernetes-secrets" rel="noopener noreferrer"&gt;Introduction to Kubernetes Secrets&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Resource management
&lt;/h3&gt;

&lt;p&gt;As Kubernetes helps in automating the major portion of your deployments making it simple to manage the applications. Yet, these containerized applications commonly share pooled resources so the resource allocation and management should be done properly.&lt;/p&gt;

&lt;p&gt;Here are 5 ways in which this works:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use namespace and resource quotas&lt;/li&gt;
&lt;li&gt;Use limit ranges&lt;/li&gt;
&lt;li&gt;Set network policies&lt;/li&gt;
&lt;li&gt;Don’t forget about storage when applicable&lt;/li&gt;
&lt;li&gt;Keep things tidy API objects and monitoring&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fcngupqtseioc73nec9ad.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fcngupqtseioc73nec9ad.png" alt="Resource Management in Kubernetes"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This article goes in-depth regarding Resource Management:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://enterprisersproject.com/article/2020/8/managing-kubernetes-resources-5-things-remember" rel="noopener noreferrer"&gt;Managing Kubernetes resources: 5 things to remember&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Kubeconfig Files
&lt;/h3&gt;

&lt;p&gt;A Kubeconfig file is a file used to configure access to Kubernetes when used in conjunction with the kubectl command-line tool (or other clients). The use of this file is to organize the information about clusters, users, and namespaces. This kubectl command-line program uses the Kubeconfig file to find the information within a particular cluster by communicating with the API server of that cluster.&lt;/p&gt;

&lt;p&gt;By default, kubectl looks for a file named config in the $HOME/.kube directory. You can specify other Kubeconfig files by setting the KUBECONFIG environment variable or by setting the --kubeconfig flag.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F8azxj17k2gwy2yn77d36.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F8azxj17k2gwy2yn77d36.png" alt="Kubeconfig Illustration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The above image shows how the contexts define the information and configuration of the clusters listed in the Kubeconfig file.&lt;/p&gt;

&lt;p&gt;To better understand the process, check out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Article - &lt;a href="https://ahmet.im/blog/mastering-kubeconfig/" rel="noopener noreferrer"&gt;Mastering the KUBECONFIG file&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video - &lt;a href="https://www.youtube.com/watch?v=D0x28jMD4qI" rel="noopener noreferrer"&gt;13 What are Kubeconfigs and Why Do We Need Them&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Best practices of using Kubernetes
&lt;/h2&gt;

&lt;p&gt;Till now, we came up with a series of blogs addressing all the basic concepts of Kubernetes. Starting from pods, controllers  to networking and storage. Now at the end of this series, it is very important to understand how to use these configurations in the best possible way to keep on enhancing the cluster’s efficiency.&lt;/p&gt;

&lt;p&gt;Following are the few best practices to realize a Kubernetes cluster model that is scalable, secured and highly optimized:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Download the latest version&lt;/li&gt;
&lt;li&gt;Use namespaces &lt;/li&gt;
&lt;li&gt;Maintain small container images&lt;/li&gt;
&lt;li&gt;Set resources , requests and limits&lt;/li&gt;
&lt;li&gt;Use readinessProbe and livenessProbe&lt;/li&gt;
&lt;li&gt;Deploy RBAC for security&lt;/li&gt;
&lt;li&gt;Auto scale  and many more.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To get a better understanding regarding these practices check out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.bmc.com/blogs/kubernetes-best-practices/" rel="noopener noreferrer"&gt;Kubernetes Best Practices for Enhanced Cluster Efficiency&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Finally, we come to an end of our series discussing various basic concepts that are essential to get a grip on Kubernetes. I am really glad to see a lot of positive response on the previous blogs in the series. It is always helpful, If you'd like to suggest what are the other topics you want me to write on. &lt;/p&gt;

&lt;p&gt;Meanwhile, you can also check previous blogs in this series.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>kubernetes</category>
      <category>devops</category>
      <category>go</category>
    </item>
    <item>
      <title>Let's Learn Kubernetes - Basics - 3</title>
      <dc:creator>Prashant Ghildiyal</dc:creator>
      <pubDate>Tue, 19 Oct 2021 17:33:20 +0000</pubDate>
      <link>https://forem.com/pghildiyal/lets-learn-kubernetes-basics-3-4lm</link>
      <guid>https://forem.com/pghildiyal/lets-learn-kubernetes-basics-3-4lm</guid>
      <description>&lt;p&gt;Kubernetes is a container management tool that automates the deployment, scaling, and operations of an application. &lt;br&gt;
In the previous blog of &lt;a href="https://dev.to/pghildiyal/let-s-learn-kubernetes-basics-2-2a9a"&gt;'Let's learn Kubernetes'&lt;/a&gt; Series, we have seen some fundamental topics such as Services, Load Balancers, ClusterIP, Nodeport, Ingress, DNS among others.&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/pghildiyal" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F568793%2Fd19992e0-9401-4bf5-bef7-4c368a6961ce.jpg" alt="pghildiyal"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/pghildiyal/let-s-learn-kubernetes-basics-2-2a9a" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Let's Learn Kubernetes - Basics - 2&lt;/h2&gt;
      &lt;h3&gt;Prashant Ghildiyal ・ Oct 11 '21&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#kubernetes&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#devops&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#go&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;Continuing with the series, this blog is all about storage in Kubernetes. In this blog we'll give a short explanation of each concept and then post a link that explains the same in-depth. &lt;/p&gt;

&lt;p&gt;Before diving in, it would be great if you can check out, star our repo Devtron, An End-to-End Kubernetes Software Delivery Workflow, which makes the DevOps workflow flawless for Developers, DevOps Engineers.&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/devtron-labs" rel="noopener noreferrer"&gt;
        devtron-labs
      &lt;/a&gt; / &lt;a href="https://github.com/devtron-labs/devtron" rel="noopener noreferrer"&gt;
        devtron
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Tool integration platform for Kubernetes
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  Storage in Kubernetes
&lt;/h2&gt;

&lt;p&gt;With the rise of Kubernetes as a method for hosting microservice-based processes, data storage is always a concern. When managing containerized environments, Kubernetes storage is useful for storage administrators, because it allows them to maintain multiple forms of persistent and non-persistent data in a Kubernetes cluster.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fn4avkzywxxiiljd1abdq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fn4avkzywxxiiljd1abdq.png" alt="Kubernetes Storage Illustration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At a high level kubernetes uses the following types of storages described below:&lt;/p&gt;

&lt;h3&gt;
  
  
  Persistent Volume &amp;amp; Persistent Volume Claims
&lt;/h3&gt;

&lt;p&gt;A PersistentVolume (PV) is a storage resource in the cluster that has been provisioned by an administrator or dynamically provisioned using Storage Classes.&lt;/p&gt;

&lt;p&gt;Persistent volumes are independent of the lifecycle of the pod that uses it, meaning that even if the pod shuts down, the data in the volume is not erased.In order for a Pod to start using these volumes, it must request a volume by issuing a persistent volume claim (PVC). PVCs describe the storage capacity and characteristics a pod requires, and the cluster attempts to match the request and provision the desired persistent volume.&lt;/p&gt;

&lt;p&gt;On the other hand, A PersistentVolumeClaim (PVC) is a request sent by a Kubernetes node for storage.The claim can include specific storage parameters required by the application—for example an amount of storage, or a specific type of access (read/write, read-only, etc.). &lt;br&gt;
Kubernetes looks for a PV that meets the criteria defined in the user’s PVC, and if there is one, it matches the claim to PV. This is called binding.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Forklpdk0fnl3sw99bckt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Forklpdk0fnl3sw99bckt.png" alt="Persistent Volume Illustration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To know more about them checkout these listed links:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://theithollow.com/2019/03/04/kubernetes-persistent-volumes/" rel="noopener noreferrer"&gt;Kubernetes – Persistent Volumes&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=x2sMWUkasoE" rel="noopener noreferrer"&gt;Persistent Volumes (PV) &amp;amp; Persistent Volume Claim(PVC) - A Video&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Storage Classes
&lt;/h3&gt;

&lt;p&gt;Kubernetes Storage Class Objects are specified by name in Persistent Volume Claims to provision storage with a set of properties. The storage class itself identifies the provisioner that will be used and defines that set of properties in terms the provisioner understands.&lt;br&gt;
Each Storage Class contains the fields provisioner, parameters, and reclaim policy, which is used when a Persistent Volume belonging to the class needs to be dynamically provisioned.&lt;/p&gt;

&lt;p&gt;To get a detailed view regarding Storage Classes check out the listed links:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://cloud.ibm.com/docs/containers?topic=containers-kube_concepts#storageclasses" rel="noopener noreferrer"&gt;Storage Classes&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=RAXPUTSO9p0" rel="noopener noreferrer"&gt;What Is a Kubernetes Storage Class?&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Dynamic provisioning of Storage Classes:
&lt;/h3&gt;

&lt;p&gt;Kubernetes supports dynamic volume configuration, allowing you to create storage volumes on demand. Therefore, administrators do not have to manually create new storage volumes and then create a Persistent Volume object for use in the cluster. &lt;/p&gt;

&lt;p&gt;When the user requests a specific type of storage, the entire process runs automatically. The cluster administrator defines storage class objects as needed. Each Storage Class refers to a volume plugin, also called a provisioner. &lt;/p&gt;

&lt;p&gt;To get a more detailed view about the topic refer to the following video:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=LQjQvN_HXvY" rel="noopener noreferrer"&gt;Dynamic Volume Provisioning in Kubernetes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The next blog of Let's learn Kubernetes would be the last blog of the series' Basics. If you like to learn about other significant topics in Kubernetes, you can follow the previous blogs.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>kubernetes</category>
      <category>devops</category>
      <category>go</category>
    </item>
    <item>
      <title>Let's Learn Kubernetes - Basics - 2</title>
      <dc:creator>Prashant Ghildiyal</dc:creator>
      <pubDate>Mon, 11 Oct 2021 18:43:26 +0000</pubDate>
      <link>https://forem.com/pghildiyal/let-s-learn-kubernetes-basics-2-2a9a</link>
      <guid>https://forem.com/pghildiyal/let-s-learn-kubernetes-basics-2-2a9a</guid>
      <description>&lt;p&gt;Kubernetes is a container management tool that automates the deployment, scaling, and operations of an application. It has become the de facto container orchestrator, with more than 80% of companies using it in some capacity. &lt;br&gt;
In the previous blog of &lt;a href="https://dev.to/pghildiyal/let-s-learn-kubernetes-basics-part-1-3of7"&gt;'Let's learn Kubernetes'&lt;/a&gt; Series, we have seen the basic definition of Kubernetes, pods, Nodes, controllers among others. &lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/pghildiyal" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F568793%2Fd19992e0-9401-4bf5-bef7-4c368a6961ce.jpg" alt="pghildiyal"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/pghildiyal/let-s-learn-kubernetes-basics-part-1-3of7" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Let's Learn Kubernetes - Basics - 1&lt;/h2&gt;
      &lt;h3&gt;Prashant Ghildiyal ・ Sep 29 '21&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#kubernetes&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#devops&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#go&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;In this series we will go a little deeper to understand concepts like services, Load balancers and others. In this we'll give a short explanation of each concept and then post a link that explains the same in-depth. &lt;/p&gt;

&lt;p&gt;Before diving in, it would be great if you can check out our repo Devtron, End-to-End Kubernetes Software Delivery Workflow, which makes the DevOps workflow flawless for Developers, DevOps Engineers.&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/devtron-labs" rel="noopener noreferrer"&gt;
        devtron-labs
      &lt;/a&gt; / &lt;a href="https://github.com/devtron-labs/devtron" rel="noopener noreferrer"&gt;
        devtron
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Tool integration platform for Kubernetes
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  Services
&lt;/h2&gt;

&lt;p&gt;Kubernetes Services enables a group of pods that provide a specific function to have a unique IP Address and a name. A Kubernetes service can be used to easily expose an application deployed on a set of pods using a single endpoint. Service is both a REST object and an abstraction that defines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A set of pods&lt;/li&gt;
&lt;li&gt;A policy to access them&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The article discusses what are Kubernetes services, Attributes of the K8s services, Defining them and creating new services.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="https://www.bmc.com/blogs/kubernetes-services/" rel="noopener noreferrer"&gt;Kubernetes Services&lt;/a&gt;
&lt;/h4&gt;

&lt;h2&gt;
  
  
  Load Balancer, ClusterIP, NodePort
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Load Balancer
&lt;/h3&gt;

&lt;p&gt;Load balancing is a technique for distributing network traffic or client requests among many servers. The load balancer, when utilized correctly, may assist to optimise scalability and availability.  This is a crucial technique that should be correctly implemented in a solution; otherwise, clients will be unable to contact the servers.&lt;/p&gt;

&lt;h3&gt;
  
  
  ClusterIP
&lt;/h3&gt;

&lt;p&gt;Within your cluster, a ClusterIP offers network communication. It is generally inaccessible from the outside. You can utilise these services to connect your workloads inside.&lt;/p&gt;

&lt;h3&gt;
  
  
  NodePort
&lt;/h3&gt;

&lt;p&gt;Every node in your cluster has an open port called a NodePort. Even if your application is operating on a separate node, Kubernetes transparently redirects incoming traffic on the NodePort to your service.&lt;/p&gt;

&lt;p&gt;A Comprehensive video by Nana explaining what is Loadbalancer, ClusterIP &amp;amp; Nodeport and the difference between them.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/T4Z7visMM4E"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;You can also read a detailed article on ClusterIP here:&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="https://medium.com/the-programmer/working-with-clusterip-service-type-in-kubernetes-45f2c01a89c8" rel="noopener noreferrer"&gt;Working With ClusterIP Service Type In Kubernetes&lt;/a&gt;
&lt;/h4&gt;

&lt;h2&gt;
  
  
  Ingress
&lt;/h2&gt;

&lt;p&gt;Kubernetes Ingress is an API object that provides routing rules to manage external users' access to the services in a Kubernetes cluster, typically via HTTPS/HTTP.&lt;/p&gt;

&lt;p&gt;Below write-up gives a comprehensive look of what is Ingress and what is its uses.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="https://www.ibm.com/cloud/blog/kubernetes-ingress" rel="noopener noreferrer"&gt;What is Kubernetes Ingress?&lt;/a&gt;
&lt;/h4&gt;

&lt;h2&gt;
  
  
  Ingress Controller
&lt;/h2&gt;

&lt;p&gt;An Ingress controller is a specialized load balancer for Kubernetes (and other containerized) environments. An Ingress controller abstracts away the complexity of Kubernetes application traffic routing and provides a bridge between Kubernetes services and external ones.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="https://www.nginx.com/resources/glossary/kubernetes-ingress-controller/" rel="noopener noreferrer"&gt;Ingress controller&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;Below link defines Ingress controller and what it can do.&lt;/p&gt;

&lt;h2&gt;
  
  
  DNS for K8s
&lt;/h2&gt;

&lt;p&gt;In the Article below, it is explained how DNS can help make it easier to access services.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="https://medium.com/kubernetes-tutorials/kubernetes-dns-for-services-and-pods-664804211501" rel="noopener noreferrer"&gt;Kubernetes DNS for Services and Pods&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;I will be continuing this series to include more fundamental topics of Kubernetes under 'Let's learn Kubernetes' series title. &lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>devops</category>
      <category>beginners</category>
      <category>go</category>
    </item>
    <item>
      <title>Let's Learn Kubernetes - Basics - 1</title>
      <dc:creator>Prashant Ghildiyal</dc:creator>
      <pubDate>Wed, 29 Sep 2021 15:40:54 +0000</pubDate>
      <link>https://forem.com/pghildiyal/let-s-learn-kubernetes-basics-part-1-3of7</link>
      <guid>https://forem.com/pghildiyal/let-s-learn-kubernetes-basics-part-1-3of7</guid>
      <description>&lt;p&gt;Building an application is one set of challenges that needs to be tackled, and once that is done, you have a series of new challenges. An Application needs to be Deployed, Scaled, and maintained across based on the demand. In recent times, the containerization of Apps has become an excellent means to help solve most of the mentioned challenges. Many solutions containerize and help manage and operationalize the application, but the most used of all the available solutions is Kubernetes.&lt;/p&gt;

&lt;p&gt;Kubernetes is a container management tool that automates the deployment, scaling, and operations of an application. It has become the de facto container orchestrator, with more than 80% of companies using it in some capacity. Hence, it becomes essential for Novice &amp;amp; Expert DevOps Engineers, Developers, and Programmers to learn Kubernetes. Devtron brings you a collection of concepts and their most popular links/explanations to make a comprehensive guide understanding the basics of Kubernetes.&lt;/p&gt;

&lt;p&gt;You can also check out Devtron, End-to-End Kubernetes Software Delivery Workflow here:&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/devtron-labs" rel="noopener noreferrer"&gt;
        devtron-labs
      &lt;/a&gt; / &lt;a href="https://github.com/devtron-labs/devtron" rel="noopener noreferrer"&gt;
        devtron
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Tool integration platform for Kubernetes
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  An Overview
&lt;/h2&gt;

&lt;p&gt;Kubernetes is a portable, extensible, open-source platform for managing containerized applications and services that facilitate declarative configuration and automation. Kubernetes provides a platform to configure, automate, and manage:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Intelligent and balanced scheduling of containers&lt;/li&gt;
&lt;li&gt;Creation, deletion, and movement of containers&lt;/li&gt;
&lt;li&gt;Easy scaling of containers&lt;/li&gt;
&lt;li&gt;Monitoring and self-healing abilities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In this write-up, the author discusses challenges faced using previous server-side application management tools and how Kubernetes helps tackle these challenges. &lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/pghildiyal" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F568793%2Fd19992e0-9401-4bf5-bef7-4c368a6961ce.jpg" alt="pghildiyal"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/pghildiyal/here-s-why-you-should-use-kubernetes-g9l" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Here's why you should use Kubernetes!&lt;/h2&gt;
      &lt;h3&gt;Prashant Ghildiyal ・ Jun 16 '21&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#kubernetes&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#devops&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#opensource&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  Architecture
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fxz2brmkb4q4w5o4begxq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fxz2brmkb4q4w5o4begxq.png" alt="Basic Kubernetes Architecture"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this article, we get to see a brief overview of the Architecture of Kubernetes and the components of the Architecture such as Master, API Scheduler, Nodes, Pods, Scheduler, among others.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://devtron.ai/blog/developers-guide-to-kubernetes/" rel="noopener noreferrer"&gt;A Developers Guide to Kubernetes&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Pods
&lt;/h2&gt;

&lt;p&gt;The Smallest Execution Unit of Kubernetes can be considered a Pod. A pod is temporary in nature, and new ones form when one dies. Pods consist of a unique IP address, Persistent storage Volumes, Configuration Information. &lt;/p&gt;

&lt;p&gt;The below link explains all things Pods.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.vmware.com/topics/glossary/content/kubernetes-pods" rel="noopener noreferrer"&gt;What are Kubernetes Pods?&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Nodes &amp;amp; Clusters
&lt;/h2&gt;

&lt;p&gt;Node is the smallest unit of Computing Hardware in a cluster. Each Node can be considered a set of CPU and RAM resources available for Kubernetes to work.&lt;br&gt;
Although working with individual nodes is useful, Kubernetes combines these resources of nodes to become a cluster. Kubernetes intelligently manage the distribution of work among the worker nodes among the Cluster.&lt;br&gt;
A more detailed explanation is available in the following link about Pods, Nodes, and Clusters.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/google-cloud/kubernetes-101-pods-nodes-containers-and-clusters-c1509e409e16" rel="noopener noreferrer"&gt;Kubernetes 101: Pods, Nodes, Containers, and Clusters&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Controllers
&lt;/h2&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/55qGFj6kuOg"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;A controller is a system pod that helps in controlling the behavior of other pods. The above video gives a detailed explanation of how controllers work.&lt;/p&gt;

&lt;h3&gt;
  
  
  Replicasets
&lt;/h3&gt;

&lt;p&gt;With Replicasets, it is possible to run a specified number of pod replicas running at all times. The link below gives a comprehensive view of Replicasets.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.bmc.com/blogs/kubernetes-replicaset/#:~:text=What%20are%20ReplicaSets%3F%20A%20ReplicaSet%20is%20one%20of,state%20of%20the%20cluster%20matches%20the%20observed%20state.%29" rel="noopener noreferrer"&gt;Kubernetes ReplicaSets: A Brief Introduction&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Jobs
&lt;/h3&gt;

&lt;p&gt;Kubernetes Jobs are used to creating transient pods that perform specific tasks they are assigned to.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://opensource.com/article/20/11/kubernetes-jobs-cronjobs" rel="noopener noreferrer"&gt;A beginner's guide to Kubernetes Jobs and CronJobs&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Schedulers
&lt;/h3&gt;

&lt;p&gt;The Kubernetes Scheduler, monitoring the Object Store for unassigned Pods, will assign the Pod to a Node. Then, the Kubelet, monitoring the Object Store for assigned Pods, will execute the Pod.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dominik-tornow.medium.com/the-kubernetes-scheduler-cd429abac02f" rel="noopener noreferrer"&gt;The Kubernetes Scheduler&lt;/a&gt;&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>devops</category>
      <category>beginners</category>
      <category>go</category>
    </item>
    <item>
      <title>Kubernetes Deployment Made Easy</title>
      <dc:creator>Prashant Ghildiyal</dc:creator>
      <pubDate>Tue, 03 Aug 2021 15:40:49 +0000</pubDate>
      <link>https://forem.com/pghildiyal/kubernetes-deployment-made-easy-1f0f</link>
      <guid>https://forem.com/pghildiyal/kubernetes-deployment-made-easy-1f0f</guid>
      <description>&lt;p&gt;You can check out our dashboard and Opensource repo here:&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i3JOwpme--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/devtron-labs"&gt;
        devtron-labs
      &lt;/a&gt; / &lt;a href="https://github.com/devtron-labs/devtron"&gt;
        devtron
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Software Delivery Workflow For Kubernetes
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;The world is changing, and the pandemic accelerated organisational transformation. The challenge is no longer capturing the largest share of voice, but disruptive sustainable growth - delicately balanced on the three fundamental principles of cost, security, and stability! Devtron Labs not only balances the three principles effectively but provide the solution in an OpenSource environment&lt;/p&gt;

&lt;p&gt;On July 24th, One of our contributors, Prakarsh from Devtron Labs curated a session at the &lt;a href="https://youtu.be/ekxHV2Gje-E?t=7854"&gt;AWS UG OSTech Conference 2021&lt;/a&gt; organized by AWS User Group, Jaipur. With over ten years of professional experience, Prakarsh now holds the position of a kubernetes solution architect at Devtron. He discussed how Devtron makes kubernetes deployment extremely smooth. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Devtron: The Inception&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;While there were many solutions in the Kubernetes vertical, none of them provided end-to-end software delivery. To address this challenge, Devtron was born. Devtron seamlessly integrates with the majority of the solutions in the marketplace. Being highly flexible, it also provides multiple abstractions so that users don’t need to go in-depth into Kubernetes. Using Devtron’s complete automated workflow (which operates numerous verticalized tools such as Helm Charts, Clair, etc.), users can quickly deploy various applications. In addition, Devtron also offers next-level user management giving complete control to the users.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Solutions Provided:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Devtron is a complete consumer-focused tool built to take care of divergent needs such as monitoring, deployment, GitOps, observability, among many others, to make it a convenient experience for all users. It integrates multiple services within the Kubernetes and Cloud Native Computing Foundation(CNCF) universe to provide various microservices. &lt;/p&gt;

&lt;p&gt;Some of the microservices like argocd, argo-rollout, clair, lens etc are readily available for deployment. In addition to that, all the original microservices created by Devtron are also available for the community to use and contribute. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Feature Exhibition:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;One of the vital features includes exceptionally integrated Helm Charts within Devtron. With one click, users can add any helm chart they need and deploy it on their cluster. In addition, Devtron also supports multiple deployment strategies such as Blue-Green/Canary Deployment, which is uncommon. Users can also use Multiple Clusters and access Devtron’s Multi-Cloud support enabling multiple clusters available from numerous cloud providers, all managed from a single Devtron setup.&lt;/p&gt;

&lt;p&gt;Integrated Observability and  Uniform Access Management enables users to create groups for their environment and control access. Some other features include Centralized Caching, Hibernation, and Hierarchical Security Policies.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Devtron: Hands-On&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Deployment:&lt;/strong&gt; Devtron can be used to deploy any containerised application on a Kubernetes cluster without writing any kubernetes manifest at all. The users can simply connect various Kubernetes clusters on the Devtron UI (User Interface). This will allow the users to create multiple environments within the Kubernetes cluster. Each of these environments is mapped to a namespace within the cluster. Any Kubernetes cluster, be it on-premise or through cloud providers, can be connected. Devtron supports it all!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;User Access Management:&lt;/strong&gt;Users can define a group and add/remove users to manage permissions efficiently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chart Store:&lt;/strong&gt;Using the Helm Chart section, it is easy to import any helm chart available in the market. It is simply a matter of selecting a helm chart and hitting the deployment key besides being highly customizable, allowing users to edit and deploy using integrated GitOps, so no hassle to manage and store helm values.&lt;/p&gt;

&lt;p&gt;To access information on helm charts, users can find the &lt;a href="https://github.com/devtron-labs/devtron#bulb-why-devtron"&gt;ReadMe file&lt;/a&gt; to dig further. Helm charts can also be grouped for frequent use removing all the hassle of deploying them individually.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security:&lt;/strong&gt;Security is integrated within the Devtron UI, allowing users to scan all images they build through Clair integrated within devtron. The users can also control security policy at the organization, cluster, environment and application level. Hence, it is easy to enforce a policy that prohibits any user deploying a critically vulnerable application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deploying microservice using Devtron:&lt;/strong&gt; To deploy microservices through Devtron, one simply has to create an application by selecting the Name and the Project. Then, the user can either create an application from scratch or clone configs from any of the existing applications that he has access to Devtron also supports building images from multiple git repositories. For a detailed tutorial, watch here:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/ekxHV2Gje-E"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Next Steps: Encouraging the Community&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The Devtron project is an entirely open-source project that anyone can contribute to. Devtron is due to release a feature called “Bring your own charts” and will be including a lot of community contributed charts with due credits. All the DevOps and open source enthusiasts can contribute their charts.  If contributors have a chart in mind and want to contribute, they can check the chart contribution guideline &lt;a href="https://github.com/devtron-labs/devtron/tree/main/contrib-chart"&gt;here&lt;/a&gt;.  Furthermore, you can check the open issues in the &lt;a href="https://github.com/devtron-labs/devtron/issues"&gt;Devtron Github Issues&lt;/a&gt; and ask the moderators if you would like to pick an issue and contribute.&lt;/p&gt;

&lt;p&gt;You can Join our &lt;a href="https://discord.gg/jsRG5qx2gp"&gt;Discord here&lt;/a&gt; to connect with us.&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>devops</category>
      <category>opensource</category>
      <category>go</category>
    </item>
    <item>
      <title>A Journey of making our Dashboard Close to Perfect.</title>
      <dc:creator>Prashant Ghildiyal</dc:creator>
      <pubDate>Tue, 13 Jul 2021 14:59:20 +0000</pubDate>
      <link>https://forem.com/pghildiyal/a-journey-of-making-our-dashboard-close-to-perfect-39fh</link>
      <guid>https://forem.com/pghildiyal/a-journey-of-making-our-dashboard-close-to-perfect-39fh</guid>
      <description>&lt;p&gt;You can check out our dashboard and Opensource repo here:&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/devtron-labs" rel="noopener noreferrer"&gt;
        devtron-labs
      &lt;/a&gt; / &lt;a href="https://github.com/devtron-labs/devtron" rel="noopener noreferrer"&gt;
        devtron
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Tool integration platform for Kubernetes
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;

  
  
  &lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fdevtron-labs%2Fdevtron.%2Fassets%2Fdevtron-logo-dark-light.png" class="article-body-image-wrapper"&gt;&lt;img width="333.333" height="260" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fdevtron-labs%2Fdevtron.%2Fassets%2Fdevtron-logo-dark-light.png"&gt;&lt;/a&gt;

&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Cloud Native tool integration platform for Kubernetes&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;
&lt;br&gt;
&lt;a href="https://docs.devtron.ai/" rel="nofollow noopener noreferrer"&gt;&lt;strong&gt;Explore documentation »&lt;/strong&gt;&lt;/a&gt;
&lt;br&gt;
&lt;a href="https://preview.devtron.ai/dashboard/" rel="nofollow noopener noreferrer"&gt;&lt;strong&gt;Try Devtron Demo »&lt;/strong&gt;&lt;/a&gt;
&lt;br&gt;
&lt;a href="https://devtron.ai/" rel="nofollow noopener noreferrer"&gt;Website&lt;/a&gt;
·
&lt;a href="https://devtron.ai/blog/" rel="nofollow noopener noreferrer"&gt;Blogs&lt;/a&gt;
·
&lt;a href="https://discord.gg/jsRG5qx2gp" rel="nofollow noopener noreferrer"&gt;Join Discord channel&lt;/a&gt;
·
&lt;a href="https://twitter.com/DevtronL" rel="nofollow noopener noreferrer"&gt;Twitter&lt;/a&gt;
&lt;a href="https://www.youtube.com/channel/UCAHRp9qp0z1y9MMtQlcFtcw" rel="nofollow noopener noreferrer"&gt;YouTube&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://discord.gg/jsRG5qx2gp" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/8335e1f4865072bc51889300af4bb3eddd798d1c0fb363226720c9fd14aa251f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4a6f696e25323075732532306f6e2d446973636f72642d6530313536332e737667" alt="Join Discord"&gt;&lt;/a&gt;
&lt;a href="https://goreportcard.com/badge/github.com/devtron-labs/devtron" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/1ed03f357f6172e47026ced4d347d14a9b859700f941616ada73f1782951c0c2/68747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f64657674726f6e2d6c6162732f64657674726f6e" alt="Go Report Card"&gt;&lt;/a&gt;
&lt;a href="https://github.com/devtron-labs/devtron./LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/859a1a0bc85ce8bbd7a730a274fec5c9e77c4726ffdf6aa762a78685e26033a4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d417061636865253230322e302d626c75652e737667" alt="License"&gt;&lt;/a&gt;
&lt;a href="https://bestpractices.coreinfrastructure.org/projects/4411" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/1a2965c696f55d98a7a1050e2e6a0a47112f9933f6c3c19fff15e8776ec1a678/68747470733a2f2f626573747072616374696365732e636f7265696e6672617374727563747572652e6f72672f70726f6a656374732f343431312f6261646765" alt="CII Best Practices"&gt;&lt;/a&gt;
&lt;a href="http://golang.org" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/c8f889b91979111cacffc291417be93bee2c639b70370c97aaaa87760a8d7044/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d616465253230776974682d476f2d3166343235662e737667" alt="made-with-Go"&gt;&lt;/a&gt;
&lt;a href="http://devtron.ai/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/e4dfa07247fcfa20e5f11ace98bc0f3582ca4bf48b9c0fbdfc1bb68f8fab0e08/68747470733a2f2f696d672e736869656c64732e696f2f776562736974652d75702d646f776e2d677265656e2d7265642f687474702f736869656c64732e696f2e737667" alt="Website devtron.ai"&gt;&lt;/a&gt;
&lt;a href="https://twitter.com/intent/tweet?text=Devtron%20helps%20in%20simplifying%20software%20delivery%20workflow%20for%20Kubernetes,%20check%20it%20out!!%20&amp;amp;hashtags=OpenSource,Kubernetes,DevOps,CICD,go&amp;amp;url=https://github.com/devtron-labs/devtron%0a" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/4f677ce944dfdeb7a8cd741560d35d006363ef6160adeb63ee3d8c73373b1f51/68747470733a2f2f696d672e736869656c64732e696f2f747769747465722f75726c2f687474702f736869656c64732e696f2e7376673f7374796c653d736f6369616c" alt="Tweet"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://devtron.ai/devops-in-a-box.html" rel="nofollow noopener noreferrer"&gt;🔥 Want to accelerate K8s adoption? Introducing DevOps in a Box; Leave DevOps on Devtron 🔥
&lt;/a&gt;
&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Devtron deeply integrates with products across the lifecycle of microservices,i.e., CI, CD, security, cost, debugging, and observability via an intuitive web interface.
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/devtron-labs/devtron./assets/readme-comic.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fdevtron-labs%2Fdevtron.%2Fassets%2Freadme-comic.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/devtron-labs/devtron#install-devtron" rel="noopener noreferrer"&gt;Devtron&lt;/a&gt; helps you deploy, observe, manage &amp;amp; debug existing Helm apps in all your clusters.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Devtron Demo Environment&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Please log in the &lt;a href="https://preview.devtron.ai/dashboard/" rel="nofollow noopener noreferrer"&gt;Demo environment&lt;/a&gt; using github credentials. Please note the user is granted view access.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Devtron Features&lt;/h2&gt;

&lt;/div&gt;
&lt;b&gt;Application-level Resource grouping for easier Debugging&lt;/b&gt;
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Devtron groups your Kubernetes objects deployed via Helm charts and display them in a slick UI for easier monitoring or debugging. Access pod logs and resource manifests right from the Devtron UI and even edit them!&lt;/li&gt;
&lt;/ul&gt;

 &lt;b&gt;Centralized Access Management&lt;/b&gt;
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Control and give customizable view-only…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/devtron-labs/devtron" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h6&gt;
  
  
  This post was originally published on the &lt;a href="https://devtron.ai/" rel="noopener noreferrer"&gt;Devtron&lt;/a&gt; website by our design lead, Utkarsh.
&lt;/h6&gt;

&lt;p&gt;I was part of the leadership team of a fast-growing company and it was in May 2017 when we decided that we needed to become a better agile team. We realised that we wanted to become better at estimations and at reacting/taking action on feedback as we were growing at a very fast pace.&lt;/p&gt;

&lt;p&gt;As a team, we spent considerable time reading practices adopted by other companies and then sitting in the room with a whiteboard and having passionate discussions on what would work best for us.&lt;/p&gt;

&lt;p&gt;We knew that there was no ‘best method’ or right way to go about everything, therefore, we experimented with different approaches,  but always found it difficult to quantify the effectiveness of those changes. It was always about the gut feel, and what the majority of the team felt.&lt;/p&gt;

&lt;p&gt;I was particularly happy when we decided to explore the science around the impact of agile practices at Devtron. Now, people fortify their gut feeling with data. But that was only half the battle, we were yet to figure out how to present it in a way that meaningful insights could be derived out of it.&lt;/p&gt;

&lt;p&gt;In this blog, we are going to share the journey of evolution of this product, the initial failure and the way forward, , how we evolved our product to what it is today. The journey is still ongoing,  and would love to have your feedback and thoughts on how we can make it better.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The science behind the metrics&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;As the whole reason to adopt agile is to do more frequent and stable deployments, it was a no brainer to have the following metrics:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Deployment Frequency:&lt;/strong&gt; How frequently are you deploying code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Change Failure Rate:&lt;/strong&gt; How often deployments fail.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mean Time to Recovery(MTTR):&lt;/strong&gt; How fast can you recover from failures.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Apart from the above metrics which measure the current performance of the team, we also decided to introduce two other metrics which aid in improving the above metrics.&lt;/p&gt;

&lt;p&gt;In order to have higher deployment frequency and less failure rate the surface area of the release should be as small as possible and therefore we introduced:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Lead Time:&lt;/strong&gt; Time gap between the oldest non-deployed commit in the release and the release date. This should be small because older commits may result in merge issues and incomplete testing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Deployment Size:&lt;/strong&gt; It is the number of lines changed between the release in question and the previous release. This number should again be as small as possible as smaller change means better testing and fewer bugs. It is based on the principle – less code, less bugs, no code, no bugs.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The First Cut&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;We launched a version of the Deployment Metrics a few months back. This is how it looked in the first version. Let’s see what we did and what went wrong.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fq0qbkwgeyjdap3bxpjmo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fq0qbkwgeyjdap3bxpjmo.png" alt="The First version of Deployment Metrics of Devtron Dashboard"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We had put cards on the top which mentioned cycle time and deployment size for the latest deployment, time since the failure and time it took to recover from failure.&lt;/p&gt;

&lt;p&gt;Graph below shows different data points related to each release. X – axis denoted time, Y – axis could be switched between cycle time and lead time. Ridges denoted number of deployments, circle size denoted size of deployment and green colour denoted successful deployment while red denoted failure.&lt;/p&gt;

&lt;p&gt;Hover state showed this information in a tooltip. Users could view these metrics for a set of relative time ranges, i.e; last 15 days, 30 days upto 6 months.&lt;/p&gt;

&lt;p&gt;We thought that we had done a good job of putting all data contextually so as to help developers make informed decisions,  and that it would see good uptake from developers who want to adopt better DevOps practices.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Outcome (v1)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Over a period of a few months, we waited for users’ feedback on this page. What happened next was any product designer’s worst nightmare. It appeared that almost none of our users were engaging with this page. Moreover, we didn’t find much adoption internally as well. This meant that the developers at Devtron themselves were not  able to leverage it to improve their metrics.&lt;/p&gt;

&lt;p&gt;In fact, I clearly remember in one of the meetings around May 2020 when one of the developers threw up his hand and said he was exasperated trying to find whether our process change has been able to mitigate the impact of remote working. That is when we decided to step back and take a closer look at the reasons why this might be happening and how we can make these metrics more usable.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Learnings&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;We did an intensive half-day session with a focus of tearing down the existing feature and design. Every developer in the company communicated why they were not using it. We realised our biggest mistake was to design this page without looking at the sample data.&lt;/p&gt;

&lt;p&gt;The biggest problem was posed by the huge variation in data points.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Cycle time may vary from a few days for regular releases to a few hours in case of critical bug fixes, the same is true for lead time.&lt;/li&gt;
&lt;li&gt;Deployment size could vary from 2-3 lines to fix a bug to hundreds and thousands of lines for big feature releases.
This led to huge variations in the ridge lines with many deployments clustered together which were not differentiable visually.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;All in all, it made these charts totally unusable. Then we faced other minor problems: :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Although these metrics were important in the software delivery world, most developers barely knew what these metrics meant&lt;/li&gt;
&lt;li&gt;Data points were juxtaposed in the graph for better correlation but had very high cognitive difficulty&lt;/li&gt;
&lt;li&gt;Hover state gave all details of deployment, but it was difficult to compare metrics across deployments&lt;/li&gt;
&lt;li&gt;Calendar supported relative time only i.e; last 15 days, 30 days…&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Second Cut&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Armed with the knowledge of challenges in the usability of metrics and data visualisation we decided to rethink it to solve this problem.&lt;/p&gt;

&lt;p&gt;Though we use the &lt;code&gt;Jobs to be done&lt;/code&gt; framework to identify the desired outcome, this time we added another step which we have found particularly helpful in data intensive applications – &lt;code&gt;Questions to be answered&lt;/code&gt;. (We didn't know if such frameworks already existed but we have been using this homegrown framework internally for sometime now).&lt;/p&gt;

&lt;p&gt;Hence, we decided to look at the metrics from a user’s lens, the goal this time was to identify key questions the user wants to be answered through this data so that he/she can make an informed decision.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Questions to be Answered (QTBA)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;We framed user goals in the form of questions and statements so that we could think in terms of answering these questions while redesigning.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How has the performance changed over time?&lt;/li&gt;
&lt;li&gt;How has the performance changed after the process was modified?&lt;/li&gt;
&lt;li&gt;How do I quickly figure out areas for improvement?&lt;/li&gt;
&lt;li&gt;How to correlate team behaviour changes with process modification for better Root Cause Analysis (RCA).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Redesign&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;We redesigned the page from scratch in the pursuit of answering the above questions and some more. Take a look at it yourself.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fvt2la73217cy5kafuse8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fvt2la73217cy5kafuse8.png" alt="Redesigned Deployment Metrics of Devtron Dashboard"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this design as you would see, we made fundamental changes to the previous design.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Use easy to consume metrics&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Cycle time and deployments per day are related metrics, they are inversely related to be precise. Multiple deployments can happen in a day and each one of them will have a different cycle time. With dates as x-axis cycle times of different releases on the same date overlap with each other making them indiscernible.&lt;/p&gt;

&lt;p&gt;Therefore, instead of cycle time, we are now charting the number of deployments per day as it is easier to understand trends over time.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Chart is to see trends not for RCA&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;In the previous approach, all data points were juxtaposed in one chart so that users could find the root cause of the behaviour. But we realised that it was creating cognitive overload. &lt;/p&gt;

&lt;p&gt;Therefore in the newer version we decided to use charts only for anomaly detection and delegated RCA responsibilities to tabular data format. Instead of all data points juxtaposed in one chart, we placed all three metrics next to each other to highlight any anomalies. &lt;/p&gt;

&lt;p&gt;Eg. In case of higher deployment frequency, you can find out if it is because of bug fixes or old pending features were deployed (higher deployment with increasing lead time).&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What’s obvious to you may not be obvious to the user&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Each metric is now supported by additional information to make the metric easily understandable and usable.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fnoie28dudrven5cbk4b5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fnoie28dudrven5cbk4b5.png" alt="Graphical View of Devtron Dashboard"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Example, for Deployment Frequency we have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Meaning:&lt;/strong&gt; A tooltip explaining what the metric means aimed to familiarise users with various metrics.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Visualisation:&lt;/strong&gt; depicting trends of the metric over a given period.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Benchmarking:&lt;/strong&gt; This was an important addition aimed to give a quick understanding of where the metric performance stands in comparison to the standard industry benchmark. Each benchmark was divided into four categories Elite, High, Medium, Low.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On clicking the benchmark, it opens a modal which further explains the metrics and the various benchmark categories for the metric.&lt;/p&gt;

&lt;p&gt;We also realised that, though the number of deployments is the right metrics, deployment frequency is difficult to understand and hence we added cycle time information along with it for better understanding and correlation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fe3s9lbcj2i5675nzsjsm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fe3s9lbcj2i5675nzsjsm.png" alt="Modal: Deployment Frequency and benchmark detail of a benchmark on Devtron Dashboard"&gt;&lt;/a&gt;&lt;br&gt;
Hovering over the graph further shows details for each bar.&lt;br&gt;
&lt;a href="https://media.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%2Fl02xm03gcjf4o71t2nfl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fl02xm03gcjf4o71t2nfl.png" alt="Hovering over a graph shows details for each bar"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For example, hovering over the above bar shows 13 deployments (11 successful, 2 Failed) in the week of July 17 – Jul 24.&lt;/p&gt;

&lt;p&gt;Clicking on each bar further opens a modal (to drill down) showing the deployments related to this particular bar. The modal additionally shows other data points (Cycle time, Lead time, Deployment size, and Recovery time if the deployment had failed) for easier correlation between various data points.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fba7c93mjhsz89u5cpeem.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fba7c93mjhsz89u5cpeem.png" alt="Clicking on a bar opens this modal, which helps to drill down the visual data"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Tabular data better for RCA&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Below the graphs, we added a deployments table showing all deployments of the application for the selected environment in the specified time period. The deployments lists can be filtered by successful and failed deployments based on the focus area of the user.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F3vcubc053irll105p5ux.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F3vcubc053irll105p5ux.png" alt="Deployments Table: Shows all deployments and corresponding metrics for each deployment"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This solves the problem we had with hover, wherein you had to remember previous data points to compare. Now data is visible in tabular format and therefore it’s easier to compare changes across multiple releases.&lt;/p&gt;

&lt;p&gt;Also, we went back to to using cycle time instead of number of deployments per day as this is a non aggregated view of data.&lt;/p&gt;

&lt;p&gt;Sorting is provided on every column so that it becomes easier for you to find anomalies for e.g. largest  deployments, highest recovery time, highest lead time or cycle time, etc. &lt;/p&gt;

&lt;p&gt;You can also see the details of a deployment by clicking on the deployment date.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fwbcrflpsawk7luxto8qf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fwbcrflpsawk7luxto8qf.png" alt="Deployment History: Shows details of a selected deployment"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We believe that through this initial step that we have taken, teams who want to keep challenging themselves will be able to take data backed decisions and will be able to iterate quickly and confidently.&lt;/p&gt;

&lt;p&gt;Let us know what you think about the design and our redesign process in the comments below. Also, if you have suggestions related to this feature do reach out to us and you can &lt;a href="https://github.com/devtron-labs/devtron" rel="noopener noreferrer"&gt;contribute&lt;/a&gt; as well.&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Do not design data visualisations just for the sake of it, make sure they answer the users’ questions&lt;/li&gt;
&lt;li&gt;Charts are best suited for trend analysis and anomaly detections&lt;/li&gt;
&lt;li&gt;Identifying a relevant graphical representation(bar graph, line/area chart among others) is a key starting point while working with data visualisation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you would like to know more about &lt;a href="https://youtu.be/FB5BI3Ef7uw?t=2185" rel="noopener noreferrer"&gt;UX design&lt;/a&gt; and Devtron, I made a walkthrough with Saiyam Pathak, Director at Civo. He is a well reputed YouTube influencer and has a great following in the commnity.  You can check it  out here:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/FB5BI3Ef7uw"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>devops</category>
      <category>agile</category>
      <category>kubernetes</category>
      <category>webdev</category>
    </item>
    <item>
      <title>learn about The OpenSource End-to-End DevOps tool - Devtron, Heroku for Kubernetes. Livestream on 8th July 3:00 PM UTC</title>
      <dc:creator>Prashant Ghildiyal</dc:creator>
      <pubDate>Wed, 07 Jul 2021 16:36:40 +0000</pubDate>
      <link>https://forem.com/pghildiyal/learn-about-the-opensource-end-to-end-devops-tool-devtron-heroku-for-kubernetes-livestream-on-8th-july-3-00-pm-utc-2gk5</link>
      <guid>https://forem.com/pghildiyal/learn-about-the-opensource-end-to-end-devops-tool-devtron-heroku-for-kubernetes-livestream-on-8th-july-3-00-pm-utc-2gk5</guid>
      <description>&lt;p&gt;I am Excited to share with everyone that I will be joining Saiyam Pathak, Director of Civocloud and a YouTuber, on a Livestream on 8th july to talk about our OpenSource End-to-End Devops tool, Devtron. &lt;br&gt;
There are cool giveaways as well for those who attend the event 😄&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/FB5BI3Ef7uw"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/devtron-labs/devtron" rel="noopener noreferrer"&gt;Devtron&lt;/a&gt; is an application-first way of looking at Kubernetes, meaning deep integrations with existing open-source, commercial software and add capabilities on top of them to enable a clean self serve UI for developers and DevOps. &lt;br&gt;
We support various OpenSource systems like argocd, Argo workflow, Clair, hibernator, grafana, Prometheus, envoy, and many others. In short, it automates and helps in maintaining a balance between Security, Cost and stability of your app.&lt;/p&gt;

&lt;p&gt;If any of this interests you, you will definitely have a great time. Come hang out with us on the &lt;a href="https://www.youtube.com/watch?v=FB5BI3Ef7uw" rel="noopener noreferrer"&gt;stream&lt;/a&gt; to have a chat with me.&lt;/p&gt;

&lt;p&gt;This is our OpenSource DevOps tool link, if you'd like to explore more&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/devtron-labs" rel="noopener noreferrer"&gt;
        devtron-labs
      &lt;/a&gt; / &lt;a href="https://github.com/devtron-labs/devtron" rel="noopener noreferrer"&gt;
        devtron
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Tool integration platform for Kubernetes
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;

  
  
  &lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fdevtron-labs%2Fdevtron.%2Fassets%2Fdevtron-logo-dark-light.png" class="article-body-image-wrapper"&gt;&lt;img width="333.333" height="260" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fdevtron-labs%2Fdevtron.%2Fassets%2Fdevtron-logo-dark-light.png"&gt;&lt;/a&gt;

&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Cloud Native tool integration platform for Kubernetes&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;
&lt;br&gt;
&lt;a href="https://docs.devtron.ai/" rel="nofollow noopener noreferrer"&gt;&lt;strong&gt;Explore documentation »&lt;/strong&gt;&lt;/a&gt;
&lt;br&gt;
&lt;a href="https://preview.devtron.ai/dashboard/" rel="nofollow noopener noreferrer"&gt;&lt;strong&gt;Try Devtron Demo »&lt;/strong&gt;&lt;/a&gt;
&lt;br&gt;
&lt;a href="https://devtron.ai/" rel="nofollow noopener noreferrer"&gt;Website&lt;/a&gt;
·
&lt;a href="https://devtron.ai/blog/" rel="nofollow noopener noreferrer"&gt;Blogs&lt;/a&gt;
·
&lt;a href="https://discord.gg/jsRG5qx2gp" rel="nofollow noopener noreferrer"&gt;Join Discord channel&lt;/a&gt;
·
&lt;a href="https://twitter.com/DevtronL" rel="nofollow noopener noreferrer"&gt;Twitter&lt;/a&gt;
&lt;a href="https://www.youtube.com/channel/UCAHRp9qp0z1y9MMtQlcFtcw" rel="nofollow noopener noreferrer"&gt;YouTube&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://discord.gg/jsRG5qx2gp" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/8335e1f4865072bc51889300af4bb3eddd798d1c0fb363226720c9fd14aa251f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4a6f696e25323075732532306f6e2d446973636f72642d6530313536332e737667" alt="Join Discord"&gt;&lt;/a&gt;
&lt;a href="https://goreportcard.com/badge/github.com/devtron-labs/devtron" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/1ed03f357f6172e47026ced4d347d14a9b859700f941616ada73f1782951c0c2/68747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f64657674726f6e2d6c6162732f64657674726f6e" alt="Go Report Card"&gt;&lt;/a&gt;
&lt;a href="https://github.com/devtron-labs/devtron./LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/859a1a0bc85ce8bbd7a730a274fec5c9e77c4726ffdf6aa762a78685e26033a4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d417061636865253230322e302d626c75652e737667" alt="License"&gt;&lt;/a&gt;
&lt;a href="https://bestpractices.coreinfrastructure.org/projects/4411" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/1a2965c696f55d98a7a1050e2e6a0a47112f9933f6c3c19fff15e8776ec1a678/68747470733a2f2f626573747072616374696365732e636f7265696e6672617374727563747572652e6f72672f70726f6a656374732f343431312f6261646765" alt="CII Best Practices"&gt;&lt;/a&gt;
&lt;a href="http://golang.org" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/c8f889b91979111cacffc291417be93bee2c639b70370c97aaaa87760a8d7044/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d616465253230776974682d476f2d3166343235662e737667" alt="made-with-Go"&gt;&lt;/a&gt;
&lt;a href="http://devtron.ai/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/e4dfa07247fcfa20e5f11ace98bc0f3582ca4bf48b9c0fbdfc1bb68f8fab0e08/68747470733a2f2f696d672e736869656c64732e696f2f776562736974652d75702d646f776e2d677265656e2d7265642f687474702f736869656c64732e696f2e737667" alt="Website devtron.ai"&gt;&lt;/a&gt;
&lt;a href="https://twitter.com/intent/tweet?text=Devtron%20helps%20in%20simplifying%20software%20delivery%20workflow%20for%20Kubernetes,%20check%20it%20out!!%20&amp;amp;hashtags=OpenSource,Kubernetes,DevOps,CICD,go&amp;amp;url=https://github.com/devtron-labs/devtron%0a" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/4f677ce944dfdeb7a8cd741560d35d006363ef6160adeb63ee3d8c73373b1f51/68747470733a2f2f696d672e736869656c64732e696f2f747769747465722f75726c2f687474702f736869656c64732e696f2e7376673f7374796c653d736f6369616c" alt="Tweet"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://devtron.ai/devops-in-a-box.html" rel="nofollow noopener noreferrer"&gt;🔥 Want to accelerate K8s adoption? Introducing DevOps in a Box; Leave DevOps on Devtron 🔥
&lt;/a&gt;
&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Devtron deeply integrates with products across the lifecycle of microservices,i.e., CI, CD, security, cost, debugging, and observability via an intuitive web interface.
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/devtron-labs/devtron./assets/readme-comic.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fdevtron-labs%2Fdevtron.%2Fassets%2Freadme-comic.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/devtron-labs/devtron#install-devtron" rel="noopener noreferrer"&gt;Devtron&lt;/a&gt; helps you deploy, observe, manage &amp;amp; debug existing Helm apps in all your clusters.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Devtron Demo Environment&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Please log in the &lt;a href="https://preview.devtron.ai/dashboard/" rel="nofollow noopener noreferrer"&gt;Demo environment&lt;/a&gt; using github credentials. Please note the user is granted view access.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Devtron Features&lt;/h2&gt;

&lt;/div&gt;
&lt;b&gt;Application-level Resource grouping for easier Debugging&lt;/b&gt;
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Devtron groups your Kubernetes objects deployed via Helm charts and display them in a slick UI for easier monitoring or debugging. Access pod logs and resource manifests right from the Devtron UI and even edit them!&lt;/li&gt;
&lt;/ul&gt;

 &lt;b&gt;Centralized Access Management&lt;/b&gt;
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Control and give customizable view-only…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/devtron-labs/devtron" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


</description>
      <category>kubernetes</category>
      <category>devops</category>
      <category>news</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Devtron: A business opportunity in developers’ needs</title>
      <dc:creator>Prashant Ghildiyal</dc:creator>
      <pubDate>Tue, 22 Jun 2021 11:53:26 +0000</pubDate>
      <link>https://forem.com/devtron_/devtron-a-business-opportunity-in-developers-needs-9og</link>
      <guid>https://forem.com/devtron_/devtron-a-business-opportunity-in-developers-needs-9og</guid>
      <description>&lt;p&gt;Devtron is one of the few Indian Companies that is providing advanced Open Source tools using Kubernetes. &lt;br&gt;
&lt;br&gt;
One of our co-founder, Rajesh, talks about all things Kubernetes, DevOps, and Devtron in a chat with Srinath Srinivasan. Featured in Financial Express!&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Read the full article here: &lt;a href="https://www.financialexpress.com/industry/sme/devtron-a-business-opportunity-in-developers-needs/2274094/"&gt;Devtron: A business opportunity in developers’&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;br&gt;
&lt;br&gt;
Checkout Devtron's OSS here: &lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--566lAguM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/devtron-labs"&gt;
        devtron-labs
      &lt;/a&gt; / &lt;a href="https://github.com/devtron-labs/devtron"&gt;
        devtron
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Tool integration platform for Kubernetes
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/devtron-labs/devtron./assets/devtron-logo-dark-light.png"&gt;&lt;img width="333.333" height="260" src="https://res.cloudinary.com/practicaldev/image/fetch/s--tEunjsvs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/devtron-labs/devtron./assets/devtron-logo-dark-light.png"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;h1&gt;
Tool integration platform for Kubernetes&lt;/h1&gt;

&lt;p&gt;
&lt;br&gt;
&lt;a href="https://docs.devtron.ai/" rel="nofollow"&gt;&lt;strong&gt;Explore documentation »&lt;/strong&gt;&lt;/a&gt;
&lt;br&gt;
&lt;a href="https://devtron.ai/" rel="nofollow"&gt;Website&lt;/a&gt;
·
&lt;a href="https://devtron.ai/blog/" rel="nofollow"&gt;Blogs&lt;/a&gt;
·
&lt;a href="https://discord.gg/jsRG5qx2gp" rel="nofollow"&gt;Join Discord channel&lt;/a&gt;
·
&lt;a href="https://twitter.com/DevtronL" rel="nofollow"&gt;Twitter&lt;/a&gt;
&lt;a href="https://www.youtube.com/channel/UCAHRp9qp0z1y9MMtQlcFtcw" rel="nofollow"&gt;YouTube&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://discord.gg/jsRG5qx2gp" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/49150eb0ec107d15b5dd28d7377dfa805fe47ef61c1180a6ce3c9f482cb28d40/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4a6f696e25323075732532306f6e2d446973636f72642d6530313536332e737667" alt="Join Discord"&gt;&lt;/a&gt;
&lt;a href="https://goreportcard.com/badge/github.com/devtron-labs/devtron" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/d68a0a3471479dff6e5155220bd1e304b6d6405d281bbc54d5d559f78fa794da/68747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f64657674726f6e2d6c6162732f64657674726f6e" alt="Go Report Card"&gt;&lt;/a&gt;
&lt;a href="https://github.com/devtron-labs/devtron./LICENSE"&gt;&lt;img src="https://camo.githubusercontent.com/2a2157c971b7ae1deb8eb095799440551c33dcf61ea3d965d86b496a5a65df55/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d417061636865253230322e302d626c75652e737667" alt="License"&gt;&lt;/a&gt;
&lt;a href="https://bestpractices.coreinfrastructure.org/projects/4411" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/649d033dd2509020bf49e2775ffb7b18c6fcc80b4263d7050707540cf4357aa7/68747470733a2f2f626573747072616374696365732e636f7265696e6672617374727563747572652e6f72672f70726f6a656374732f343431312f6261646765" alt="CII Best Practices"&gt;&lt;/a&gt;
&lt;a href="http://golang.org" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/b530ddfe089b6cab64711fdab82afaa28b0e1a833b26bdb15082e261850d22e6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d616465253230776974682d476f2d3166343235662e737667" alt="made-with-Go"&gt;&lt;/a&gt;
&lt;a href="http://devtron.ai/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/dc954b1e6af0e39a8148a4908ac9a4e49e4f17340977c9c88173e3788af10eb6/68747470733a2f2f696d672e736869656c64732e696f2f776562736974652d75702d646f776e2d677265656e2d7265642f687474702f736869656c64732e696f2e737667" alt="Website devtron.ai"&gt;&lt;/a&gt;
&lt;a href="https://twitter.com/intent/tweet?text=Devtron%20helps%20in%20simplifying%20software%20delivery%20workflow%20for%20Kubernetes,%20check%20it%20out!!%20&amp;amp;hashtags=OpenSource,Kubernetes,DevOps,CICD,go&amp;amp;url=https://github.com/devtron-labs/devtron%0a" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/90bc908826728c0e4261acfff5619fd732c7be2b2a00624fce6363c9a3623c90/68747470733a2f2f696d672e736869656c64732e696f2f747769747465722f75726c2f687474702f736869656c64732e696f2e7376673f7374796c653d736f6369616c" alt="Tweet"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://devtron.ai/support.html" rel="nofollow"&gt;🔥 Want to accelerate K8s adoption? Our team would love to help 100 companies do it the Devtron way! 🔥
&lt;br&gt;
&lt;br&gt;
Apply Now 👋
&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Devtron deeply integrates with products across the lifecycle of microservices,i.e., CI, CD, security, cost, debugging, and observability via an intuitive web interface.
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/devtron-labs/devtron./assets/readme-comic.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BX3sI_WA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/devtron-labs/devtron./assets/readme-comic.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/devtron-labs/devtron#install-devtron"&gt;Devtron&lt;/a&gt; helps you deploy, observe, manage &amp;amp; debug existing Helm apps in all your clusters.&lt;/p&gt;
&lt;h2&gt;
Devtron features&lt;/h2&gt;
&lt;b&gt;Application-level Resource grouping for easier Debugging&lt;/b&gt;
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Devtron groups your Kubernetes objects deployed via Helm charts and display them in a slick UI for easier monitoring or debugging. Access pod logs and resource manifests right from the Devtron UI and even edit them!&lt;/li&gt;
&lt;/ul&gt;

 &lt;b&gt;Centralized Access Management&lt;/b&gt;
&lt;br&gt;
- Control and give customizable view-only, edit access to users on Project, Environment and Application levels

 &lt;b&gt;Deploy, Manage and Observe on multiple clusters&lt;/b&gt;
&lt;br&gt;
-…&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/devtron-labs/devtron"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


</description>
      <category>kubernetes</category>
      <category>startup</category>
      <category>devops</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Demystifying AppOps - DevOps done right!</title>
      <dc:creator>Prashant Ghildiyal</dc:creator>
      <pubDate>Mon, 21 Jun 2021 10:21:15 +0000</pubDate>
      <link>https://forem.com/pghildiyal/demystifying-appops-devops-done-right-3a0</link>
      <guid>https://forem.com/pghildiyal/demystifying-appops-devops-done-right-3a0</guid>
      <description>&lt;p&gt;AppOps? What’s that? How does it work? And why do I need yet another paradigm?&lt;/p&gt;

&lt;p&gt;These are all valid questions, and to address them, we’ll have to make a quick trip back in time to set the context.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Beginning&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;It all started with applications. In the beginning, computers were massive machines housed in labs, worked on by elite scientists and engineers, and the early applications were highly specialized software for space missions, defense, etc. As computers became smaller and more accessible, business-related applications drove the software industry. Then personal computing began to take off, further fueling the development of applications, and it careened along at breakneck speeds — particularly in the last couple of decades.&lt;/p&gt;

&lt;p&gt;The breathtaking speed of software evolution meant that developers were scrambling to stay one step ahead. Initially, there was very little time in the development cycle to focus on anything other than functional features. Over time, and often led by the efforts of the open-source community, software tools and frameworks to support developers and ease the pain points of the development cycles became more common and a thriving industry in itself. Development cycles became more efficient, allowing developers more time to focus on the user experience. Customers were becoming better about advocating for their needs, and they also had the luxury of choice as more players entered the arena. Companies had to devote resources to make their product development process as customer-centric as possible to stay competitive.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Pre DevOps Hassle&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The tools to support developers through the software development lifecycle allowed for hygiene protocols to be instituted to ensure that the application that worked flawlessly in the developers’ environment worked just as smoothly in the production environment. To support a more disciplined and structured development and deployment process, the IT infrastructure and the teams that maintained it had to expand significantly. Larger teams, more software tools, and supporting hardware resulted in an exponential growth in complexity and steep learning curves for everyone involved. Application developers, in particular, not only had to master the technology they worked on directly, but they also had to learn to handle the tools and protocols of the deployment management process. &lt;/p&gt;

&lt;p&gt;Adding to the mix came cloud technology which meant organizations had to get comfortable with hybrid and distributed systems, all of which had to work together seamlessly. The tech world, especially the open-source community, always finds a solution for every pain point. Tools to manage the complexity sprung up, which led to the need for more teams to manage the tools! And so came about DevOps - to foster collaboration between the application (aka development) teams and the IT (aka operations) teams so that releases/services could be developed, tested, packaged, and deployed quickly and with high quality.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;DevOps - An Improvement but not quite&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Around this time, application containerization began gaining widespread adoption. Containers, which offer portability and extensibility, have become the standard packaging mechanism to deploy application-related libraries, dependencies, and configurations. As container use increased, the need for container management and orchestration became the need of the hour. Thus came about Kubernetes, an open-source platform initially designed by Google, to automate the management of containerized apps and services in a cloud environment. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fqtgitd0dkccmid6f6o4j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fqtgitd0dkccmid6f6o4j.png" alt="DevOps Features"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So.  Now we have DevOps to connect siloed teams plus a flexible platform like Kubernetes for container orchestration that gives developers more independence and control. So all should be well in the application development ecosystem, right? Not entirely. It’s a good start, but there remain gaps and no tangible way to accommodate different teams and organizations’ nuanced and specific needs. Developers have had to relinquish a lot of their ownership in the application management process to DevOps for the greater good. But having to depend on the DevOps team for even relatively minor changes has become restrictive and inefficient. Also, it results in distracting the DevOps team from crucial operations-related responsibilities. It has led to inefficient use of resources, both human and system.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Lack of Proper Integration&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Despite the greater control that Kubernetes allows developers, there are still crucial missing bits of automation in the workflow (usually related to dependencies or changes that are outside the Kubernetes purview) requiring DevOps to step in regularly with what essentially amounts to manual intervention. An otherwise great platform still requires “glue” or custom code to get to the different moving parts working together. The process isn’t fool-proof - often, changes made by developers don’t fully carry through into the build process because of that small but crucial need for human intervention, which introduces errors, tripping up DevOps teams who are either not fully informed or are not as familiar with the configuration. This leads to an unnecessary and inefficient back-and-forth on problems to identify the root cause. Furthermore, though Kubernetes is a flexible platform, it isn’t necessarily easy to master; many companies admit that their application teams do not have the depth of expertise to handle the complexities, especially in a multi-clustered environment. Therefore an unfair share of the burden weighs down the DevOps teams, who are then mischaracterized as the bottlenecks in high-velocity release cycles.&lt;/p&gt;

&lt;p&gt;So though the combination of DevOps and Kubernetes has gone a long way in breaking down the development/operations silos, there are still “last mile” pitfalls that can’t be automated away.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;AppOps - The True Coordination&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This was the genesis for Devtron proposing the AppOps model. We set out to democratize DevOps because we believe that empowering application developers is an integral part of the solution. Companies should adopt the best DevOps practices across the spectrum - irrespective of the size, revenue, or industry type. AppOps offers a framework and tools that cater specifically to developers, so they don’t struggle with the typical DevOps-oriented tools. It allows for greater efficiency as developers have more latitude in solving their problems. This self-service model also has checks to prevent compromising the inherent integrity of the process.&lt;/p&gt;

&lt;p&gt;Using AppOps, the DevOps team can erect guardrails within which developers can build, deploy, and test their applications independently with minimal oversight. If the application fails in this sandbox, it can be debugged, changed, and redeployed, all with nary a call to DevOps. In short, developers can operationalize and manage applications without worrying about the complexity of the infrastructure or the domain knowledge that goes with it. The DevOps resources can spend less time putting out smaller fires and focusing on the more significant and more intensive responsibility of cloud infrastructure management and Kubernetes cluster deployments. A win-win all around.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fizdjbom3yg9hfzr1p5hw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fizdjbom3yg9hfzr1p5hw.png" alt="AppOps Guardrails"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The AppOps platform allows DevOps teams to abstract the complexities of the Kubernetes configuration for developers while providing a consolidated view of all relevant/critical data across the enterprise. They can also add in guardrails — constraints and restrictions limiting what application developers can and cannot do. A well-designed AppOps portal also provides DevOps with complete visibility on all deployed apps and their current state for crucial real-time monitoring.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fhbwpzc2h0pz9n1qtl6hv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fhbwpzc2h0pz9n1qtl6hv.png" alt="Devtron Logo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Devtron has leveraged the power of Kubernetes to make AppOps a reality, bringing together DevOps and developers while also giving both their independence and the space to work separately - always a recipe for a happy marriage - as they work towards the common goal of agile, efficient and high-quality releases that can be deployed smoothly and with minimum churn.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;About Me:&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Hi Everyone, I am Prashant, and I have been a DevOps Engineer for more than 15 years now. I've been working on Exciting technologies like Kubernetes, Orchestration,  Containerization, among others. With Experience, I understood that there is a lack of consolidated delivery workflow for Kubernetes. So, With some of my friends, I have Co-founded Devtron, an Open Source solution, to solve this issue. It would mean a lot if you can check out our Repo:&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/devtron-labs" rel="noopener noreferrer"&gt;
        devtron-labs
      &lt;/a&gt; / &lt;a href="https://github.com/devtron-labs/devtron" rel="noopener noreferrer"&gt;
        devtron
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Tool integration platform for Kubernetes
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;

  
  
  &lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fdevtron-labs%2Fdevtron.%2Fassets%2Fdevtron-logo-dark-light.png" class="article-body-image-wrapper"&gt;&lt;img width="333.333" height="260" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fdevtron-labs%2Fdevtron.%2Fassets%2Fdevtron-logo-dark-light.png"&gt;&lt;/a&gt;

&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Cloud Native tool integration platform for Kubernetes&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;
&lt;br&gt;
&lt;a href="https://docs.devtron.ai/" rel="nofollow noopener noreferrer"&gt;&lt;strong&gt;Explore documentation »&lt;/strong&gt;&lt;/a&gt;
&lt;br&gt;
&lt;a href="https://preview.devtron.ai/dashboard/" rel="nofollow noopener noreferrer"&gt;&lt;strong&gt;Try Devtron Demo »&lt;/strong&gt;&lt;/a&gt;
&lt;br&gt;
&lt;a href="https://devtron.ai/" rel="nofollow noopener noreferrer"&gt;Website&lt;/a&gt;
·
&lt;a href="https://devtron.ai/blog/" rel="nofollow noopener noreferrer"&gt;Blogs&lt;/a&gt;
·
&lt;a href="https://discord.gg/jsRG5qx2gp" rel="nofollow noopener noreferrer"&gt;Join Discord channel&lt;/a&gt;
·
&lt;a href="https://twitter.com/DevtronL" rel="nofollow noopener noreferrer"&gt;Twitter&lt;/a&gt;
&lt;a href="https://www.youtube.com/channel/UCAHRp9qp0z1y9MMtQlcFtcw" rel="nofollow noopener noreferrer"&gt;YouTube&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://discord.gg/jsRG5qx2gp" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/8335e1f4865072bc51889300af4bb3eddd798d1c0fb363226720c9fd14aa251f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4a6f696e25323075732532306f6e2d446973636f72642d6530313536332e737667" alt="Join Discord"&gt;&lt;/a&gt;
&lt;a href="https://goreportcard.com/badge/github.com/devtron-labs/devtron" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/1ed03f357f6172e47026ced4d347d14a9b859700f941616ada73f1782951c0c2/68747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f64657674726f6e2d6c6162732f64657674726f6e" alt="Go Report Card"&gt;&lt;/a&gt;
&lt;a href="https://github.com/devtron-labs/devtron./LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/859a1a0bc85ce8bbd7a730a274fec5c9e77c4726ffdf6aa762a78685e26033a4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d417061636865253230322e302d626c75652e737667" alt="License"&gt;&lt;/a&gt;
&lt;a href="https://bestpractices.coreinfrastructure.org/projects/4411" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/1a2965c696f55d98a7a1050e2e6a0a47112f9933f6c3c19fff15e8776ec1a678/68747470733a2f2f626573747072616374696365732e636f7265696e6672617374727563747572652e6f72672f70726f6a656374732f343431312f6261646765" alt="CII Best Practices"&gt;&lt;/a&gt;
&lt;a href="http://golang.org" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/c8f889b91979111cacffc291417be93bee2c639b70370c97aaaa87760a8d7044/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d616465253230776974682d476f2d3166343235662e737667" alt="made-with-Go"&gt;&lt;/a&gt;
&lt;a href="http://devtron.ai/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/e4dfa07247fcfa20e5f11ace98bc0f3582ca4bf48b9c0fbdfc1bb68f8fab0e08/68747470733a2f2f696d672e736869656c64732e696f2f776562736974652d75702d646f776e2d677265656e2d7265642f687474702f736869656c64732e696f2e737667" alt="Website devtron.ai"&gt;&lt;/a&gt;
&lt;a href="https://twitter.com/intent/tweet?text=Devtron%20helps%20in%20simplifying%20software%20delivery%20workflow%20for%20Kubernetes,%20check%20it%20out!!%20&amp;amp;hashtags=OpenSource,Kubernetes,DevOps,CICD,go&amp;amp;url=https://github.com/devtron-labs/devtron%0a" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/4f677ce944dfdeb7a8cd741560d35d006363ef6160adeb63ee3d8c73373b1f51/68747470733a2f2f696d672e736869656c64732e696f2f747769747465722f75726c2f687474702f736869656c64732e696f2e7376673f7374796c653d736f6369616c" alt="Tweet"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://devtron.ai/devops-in-a-box.html" rel="nofollow noopener noreferrer"&gt;🔥 Want to accelerate K8s adoption? Introducing DevOps in a Box; Leave DevOps on Devtron 🔥
&lt;/a&gt;
&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Devtron deeply integrates with products across the lifecycle of microservices,i.e., CI, CD, security, cost, debugging, and observability via an intuitive web interface.
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/devtron-labs/devtron./assets/readme-comic.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fdevtron-labs%2Fdevtron.%2Fassets%2Freadme-comic.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/devtron-labs/devtron#install-devtron" rel="noopener noreferrer"&gt;Devtron&lt;/a&gt; helps you deploy, observe, manage &amp;amp; debug existing Helm apps in all your clusters.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Devtron Demo Environment&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Please log in the &lt;a href="https://preview.devtron.ai/dashboard/" rel="nofollow noopener noreferrer"&gt;Demo environment&lt;/a&gt; using github credentials. Please note the user is granted view access.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Devtron Features&lt;/h2&gt;

&lt;/div&gt;
&lt;b&gt;Application-level Resource grouping for easier Debugging&lt;/b&gt;
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Devtron groups your Kubernetes objects deployed via Helm charts and display them in a slick UI for easier monitoring or debugging. Access pod logs and resource manifests right from the Devtron UI and even edit them!&lt;/li&gt;
&lt;/ul&gt;

 &lt;b&gt;Centralized Access Management&lt;/b&gt;
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Control and give customizable view-only…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/devtron-labs/devtron" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


</description>
      <category>kubernetes</category>
      <category>devops</category>
      <category>opensource</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Here's why you should use Kubernetes!</title>
      <dc:creator>Prashant Ghildiyal</dc:creator>
      <pubDate>Wed, 16 Jun 2021 15:10:58 +0000</pubDate>
      <link>https://forem.com/pghildiyal/here-s-why-you-should-use-kubernetes-g9l</link>
      <guid>https://forem.com/pghildiyal/here-s-why-you-should-use-kubernetes-g9l</guid>
      <description>&lt;p&gt;Kubernetes is a portable, extensible, open-source platform for managing containerized applications and services that facilitates both declarative configuration and automation. Kubernetes provides a platform to configure, automate, and manage:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Intelligent and balanced scheduling of containers&lt;/li&gt;
&lt;li&gt;Creation, deletion, and movement of containers&lt;/li&gt;
&lt;li&gt;Easy scaling of containers&lt;/li&gt;
&lt;li&gt;Monitoring and self-healing abilities&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Challenges with Previous Technologies&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Before Kubernetes there were containers, which became popular because they simplified going from application development to deployment without having to worry about portability or reproducibility. Developers can package an application and all its dependencies, libraries, and configuration files needed to execute the application into a container image. A container is a runnable instance of an image. Container images can be pulled from a registry and deployed anywhere the container runtime is installed: on your laptop, servers on-premises, or in the cloud.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fww4vtt6cmz4lc4f38j9f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fww4vtt6cmz4lc4f38j9f.png" alt="Docker Functionalities managing Containers"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Compared to virtual machines, containers have similar resources and isolation benefits, but are lighter in weight because they virtualize the operating system instead of the hardware. Containers are more portable and efficient, take up less space, use far fewer system resources, and can be spun up in seconds.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fx3n31rw9mruu4qoslgrl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fx3n31rw9mruu4qoslgrl.png" alt="Virtual Machines Vs Containers"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Managing containers for production is challenging. As the container market continued to grow and many workloads transitioned to fully production-grade containers, it was clear cluster admins needed something beyond a container engine. Key capabilities were missing, such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Using multiple containers with shared resources&lt;/li&gt;
&lt;li&gt;Monitoring running containers&lt;/li&gt;
&lt;li&gt;Handling dead containers&lt;/li&gt;
&lt;li&gt;Moving containers so utilization improves&lt;/li&gt;
&lt;li&gt;Autoscaling container instances to handle load&lt;/li&gt;
&lt;li&gt;Making the container services easily accessible&lt;/li&gt;
&lt;li&gt;Connecting containers to a variety of external data sources&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Advantages of Kubernetes&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Containers paved the way to build cloud native systems, in which services are implemented using small clouds of containers. This created an enormous opportunity to add and adopt new services to make the use of containers easier, faster, and far more productive. Since it was open-sourced by Google in 2014, Kubernetes has become the de-facto standard for container orchestration. Kubernetes leverages the power of containers while simplifying the management of services and machines in a cluster.&lt;/p&gt;

&lt;p&gt;A Pod is a logical grouping of one or more containers, which are scheduled together and share resources. Pods enable multiple containers to run on a host machine and share resources such as storage, networking, and container runtime information.&lt;/p&gt;

&lt;p&gt;Kubernetes Clusters abstract their underlying computing resources, allowing users to deploy workloads to the entire cluster as opposed to a particular server. A Kubernetes cluster consists of at least one master node that manages the cluster and multiple worker nodes, where containerized applications run using Pods.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F23rux03b3dipasfaytzb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F23rux03b3dipasfaytzb.png" alt="Containers in Pods, Kubernetes Advantage"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Kubernetes architecture enables:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A single administrator to manage thousands of containers running simultaneously&lt;/li&gt;
&lt;li&gt;Workload portability and orchestration of containers across on-site deployments to public or private clouds and to hybrid deployments in between&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;About Me:&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Hi Everyone, I am Prashant, and I have been a DevOps Engineer for more than 15 years now. I've been working on Exciting technologies like Kubernetes, Orchestration,  Containerization, among others. With Experience, I understood that there is a lack of consolidated delivery workflow for Kubernetes. So, With some of my friends, I have Co-founded Devtron, an Open Source solution, to solve this issue. It would mean a lot if you can check out our Repo:&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/devtron-labs" rel="noopener noreferrer"&gt;
        devtron-labs
      &lt;/a&gt; / &lt;a href="https://github.com/devtron-labs/devtron" rel="noopener noreferrer"&gt;
        devtron
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Tool integration platform for Kubernetes
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;

  
  
  &lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fdevtron-labs%2Fdevtron.%2Fassets%2Fdevtron-logo-dark-light.png" class="article-body-image-wrapper"&gt;&lt;img width="333.333" height="260" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fdevtron-labs%2Fdevtron.%2Fassets%2Fdevtron-logo-dark-light.png"&gt;&lt;/a&gt;

&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Cloud Native tool integration platform for Kubernetes&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;
&lt;br&gt;
&lt;a href="https://docs.devtron.ai/" rel="nofollow noopener noreferrer"&gt;&lt;strong&gt;Explore documentation »&lt;/strong&gt;&lt;/a&gt;
&lt;br&gt;
&lt;a href="https://preview.devtron.ai/dashboard/" rel="nofollow noopener noreferrer"&gt;&lt;strong&gt;Try Devtron Demo »&lt;/strong&gt;&lt;/a&gt;
&lt;br&gt;
&lt;a href="https://devtron.ai/" rel="nofollow noopener noreferrer"&gt;Website&lt;/a&gt;
·
&lt;a href="https://devtron.ai/blog/" rel="nofollow noopener noreferrer"&gt;Blogs&lt;/a&gt;
·
&lt;a href="https://discord.gg/jsRG5qx2gp" rel="nofollow noopener noreferrer"&gt;Join Discord channel&lt;/a&gt;
·
&lt;a href="https://twitter.com/DevtronL" rel="nofollow noopener noreferrer"&gt;Twitter&lt;/a&gt;
&lt;a href="https://www.youtube.com/channel/UCAHRp9qp0z1y9MMtQlcFtcw" rel="nofollow noopener noreferrer"&gt;YouTube&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://discord.gg/jsRG5qx2gp" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/8335e1f4865072bc51889300af4bb3eddd798d1c0fb363226720c9fd14aa251f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4a6f696e25323075732532306f6e2d446973636f72642d6530313536332e737667" alt="Join Discord"&gt;&lt;/a&gt;
&lt;a href="https://goreportcard.com/badge/github.com/devtron-labs/devtron" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/1ed03f357f6172e47026ced4d347d14a9b859700f941616ada73f1782951c0c2/68747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f64657674726f6e2d6c6162732f64657674726f6e" alt="Go Report Card"&gt;&lt;/a&gt;
&lt;a href="https://github.com/devtron-labs/devtron./LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/859a1a0bc85ce8bbd7a730a274fec5c9e77c4726ffdf6aa762a78685e26033a4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d417061636865253230322e302d626c75652e737667" alt="License"&gt;&lt;/a&gt;
&lt;a href="https://bestpractices.coreinfrastructure.org/projects/4411" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/1a2965c696f55d98a7a1050e2e6a0a47112f9933f6c3c19fff15e8776ec1a678/68747470733a2f2f626573747072616374696365732e636f7265696e6672617374727563747572652e6f72672f70726f6a656374732f343431312f6261646765" alt="CII Best Practices"&gt;&lt;/a&gt;
&lt;a href="http://golang.org" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/c8f889b91979111cacffc291417be93bee2c639b70370c97aaaa87760a8d7044/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d616465253230776974682d476f2d3166343235662e737667" alt="made-with-Go"&gt;&lt;/a&gt;
&lt;a href="http://devtron.ai/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/e4dfa07247fcfa20e5f11ace98bc0f3582ca4bf48b9c0fbdfc1bb68f8fab0e08/68747470733a2f2f696d672e736869656c64732e696f2f776562736974652d75702d646f776e2d677265656e2d7265642f687474702f736869656c64732e696f2e737667" alt="Website devtron.ai"&gt;&lt;/a&gt;
&lt;a href="https://twitter.com/intent/tweet?text=Devtron%20helps%20in%20simplifying%20software%20delivery%20workflow%20for%20Kubernetes,%20check%20it%20out!!%20&amp;amp;hashtags=OpenSource,Kubernetes,DevOps,CICD,go&amp;amp;url=https://github.com/devtron-labs/devtron%0a" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/4f677ce944dfdeb7a8cd741560d35d006363ef6160adeb63ee3d8c73373b1f51/68747470733a2f2f696d672e736869656c64732e696f2f747769747465722f75726c2f687474702f736869656c64732e696f2e7376673f7374796c653d736f6369616c" alt="Tweet"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://devtron.ai/devops-in-a-box.html" rel="nofollow noopener noreferrer"&gt;🔥 Want to accelerate K8s adoption? Introducing DevOps in a Box; Leave DevOps on Devtron 🔥
&lt;/a&gt;
&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Devtron deeply integrates with products across the lifecycle of microservices,i.e., CI, CD, security, cost, debugging, and observability via an intuitive web interface.
&lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/devtron-labs/devtron./assets/readme-comic.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fdevtron-labs%2Fdevtron.%2Fassets%2Freadme-comic.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/devtron-labs/devtron#install-devtron" rel="noopener noreferrer"&gt;Devtron&lt;/a&gt; helps you deploy, observe, manage &amp;amp; debug existing Helm apps in all your clusters.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Devtron Demo Environment&lt;/h2&gt;

&lt;/div&gt;

&lt;p&gt;Please log in the &lt;a href="https://preview.devtron.ai/dashboard/" rel="nofollow noopener noreferrer"&gt;Demo environment&lt;/a&gt; using github credentials. Please note the user is granted view access.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Devtron Features&lt;/h2&gt;

&lt;/div&gt;

&lt;b&gt;Application-level Resource grouping for easier Debugging&lt;/b&gt;
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Devtron groups your Kubernetes objects deployed via Helm charts and display them in a slick UI for easier monitoring or debugging. Access pod logs and resource manifests right from the Devtron UI and even edit them!&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt; &lt;b&gt;Centralized Access Management&lt;/b&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;ul&gt;

&lt;li&gt;Control and give customizable view-only…&lt;/li&gt;

&lt;/ul&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/devtron-labs/devtron" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
This post is originally published on the Devtron website by one of our beloved devs, Prakarsh.

</description>
      <category>kubernetes</category>
      <category>beginners</category>
      <category>devops</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Understanding Kubernetes Architecture</title>
      <dc:creator>Prashant Ghildiyal</dc:creator>
      <pubDate>Wed, 09 Jun 2021 04:59:07 +0000</pubDate>
      <link>https://forem.com/pghildiyal/understanding-kubernetes-architecture-2k0l</link>
      <guid>https://forem.com/pghildiyal/understanding-kubernetes-architecture-2k0l</guid>
      <description>&lt;p&gt;Kubernetes is becoming the new standard for deploying and managing the software in Cloud because of the wide number of features that Kubernetes provide such as automated rolling and rollback of deployments, storage orchestration, automating bin packing, self-healing, management of secrets and configuration files and many more. This blog post will give you a high-level view of the Kubernetes Architecture and in-depth explanation about Kubernetes Node Architecture and its components.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Overview of Kubernetes Architecture&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;A Kubernetes cluster consists of a set of worker machines known as &lt;strong&gt;nodes&lt;/strong&gt; that run containerized applications. Every cluster has at least one worker node. The worker node(s) host the pods that are the components of the application workload.&lt;/p&gt;

&lt;p&gt;Kubernetes cluster consists of at least one master and multiple nodes.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Master:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;It is responsible for exposing the application program interface (API), scheduling the deployments and managing the overall Kubernetes cluster, the master server runs the following components:&lt;/p&gt;

&lt;p&gt;Kubernetes Master and Node Components&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;API Server:&lt;/strong&gt; It performs all the administrative tasks through the API server within the master node.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;scheduler:&lt;/strong&gt; It schedules the tasks to worker nodes. It stores the resource usage information for each slave node.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;controller-manager:&lt;/strong&gt; The controller watches the desired state of the objects it manages and ensures that their current state through the API server. If the current state of the objects it manages does not meet the desired state, then the control loop takes corrective steps to make sure that the current state is the same as the desired state.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;etcd:&lt;/strong&gt; etcd is a distributed key-value store that stores the cluster state and can also be used to store configuration details such as subnets, ConfigMaps, Secrets, etc. It can be part of the Kubernetes Master, or it can be configured externally.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fvqmuw9hz2c5o7jn56gc1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fvqmuw9hz2c5o7jn56gc1.png" alt="Basic Kubernetes Architecture Representation"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Node:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;It is a physical server that has pods inside them that are responsible for running applications inside them and managed by the Master. The necessary components of Node are:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kubelet:&lt;/strong&gt; It is an agent that communicates with the Master node and executes on the worker nodes. It gets the Pod specifications through the API server and executes the containers associated with the Pod and ensures that the containers running within the pods are running and in a healthy state.&lt;/p&gt;

&lt;p&gt;Kubelet also periodically monitors the state of the pods and in case of any problem, launches the new instance instead. Kubelet also has an internal HTTP server exposing a read-only view at port 10255. For Example: /healthz is a health check endpoint, /pods get a list of running pods, /spec to get specifications of the machine on which kubelet is running on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kube-Proxy:&lt;/strong&gt; Kube-proxy runs on each node to deal with individual host sub-netting and ensures that the services are available to external parties. For each Service endpoint, Kube-proxy sets up the routes so that it can reach to it.&lt;/p&gt;

&lt;p&gt;It serves as a network proxy and a load balancer for the pods running on that particular node. It is an important networking part of Kubernetes and ensures that there is an efficient communication across all elements of the cluster.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;cAdvisor:&lt;/strong&gt; It was originally created by Google is now integrated with Kubelet. It collects metrics such as CPU, memory, file, and network usage for all running containers and makes sure that they are running properly. All the data is sent to the scheduler to ensure the performance of the node which is further used for tasks like scheduling, horizontal pod scaling and managing container resource limits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Container Runtime:&lt;/strong&gt; Container Runtime is the software that is responsible for pulling images from public or private registries running containers based on these images. Kubelet directly interacts with Container Runtime to start, stop or delete containers. Kubernetes supports several runtimes such as Docker, container, CRI-O and any other implementation of Kubernetes CRI(Container Runtime Interface).&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;About Me:&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;I am Prashant and I've been thoroughly enjoying working in the DevOps space for years. My main areas of work used to be around DevOps, Kubernetes Orchestration and CI/CD. With Experience I understood that there is a lack of consolidated delivery workflow for Kubernetes. Sure, there are tools that will help us achieve a specific task but no tool that encompasses the whole workflow efficiently. So, with some of my passionate friends in tech, I have Cofounded Devtron Labs intended to solve this problem. It is a completely community led Open Source, Software Delivery workflow for Kubernetes that efficiently manages security, cost and Stability.&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/devtron-labs" rel="noopener noreferrer"&gt;
        devtron-labs
      &lt;/a&gt; / &lt;a href="https://github.com/devtron-labs/devtron" rel="noopener noreferrer"&gt;
        devtron
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Tool integration platform for Kubernetes
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;

  
  
  &lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fdevtron-labs%2Fdevtron.%2Fassets%2Fdevtron-logo-dark-light.png" class="article-body-image-wrapper"&gt;&lt;img width="333.333" height="260" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fdevtron-labs%2Fdevtron.%2Fassets%2Fdevtron-logo-dark-light.png"&gt;&lt;/a&gt;

&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Cloud Native tool integration platform for Kubernetes&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;
&lt;br&gt;
&lt;a href="https://docs.devtron.ai/" rel="nofollow noopener noreferrer"&gt;&lt;strong&gt;Explore documentation »&lt;/strong&gt;&lt;/a&gt;
&lt;br&gt;
&lt;a href="https://preview.devtron.ai/dashboard/" rel="nofollow noopener noreferrer"&gt;&lt;strong&gt;Try Devtron Demo »&lt;/strong&gt;&lt;/a&gt;
&lt;br&gt;
&lt;a href="https://devtron.ai/" rel="nofollow noopener noreferrer"&gt;Website&lt;/a&gt;
·
&lt;a href="https://devtron.ai/blog/" rel="nofollow noopener noreferrer"&gt;Blogs&lt;/a&gt;
·
&lt;a href="https://discord.gg/jsRG5qx2gp" rel="nofollow noopener noreferrer"&gt;Join Discord channel&lt;/a&gt;
·
&lt;a href="https://twitter.com/DevtronL" rel="nofollow noopener noreferrer"&gt;Twitter&lt;/a&gt;
&lt;a href="https://www.youtube.com/channel/UCAHRp9qp0z1y9MMtQlcFtcw" rel="nofollow noopener noreferrer"&gt;YouTube&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://discord.gg/jsRG5qx2gp" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/8335e1f4865072bc51889300af4bb3eddd798d1c0fb363226720c9fd14aa251f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4a6f696e25323075732532306f6e2d446973636f72642d6530313536332e737667" alt="Join Discord"&gt;&lt;/a&gt;
&lt;a href="https://goreportcard.com/badge/github.com/devtron-labs/devtron" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/1ed03f357f6172e47026ced4d347d14a9b859700f941616ada73f1782951c0c2/68747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f64657674726f6e2d6c6162732f64657674726f6e" alt="Go Report Card"&gt;&lt;/a&gt;
&lt;a href="https://github.com/devtron-labs/devtron./LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/859a1a0bc85ce8bbd7a730a274fec5c9e77c4726ffdf6aa762a78685e26033a4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d417061636865253230322e302d626c75652e737667" alt="License"&gt;&lt;/a&gt;
&lt;a href="https://bestpractices.coreinfrastructure.org/projects/4411" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/1a2965c696f55d98a7a1050e2e6a0a47112f9933f6c3c19fff15e8776ec1a678/68747470733a2f2f626573747072616374696365732e636f7265696e6672617374727563747572652e6f72672f70726f6a656374732f343431312f6261646765" alt="CII Best Practices"&gt;&lt;/a&gt;
&lt;a href="http://golang.org" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/c8f889b91979111cacffc291417be93bee2c639b70370c97aaaa87760a8d7044/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d616465253230776974682d476f2d3166343235662e737667" alt="made-with-Go"&gt;&lt;/a&gt;
&lt;a href="http://devtron.ai/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/e4dfa07247fcfa20e5f11ace98bc0f3582ca4bf48b9c0fbdfc1bb68f8fab0e08/68747470733a2f2f696d672e736869656c64732e696f2f776562736974652d75702d646f776e2d677265656e2d7265642f687474702f736869656c64732e696f2e737667" alt="Website devtron.ai"&gt;&lt;/a&gt;
&lt;a href="https://twitter.com/intent/tweet?text=Devtron%20helps%20in%20simplifying%20software%20delivery%20workflow%20for%20Kubernetes,%20check%20it%20out!!%20&amp;amp;hashtags=OpenSource,Kubernetes,DevOps,CICD,go&amp;amp;url=https://github.com/devtron-labs/devtron%0a" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/4f677ce944dfdeb7a8cd741560d35d006363ef6160adeb63ee3d8c73373b1f51/68747470733a2f2f696d672e736869656c64732e696f2f747769747465722f75726c2f687474702f736869656c64732e696f2e7376673f7374796c653d736f6369616c" alt="Tweet"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://devtron.ai/devops-in-a-box.html" rel="nofollow noopener noreferrer"&gt;🔥 Want to accelerate K8s adoption? Introducing DevOps in a Box; Leave DevOps on Devtron 🔥
&lt;/a&gt;
&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Devtron deeply integrates with products across the lifecycle of microservices,i.e., CI, CD, security, cost, debugging, and observability via an intuitive web interface.
&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/devtron-labs/devtron./assets/readme-comic.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fdevtron-labs%2Fdevtron.%2Fassets%2Freadme-comic.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/devtron-labs/devtron#install-devtron" rel="noopener noreferrer"&gt;Devtron&lt;/a&gt; helps you deploy, observe, manage &amp;amp; debug existing Helm apps in all your clusters.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Devtron Demo Environment&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Please log in the &lt;a href="https://preview.devtron.ai/dashboard/" rel="nofollow noopener noreferrer"&gt;Demo environment&lt;/a&gt; using github credentials. Please note the user is granted view access.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Devtron Features&lt;/h2&gt;

&lt;/div&gt;
&lt;b&gt;Application-level Resource grouping for easier Debugging&lt;/b&gt;
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Devtron groups your Kubernetes objects deployed via Helm charts and display them in a slick UI for easier monitoring or debugging. Access pod logs and resource manifests right from the Devtron UI and even edit them!&lt;/li&gt;
&lt;/ul&gt;

 &lt;b&gt;Centralized Access Management&lt;/b&gt;
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Control and give customizable view-only…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/devtron-labs/devtron" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


</description>
      <category>devops</category>
      <category>beginners</category>
      <category>kubernetes</category>
      <category>go</category>
    </item>
  </channel>
</rss>
