<?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>Debug School: Purnima Kurella</title>
    <description>The latest articles on Debug School by Purnima Kurella (@purnimakurella).</description>
    <link>https://www.debug.school/purnimakurella</link>
    <image>
      <url>https://www.debug.school/images/CPDdQlGexClW9WOTxwLbEDeLKxuBxqind7bvkmstzXo/rs:fill:90:90/g:sm/mb:500000/ar:1/aHR0cHM6Ly90aGVw/cmFjdGljYWxkZXYu/czMuYW1hem9uYXdz/LmNvbS9pLzk5bXZs/c2Z1NXRmajltN2t1/MjVkLnBuZw</url>
      <title>Debug School: Purnima Kurella</title>
      <link>https://www.debug.school/purnimakurella</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://www.debug.school/feed/purnimakurella"/>
    <language>en</language>
    <item>
      <title>What is containerd ?</title>
      <dc:creator>Purnima Kurella</dc:creator>
      <pubDate>Wed, 12 Jul 2023 19:06:53 +0000</pubDate>
      <link>https://www.debug.school/purnimakurella/what-is-containerd--5fcp</link>
      <guid>https://www.debug.school/purnimakurella/what-is-containerd--5fcp</guid>
      <description>&lt;p&gt;&lt;strong&gt;containerd&lt;/strong&gt; is a container runtime that manages the lifecycle of a container that is either hosted on a physical machine or a virtual machine, i.e it manages the process of creating, starting, stopping, and destroying containers. containerd is available as a daemon, meaning it is a computer program that runs as a background process rather than being under the direct control of an interactive user. It is available for both Linux and Windows. It also manages everything from image transfer and storage to container execution and supervision to low-level storage to network attachments and beyond.&lt;/p&gt;

&lt;p&gt;When you are building a large platform or distributed system you want an abstraction layer between your management code and the syscalls and duct tape of features to run a container.That is where containerd lives.It provides a client layer of types that platforms can build on top of without ever having to drop down to the kernel level. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;As a container runtime, containerd can:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Limit the total memory and CPU shares allocated to containers with cgroups.&lt;/li&gt;
&lt;li&gt;Isolate the processes within a container, blocking it from seeing any host process.&lt;/li&gt;
&lt;li&gt;Extract the container image into an isolated part of the host system, processing it within the container so it sees those files as its own entire file system. This ensures the container cannot access any other container’s files or the host files. containerd can also attach some parts of the host file system into the container when required.&lt;/li&gt;
&lt;li&gt;Create a UID namespace where the UID 0 (root) within the container (root) maps to a different UID on the host system. This feature ensures that, should the container root process be able to access the host system, it’s blocked from running as root on the host.&lt;/li&gt;
&lt;li&gt;Set up the environment variables within the container. Some variables may come from the container image as default, while containerd can assign others during the container execution.&lt;/li&gt;
&lt;li&gt;Add or remove Linux capabilities when starting a container.&lt;/li&gt;
&lt;li&gt;Allow you to create your own network namespace and provide it to containerd to attach it to a container when it starts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;containerd&lt;/strong&gt; was created by Docker and donated it to the Cloud Native Computing Foundation (CNCF) so that the container community can have the basis for creating new container solutions.Containerd also supports the standards of the Open Container Initiative which is an open governance organization focused on container best practices.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;containerd vs Docker&lt;/strong&gt; :&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Docker&lt;/strong&gt; provides a broad set of technologies used to run and manage containers. One of those technologies is Docker Engine, a full-featured container runtime with advanced developer tools.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;containerd&lt;/strong&gt; is also a container runtime, based on Docker technology. You can use containerd on its own, as a bare-bones container runtime solution. Additionally, newer versions of Docker Engine use containerd behind the scenes. &lt;/p&gt;

</description>
      <category>containerd</category>
    </item>
    <item>
      <title>What is DevOps and compare with SRE and DevSecOps?</title>
      <dc:creator>Purnima Kurella</dc:creator>
      <pubDate>Thu, 06 Jul 2023 18:44:50 +0000</pubDate>
      <link>https://www.debug.school/purnimakurella/day-1-what-is-devops-and-compare-with-sre-and-devsecops-5405</link>
      <guid>https://www.debug.school/purnimakurella/day-1-what-is-devops-and-compare-with-sre-and-devsecops-5405</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is DevOps ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Devops is a combination of Development and IT operations. DevOps is a set of technical practices, a culture and a mindset. It helps with close cooperation, automation, integration and communication. These things will happen among all people engaged in maintaining, releasing, deploying, testing, developing and planning a solution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why is DevOps Required? What are the benefits of DevOps?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.debug.school/images/o_8e3DQtMstbWXmKOiCB0EJe3znYVW6njQmUV1rilb8/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/ZGVidWcuc2Nob29s/L3VwbG9hZHMvYXJ0/aWNsZXMvMXFkMHFl/bjRneGxyZDd1ZmRj/dHQucG5n" class="article-body-image-wrapper"&gt;&lt;img src="https://www.debug.school/images/o_8e3DQtMstbWXmKOiCB0EJe3znYVW6njQmUV1rilb8/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/ZGVidWcuc2Nob29s/L3VwbG9hZHMvYXJ0/aWNsZXMvMXFkMHFl/bjRneGxyZDd1ZmRj/dHQucG5n" alt="Image description" width="880" height="819"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before the introduction of DevOps, operation and development teams in organizations worked in complete isolation. As all the teams operate separately, there will be further delays. Without DevOps, Teams will spend more time on testing, deploying, designing, also deployment of the software program using manual code can lead to human errors. So, Automation plays a key role in the execution of DevOps successfully. &lt;/p&gt;

