<?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: Devendra Suthar</title>
    <description>The latest articles on Debug School by Devendra Suthar (@devendra).</description>
    <link>https://www.debug.school/devendra</link>
    <image>
      <url>https://www.debug.school/images/S_x8OL6qwdpvDHWpysB-jOft8WbYzLdQxZAc46_hxDM/rs:fill:90:90/g:sm/mb:500000/ar:1/aHR0cHM6Ly93d3cu/ZGVidWcuc2Nob29s/L3VwbG9hZHMvdXNl/ci9wcm9maWxlX2lt/YWdlLzMyMi8zNzIw/MGEyMC03YzI3LTQ0/MDItYjJkMS0wYWQ4/ZGRlNTMzNmYuanBn</url>
      <title>Debug School: Devendra Suthar</title>
      <link>https://www.debug.school/devendra</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://www.debug.school/feed/devendra"/>
    <language>en</language>
    <item>
      <title>Linux Assignment Part – 1</title>
      <dc:creator>Devendra Suthar</dc:creator>
      <pubDate>Fri, 23 Dec 2022 14:04:32 +0000</pubDate>
      <link>https://www.debug.school/devendra/linux-assignment-part-1-3g2d</link>
      <guid>https://www.debug.school/devendra/linux-assignment-part-1-3g2d</guid>
      <description>&lt;h4&gt;
  
  
  &lt;strong&gt;What is EPEL and Write a instructions to install and use it.&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;The Extra Packages for Enterprise Linux (EPEL) is a repository of additional software packages that are built for the Red Hat Enterprise Linux (RHEL) and CentOS operating systems. The packages in the EPEL repository are not part of the core RHEL or CentOS distributions, but they are built to be compatible with these systems and are maintained by a community of volunteers.&lt;/p&gt;

&lt;p&gt;To install and use EPEL, you can follow these steps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enable the EPEL repository on your system. This can be done by installing the &lt;strong&gt;epel-release&lt;/strong&gt; package. On CentOS, you can use the following command:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;sudo yum install epel-release&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On RHEL, you will need to enable the EPEL repository by creating a file at /etc/yum.repos.d/epel.repo with the following content:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[epel]
name=Extra Packages for Enterprise Linux $releasever - $basearch
baseurl=https://download.fedoraproject.org/pub/epel/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=https://download.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-$releasever

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

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Once the EPEL repository is enabled, you can install packages from it using the yum package manager. For example, to install the htop package from the EPEL repository, you can use the following command:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;sudo yum install htop&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To update a package from the EPEL repository, you can use the yum update command. For example, to update the htop package, you can use the following command:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;sudo yum update htop&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To remove a package from the EPEL repository, you can use the yum remove command. For example, to remove the htop package, you can use the following command:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;sudo yum remove htop&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;By default, the EPEL repository is enabled on CentOS systems, but it is not enabled on RHEL systems. You will need to enable the repository and install the epel-release package on RHEL systems in order to use the EPEL repository.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What is difference between hypervisor and cloud?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;A hypervisor, also known as a virtual machine manager (VMM), is software that allows multiple operating systems to run on a single physical host machine. A hypervisor creates virtual machines (VMs) on the host and assigns each VM its own virtualized hardware resources, such as CPU, memory, and storage.&lt;/p&gt;

&lt;p&gt;Cloud computing, on the other hand, is a model for delivering computing resources, such as servers, storage, and networking, over the internet. Cloud computing providers, such as Amazon Web Services (AWS), Microsoft Azure, and Google Cloud, offer a variety of services that allow users to rent computing resources on demand, without the need to purchase and maintain physical hardware.&lt;/p&gt;

&lt;p&gt;One key difference between hypervisors and cloud computing is the level of control that users have over the underlying hardware. With a hypervisor, users have control over the hardware on which their VMs are running, and they can install and configure the hypervisor and VMs as they see fit. In the cloud, users do not have direct control over the physical hardware, but they can choose from a variety of services and configurations offered by the cloud provider.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What are the Network Adaptor(Driver) you have in VirtualBox and write a use case of it?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;VirtualBox, a virtualization software developed by Oracle, provides a number of network adapter options that can be used to connect virtual machines (VMs) to networks. The available network adapters include:&lt;/p&gt;

&lt;p&gt;NAT: The NAT (Network Address Translation) adapter allows the VM to connect to the internet and other networked resources through the host machine's network connection. This adapter is useful for VMs that need internet access, but do not need to be directly accessible from other machines on the network.&lt;/p&gt;

&lt;p&gt;Bridged: The Bridged adapter allows the VM to connect directly to the host machine's network and be treated as a separate device on the network. This adapter is useful for VMs that need to be accessible from other machines on the network or that need to communicate with other devices on the same network.&lt;/p&gt;

