I - Basics of DevOps | Softqubes
I – Basics of DevOps
DevOps

I – Basics of DevOps

In the year 2008, the concept of DevOps raised out as a result of a
discussion between

Patrick Debois and Andrew Clay, project manager, a Belgian consultant,
and agile practitioner.

DevOps is a set of tools, Cultural Philosophies and practices, designed to shorten the software development life-cycle process. DevOps signify a change in IT culture, focusing on quick IT service delivery through the adoption of lean, agile practices in the context of a system-oriented method. By adopting a DevOps culture into business along with DevOps Practice and tools, teams gain the ability to better respond to customer needs and increase the confidence in the apps they develop and achieve business goals quicker.

basics_of_devOps

Benefits of DevOps

benefits_of_devOpsDevOps Vs. Traditional Approach

DevOps Traditional
  • Teams focus more on improving infrastructure
  • Teams spend less time on fixing issues and recovers from
    failures faster
  • Teams release applications at twice the speed of traditional IT
    teams
  • Continuous integration and deployment
  • All teams are equally responsible, which leads to better team
    engagement and productivity
  • Teams have limited focus on improving infrastructure
  • Requires more time to recover from failures
  • Teams requires more time to release applications
  • Linear model of development, testing, and deployment
  • Individual teams have have dedicated tasks, which leads to
    inefficient collaboration

DevOps Tools

To implement DevOps and work within the DevOps life cycle, following
tools
required

devOps_tools

  1. Code:
    For Source-Code Management (SCM) ,version control tools such as Git,
    GitHub, Subversion, TFS, and Mercurial are used.
  2. Build:
    For automating the build process of an executable application from
    source code, software build tools such as Maven, Gradle, Ant, and
    Grunt are used.
  3. Test:
    In the continuous testing phase, the built software is continuously
    tested for bugs using testing tools such as Selenium, TestNG, and
    JUnit.
  4. Release:
    CI/CD pipelines are created for procuring updated source code and
    constructing the build into
    .exe format using tools such as Jenkins.
  5. Operate:
    For deployment and operations phase, CMT and automation tools such as
    Jenkins, AWS CodeDeploy, Chef, Puppet, Ansible, and Terraform are
    used.
  6. Monitor:
    For monitoring system performance and productivity, to reduce (or even
    eliminate) downtime, monitoring tools such as Nagios are used.
  7. Deploy:
    For packaging an application with its required libraries, frameworks,
    and configuration files to efficiently run it in various computing
    environments, containerization tools such as Docker and Kubernetes are
    used.

Key Takeaways

  • DevOps is a set of practices and tools designed to shorten the life
    cycle of a
    software development process
  • Networking and cost-related issues, tools and software compatibility,
    and DevOps
    culture are a few challenges in traditional SDLC approach
  • Agile is an iterative development procedure that promotes constant
    iteration of development and testing all over the life cycle of a
    project.
  • Saas, PaaS, and IaaS are the three models of cloud computing services
    which help
    to implement DevOps in the cloud.
  • Continuous development, continuous testing, continuous integration,
    continuous
    deployment, and continuous monitoring are the five phases of
    DevOps.

Frame-252-1

Nitin Suvagiya

Nitin Suvagiya

He is working with Softqube Technologies as Director, since 2009. He has over 15+ years of experience in Microsoft Technologies, working as a CEO and also providing consultation in DevOps as he is DevOps certified. He has good expertise in UX/UI designing in any application.