&lt;p&gt;Teamwork is Key. The DevOps setup suggests that cross-functional teams are the answer. Since everyone with an interest in the delivery of the programme must collaborate, developers, IT, and operations work together.&lt;/p&gt;

&lt;p&gt;DevOps will help with improving efficiency. It improves stability and speed with software development and deployment. In turn, it can optimize the entire business. Above all, it will help you focus more on what matters the most and the focus will be on your customers. DevOps can also result in cost savings.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DevOps Lifecycle and List of DevOps Tools?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;DevOps lifecycle consists of various automated processes in an iterative flow. Devops also involves various tools for various kinds and purposes, The tools help throughout the software development lifecycle. It is about choosing the right tool that fits an organization’s needs.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Continuous Development&lt;/strong&gt; - Continuous development is the first phase in a DevOps lifecycle. It’s crucial since it involves planning the project and developing the code. &lt;br&gt;
Tools for Continuous Development :&lt;br&gt;
• For source code management (SCM), you can use Git, GitLab, Mercurial, and BitBucket.&lt;br&gt;
• You can also package the code into executable files using Maven, Garden, Gradle, etc.&lt;br&gt;
• For planning and collaboration, you can use Jira, Trello, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Continuous Integration&lt;/strong&gt; - Continuous Integration is the second most important part of all DevOps SDLC. Here, the developers work on the updated code or try to integrate the additional functionalities and features into the application.&lt;br&gt;
Tools for CI: You can use Jenkins, TeamCity, GitLab CI, CircleCI, etc., for continuous integration.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Continuous Testing&lt;/strong&gt; - Once the code is developed, team will test the software for all possible issues or bugs to ensure the software meets the client’s requirements.&lt;br&gt;
Tools for testing: Popular software testing tools are Apache JMeter, Selenium, IBM Rational Performance Tester, Junit, WebLOAD, SoapUI, Acunetix, and Wapiti.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Continuous Deployment&lt;/strong&gt;  - It is the phase where the final code for the software will be deployed onto the main production servers. &lt;br&gt;
Tools for CD: You can use Ansible, Puppet, Vagrant, GoCD, Chef, etc., for continuous deployment and Docker for containerization.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Continuous Feedback&lt;/strong&gt; - Continuously taking feedback and working on them is an essential component of DevOps. It helps you understand the customer experience with your product after it’s deployed. &lt;br&gt;
Tools for continuous feedback: Jira Service Management, Pendo, Slack, and GetFeedback.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Continuous Monitoring&lt;/strong&gt; - With continuous monitoring, you can gain real-time, deeper visibility into your software’s overall performance, functionality, and health, from its infrastructure to high-end components. &lt;br&gt;
Tools for monitoring:  monitoring tools like New Relic, Nagios, Splunk, ELK Stack, Data Dog, Prometheus, and Grafana.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Continuous Operations&lt;/strong&gt; - The final phase of the DevOps development life cycle is critical for ensuring high uptime and timely software maintenance.It’s about being able to quickly and securely identify anomalies, apply fixes and modify your infrastructure as quickly as possible.&lt;br&gt;
Tools for continuous operations: You can use container orchestration systems such as Kubernetes, Docker Swarm, etc., for continuous operation. &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;What does a DevOps engineer do?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;DevOps engineers are typically responsible for release engineering, provisioning and maintenance of infrastructure, system administration and security. Managing the CI/CD tooling or developing and maintaining automated test suites.Provisioning and maintaining automated CI/CD pipelines.Build/deploy scripts.Provision and manage virtual instances/physical servers. Deployment and maintenance, storage, and networking resources.Deployment automation, Monitoring and analytics.Containers and container orchestration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How DevOps and SRE are different?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Site Reliability Engineering (SRE) uses software engineering to automate IT operations tasks. The word ‘Reliability’ signifies an SRE with a particular position in an organization. They focus is on creating and maintaining dependable web services that are up and running 24 hours a day, 7 days a week. &lt;/p&gt;

&lt;p&gt;DevOps teams are focused on core development. But SREs are working on the implementation of the core. They are constantly giving feedback back into that core development group.&lt;/p&gt;

&lt;p&gt;DevOps guys write code, test it and push it out into production to get an application line to help solve a problem. Whereas, SREs are more investigative. They are willing to do the analysis to find why something has gone wrong. They want to ensure that the same problems don’t keep happening.&lt;/p&gt;

&lt;p&gt;DevOps is going to automate deployment. SRE is going to automate redundancy, and they're going to automate manual tasks to keep the stack up and running.&lt;/p&gt;

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

&lt;p&gt;DevSecOps evolved to address the need to build in security continuously across the SDLC so that DevOps teams could deliver secure applications with speed and quality. DevSecOps involves ongoing, flexible collaboration between development, operations, and security teams. In short, DevOps focuses on speed; DevSecOps helps maintain velocity without compromising security.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>devsecops</category>
      <category>sre</category>
    </item>
  </channel>
</rss>