&lt;p&gt;Host-only: The Host-only adapter allows the VM to communicate with the host machine and other VMs on the same host-only network, but it does not provide internet access or allow communication with other devices on the host machine's network. This adapter is useful for creating a private network between VMs and the host machine.&lt;/p&gt;

&lt;p&gt;Internal: The Internal adapter allows the VM to communicate with other VMs on the same host machine, but it does not provide internet access or allow communication with other devices on the host machine's network. This adapter is useful for creating a private network between VMs on the same host machine.&lt;/p&gt;

&lt;p&gt;Generic: The Generic adapter allows the VM to use a custom driver or filter to connect to a network. This adapter is useful for advanced network configurations or for connecting to networks that are not supported by the other adapter types.&lt;/p&gt;

&lt;p&gt;Here is an example use case for each of these network adapter types:&lt;/p&gt;

&lt;p&gt;NAT: A developer uses a VM with a NAT adapter to test a web application that needs internet access. The developer can access the internet through the host machine's network connection, but the VM is not directly accessible from other machines on the network.&lt;/p&gt;

&lt;p&gt;Bridged: A network administrator uses a VM with a Bridged adapter to simulate a separate device on the network. The VM can communicate with other devices on the network and can be accessed remotely by other machines.&lt;/p&gt;

&lt;p&gt;Host-only: A security researcher uses a VM with a Host-only adapter to create a private network for testing and experimentation. The VM can communicate with the host machine and other VMs on the same host-only network, but it cannot access the internet or communicate with other devices on the host machine's network.&lt;/p&gt;

&lt;p&gt;Internal: A team of developers uses VMs with Internal adapters to create a private network for testing and collaboration. The VMs can communicate with each other, but they do not have internet access and are not accessible from other devices on the host machine's network.&lt;/p&gt;

&lt;p&gt;Generic: An engineer uses a VM with a Generic adapter to connect to a custom network that is not supported by the other adapter types. The engineer can use a custom driver or filter to connect the VM to the network and communicate with other devices on the network.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What is DevOps and compare with SRE and DevSecOps?</title>
      <dc:creator>Devendra Suthar</dc:creator>
      <pubDate>Fri, 23 Dec 2022 13:41:08 +0000</pubDate>
      <link>https://www.debug.school/devendra/what-is-devops-and-compare-with-sre-and-devsecops-19pm</link>
      <guid>https://www.debug.school/devendra/what-is-devops-and-compare-with-sre-and-devsecops-19pm</guid>
      <description>&lt;h4&gt;
  
  
  &lt;strong&gt;What is DevOps in simple terms?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;DevOps is a combination of software development and IT operations practices that aims to shorten the development cycle and provide more frequent deployments of applications. It emphasizes collaboration and communication between these two groups, with the goal of improving the speed and reliability of software releases.&lt;/p&gt;

&lt;p&gt;DevOps aims to bridge the gap between development and operations by promoting practices such as continuous integration, continuous delivery, and infrastructure as code. These practices allow development and operations teams to work together to automate the software delivery process and make it more efficient and effective.&lt;/p&gt;

&lt;p&gt;In summary, DevOps is a culture and set of practices that aim to improve the collaboration and communication between software developers and IT operations professionals, with the goal of delivering high-quality software faster and more reliably.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What exactly do DevOps do?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;DevOps is a set of practices that combines software development (Dev) and information-technology operations (Ops) to shorten the development lifecycle and provide continuous delivery with high software quality. DevOps aims to establish a culture and environment where building, testing, and releasing software can happen rapidly, frequently, and more reliably.&lt;/p&gt;

