What is DevOps?

 DevOps is an evolving philosophy and framework that encourages faster, better application development and faster release of new or revised software features or products to customers.

The practice of DevOps encourages smoother, continuous communication, collaboration, integration, visibility, and transparency between application development teams (Dev) and their IT operations team (Ops) counterparts. know more at Devops online training

This closer relationship between “Dev” and “Ops” permeates every phase of the DevOps lifecycle: from initial software planning to code, build, test, and release phases and on to deployment, operations, and ongoing monitoring. This relationship propels a continuous customer feedback loop of further improvement, development, testing, and deployment. One result of these efforts can be the more rapid, continual release of necessary feature changes or additions.

Some people group DevOps goals into four categories: culture, automation, measurement, and sharing (CAMS), and DevOps tools can aid in these areas. These tools can make development and operations workflows more streamlined and collaborative, automating previously time-consuming, manual, or static tasks involved in integration, development, testing, deployment, or monitoring.

    Why DevOps matters

    Along with its efforts to break down barriers to communication and collaboration between development and IT operations teams, a core value of DevOps is customer satisfaction and the faster delivery of value. DevOps is also designed to propel business innovation and the drive for continuous process improvement.

    The practice of DevOps encourages faster, better, more secure delivery of business value to an organization’s end customers. This value might take the form of more frequent product releases, features, or updates. It can involve how quickly a product release or new feature gets into customers’ hands—all with the proper levels of quality and security. Or, it might focus on how quickly an issue or bug is identified, and then resolved and re-released.

    Underlying infrastructure also supports DevOps with seamless performance, availability, and reliability of software as it is first developed and tested then released into production. know more at Devops training

      DevOps methods

      There are a few common DevOps methods that organizations can use to speed and improve development and product releases. They take the form of software development methodologies and practices. Among the most popular ones are Scrum, Kanban, and Agile:

      • Scrum. Scrum defines how members of a team should work together to accelerate development and QA projects. Scrum practices include key workflows and specific terminology (sprints, time boxes, daily scrum [meeting]), and designated roles (Scrum Master, product owner).
      • Kanban. Kanban originated from efficiencies gained on the Toyota factory floor. Kanban prescribes that the state of software project work in progress (WIP) be tracked on a Kanban board.
      • Agile. Earlier agile software development methods continue to heavily influence DevOps practices and tools. Many DevOps methods, including Scrum and Kanban, incorporate elements of agile programming. Some agile practices are associated with greater responsiveness to changing needs and requirements, documenting requirements as user stories, performing daily standups, and incorporating continuous customer feedback
      • DevOps toolchain

        Followers of DevOps practices often use certain DevOps-friendly tools as part of their DevOps “toolchain.” The goal of these tools is to further streamline, shorten, and automate the various stages of the software delivery workflow (or “pipeline”). Many such tools also promote core DevOps tenets of automation, collaboration, and integration between development and operations teams. The following shows a sample of tools used at various DevOps lifecycle stages. know more at Devops online course

        • Plan. This phase helps define business value and requirements. Sample tools include Jira or Git to help track known issues and perform project management.
        • Code. This phase involves software design and the creation of software code. Sample tools include GitHub, GitLab, Bitbucket, or Stash.
        • Build. In this phase, you manage software builds and versions, and use automated tools to help compile and package code for future release to production.
          • Test. This phase involves continuous testing (manual or automated) to ensure optimal code quality. Sample tools include JUnit, Codeception, Selenium, Vagrant, TestNG, or BlazeMeter.
          • Deploy. This phase can include tools that help manage, coordinate, schedule, and automate product releases into production. Sample tools include Puppet, Chef, Ansible, Jenkins, Kubernetes, OpenShift, OpenStack, Docker, or Jira.
          • Operate. This phase manages software during production. Sample tools include Ansible, Puppet, PowerShell, Chef, Salt, or Otter.
          • Monitor. This phase involves identifying and collecting information about issues from a specific software release in production. Sample tools include New Relic, Datadog, Grafana, Wireshark, Splunk, Nagios, or Slack.

            DevOps practices

            DevOps practices reflect the idea of continuous improvement and automation. Many practices focus on one or more development cycle phases. These practices include:

            • Continuous development. This practice spans the planning and coding phases of the DevOps lifecycle. Version-control mechanisms might be involved. know more at Devops online training in Hyderabad
            • Continuous testing. This practice incorporates automated, prescheduled, continued code tests as application code is being written or updated. Such tests can speed the delivery of code to production.

        Comments

        Popular posts from this blog

        What is Tableau?

        SharePoint Interview Questions

        Testing Interview Questions