About  DevOps

About DevOps

Day01 #90daysofdevopschallange

Hi there! I'm Yashswini and it's my first blog. Here I'm writing a blog for "Everything about DevOps" Day_1. So let get's started ...

1. What is DevOps

The name is DevOps, it’s very clear that it’s a collaboration of Development as well as Operations. But one should know that DevOps is not a tool, software, or framework, DevOps is a Combination of Tools that helps the automation of the whole infrastructure. DevOps is basically an implementation of Agile methodology on the Development side as well as the Operations side

Atlassian DevOps infinity wheel

1.1 Role of and DevOps Engineer

DevOps engineering is not a new thing, However, the natural role of DevOps engineers varies from organization to organization. In some cases, it's a role of automation in infrastructure and maintenance while some organization spans their role to the entire delivery chain.

1.2 Aspects of DevOps

Continuous_Integration_Deployment_and_Delivery

  1. Continuous Integration - Continuous integration is a process in DevOps where changes are merged into a central repository after which the code is automated and tested. Continuous Integration is the best practice for software development that has a set of critical principles. Some of the principles of CI are revision control, automated testing, and build automation. The process is not known to get rid of bugs but makes it easy to find and remove bugs.

  2. Continuous Delivery- Continuous Delivery (CD) is a DevOps practice that refers to the building, testing, and delivering improvements to the software code. This can be simplified as, though you have automated testing, the release process is also automated, and any deployment can occur at any time with just one click of a button. Continuous Delivery gives you the power to decide whether to make the releases daily, weekly or whenever the business requires it. The maximum benefits of Continuous Delivery can only be yielded if they release small batches, which are easy to troubleshoot if any glitch occurs.

  3. Continuous Deployment - Continuous Deployment (CD) is the final stage in the pipeline that refers to the automatic release of any developer changes from the repository to the production. Continuous Deployment ensures that any change that passes through the stages of production is released to the end users. There is absolutely no way other than any failure in the test that may stop the deployment of new changes to the output. This step is a great way to speed up the feedback loop with customers and is free from human intervention.

1.3 What is Automation , Infrastructure and Scaling

  1. Automation - Automation refers to the use of technology and software to perform tasks without human intervention. This can range from simple tasks like automatically sending email responses to complex processes like manufacturing, where machines can handle repetitive tasks faster and more accurately than humans. Automation can increase efficiency, reduce costs, and improve quality.

    Making DevOps work in your business

  2. Scaling - Scaling refers to the ability of a system or process to handle increased demand or workload. This can involve adding more resources such as servers, storage, or network capacity, or optimizing existing resources to better handle the load. Scaling is important in order to ensure that a system can handle increased traffic or usage without becoming slow or unresponsive.

  3. Infrastructure - Infrastructure refers to the underlying physical or virtual components that support the operation of a system or application. This includes things like servers, storage, network devices, and software platforms. Good infrastructure is essential to ensure that a system is stable, reliable, and performant. In the context of technology, infrastructure can also refer to cloud computing platforms, virtual machines, and other software-defined resources that can be dynamically provisioned and scaled to meet demand.

  4. DevOps: The Key for Infrastructure Agility

1.4 Why DevOps is Important?

DevOps is important because it helps organizations to deliver software applications more efficiently and effectively, with faster time-to-market, higher quality, and greater agility, all of which are critical in today's rapidly changing business environment. Few reasons of its importance-

  1. Faster time-to-market: DevOps allows teams to release software applications more frequently, with smaller and more incremental changes, which enables faster time-to-market.

  2. Greater agility and flexibility: DevOps enables organizations to respond quickly to changing business requirements and customer needs, allowing them to adapt and innovate more quickly.

  3. Enhanced quality and reliability: DevOps practices like continuous integration, automated testing, and continuous delivery help to ensure that software applications are of high quality and more reliable.

  4. Cost savings: DevOps can help to reduce costs by streamlining processes, reducing downtime, and minimizing the need for manual intervention.

  5. Improved customer satisfaction: DevOps helps to deliver software applications that meet customer needs, with faster releases, higher quality, and greater reliability, leading to increased customer satisfaction.