&lt;p&gt;Some of the tasks that a DevOps engineer might perform include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Collaborating with software developers to design and implement infrastructure and tools that support the development and deployment of software.&lt;/li&gt;
&lt;li&gt;Automating the build, test, and deployment process to enable faster and more reliable software releases.&lt;/li&gt;
&lt;li&gt;Monitoring the performance and availability of systems, and identifying and troubleshooting issues that arise.&lt;/li&gt;
&lt;li&gt;Setting up and maintaining continuous integration and continuous delivery (CI/CD) pipelines.&lt;/li&gt;
&lt;li&gt;Implementing security measures to protect systems and data.&lt;/li&gt;
&lt;li&gt;Providing support for production systems and working with developers to resolve issues.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;DevOps engineers typically have a combination of technical skills, including knowledge of software development languages, familiarity with tools such as Git and Jenkins, and experience with cloud computing platforms like AWS, Azure, or Google Cloud. They also need strong communication and collaboration skills, as they work closely with software developers, operations staff, and other stakeholders to ensure that software is delivered efficiently and effectively.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What are the list of DevOps Tools?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;There are many tools that are commonly used in DevOps practices. Some of the most popular tools include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Version control systems: Git is the most popular version control system for software development projects. It allows developers to track changes to their code, revert back to previous versions, and collaborate with other team members.&lt;/li&gt;
&lt;li&gt;Continuous integration (CI) tools: Jenkins, Travis CI, and CircleCI are examples of CI tools that automate the build and test process. These tools can be configured to run tests and build code every time a change is committed to the version control repository.&lt;/li&gt;
&lt;li&gt;Configuration management tools: Ansible, Puppet, and Chef are examples of configuration management tools that help automate the deployment and management of software and infrastructure. These tools allow you to define the desired state of your systems, and they will automatically ensure that your systems are configured in this way.&lt;/li&gt;
&lt;li&gt;Containerization tools: Docker and Kubernetes are tools that allow you to package applications and their dependencies into containers. Containers can be easily deployed and run on any platform that supports them, making it easier to develop and deploy applications.&lt;/li&gt;
&lt;li&gt;Monitoring tools: New Relic, Datadog, and Splunk are examples of monitoring tools that help you track the performance and availability of your systems. These tools can alert you when there are issues, and they provide detailed logs and metrics to help you troubleshoot problems.&lt;/li&gt;
&lt;li&gt;Collaboration and project management tools: Slack, JIRA, and Trello are examples of tools that can help teams communicate and collaborate more effectively. These tools can be used to track tasks, assign work, and discuss issues and ideas.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is just a small sample of the many tools that are available for DevOps practices. There are many other tools that are specialized for specific tasks or platforms, and the best tool for a particular project will depend on the needs of the team and the goals of the project.&lt;/p&gt;

&lt;h4&gt;
  
  
  **How DevOps and SRE are different?
&lt;/h4&gt;

&lt;p&gt;**&lt;br&gt;
Site reliability engineering (SRE) is a discipline within software engineering that focuses on the reliability and performance of systems. SRE is often associated with large, complex systems that require high levels of availability and scalability, such as those used by internet companies.&lt;/p&gt;

&lt;p&gt;Like DevOps, SRE emphasizes collaboration between development and operations teams and the use of automation to improve the reliability and efficiency of systems. However, there are some key differences between the two practices:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Focus: DevOps focuses on the entire software development lifecycle, from development to deployment and operations. SRE, on the other hand, is primarily focused on the reliability and performance of production systems.&lt;/li&gt;
&lt;li&gt;Service level objectives (SLOs): SRE teams often define and manage service level objectives (SLOs), which are metrics that define the level of service that a system should provide. For example, an SLO might specify that a system should have 99.99% uptime. SRE teams are responsible for meeting these SLOs, and they use various tools and techniques to monitor and improve the performance of systems.&lt;/li&gt;
&lt;li&gt;On-call responsibilities: SRE teams often have on-call responsibilities, which means that they are responsible for responding to and resolving issues with systems outside of regular working hours. SRE teams use various techniques, such as incident response protocols and blameless postmortems, to identify and fix problems as quickly as possible.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Overall, DevOps and SRE are similar in that they both involve collaboration between development and operations teams and the use of automation to improve the reliability and efficiency of systems. However, SRE has a more specific focus on the reliability and performance of production systems and is often used in large-scale systems that require high levels of availability&lt;/p&gt;

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

&lt;p&gt;DevSecOps is a security-focused approach to software development that emphasizes the integration of security practices into the software development lifecycle. The goal of DevSecOps is to build security into the development process, rather than treating it as an afterthought or a separate phase.&lt;/p&gt;

&lt;p&gt;Some of the key principles of DevSecOps include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Collaboration: DevSecOps involves collaboration between development, security, and operations teams to ensure that security is integrated into all aspects of the software development process.&lt;/li&gt;
&lt;li&gt;Automation: DevSecOps relies on automation to streamline security processes and reduce the risk of human error. For example, security testing and vulnerability scanning can be automated as part of the build and deployment process.&lt;/li&gt;
&lt;li&gt;Continuous improvement: DevSecOps emphasizes the continuous improvement of security practices and processes. This includes regular testing, monitoring, and feedback to identify and address potential security issues.&lt;/li&gt;
&lt;li&gt;Shift left: DevSecOps encourages teams to "shift left," or move security testing and evaluation earlier in the development process. This helps identify and address security issues earlier in the development cycle, when they are easier and less costly to fix.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By integrating security into the software development process, DevSecOps aims to improve the security of software systems and reduce the risk of security breaches and vulnerabilities.&lt;/p&gt;

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