Thursday, March 1, 2018

DevOps Basics We Need to Know

I took little longer to publish as I was trying to figure on how to make the blog as crisp and meaningful as possible.


DevOps has become an overloaded buzzword everyone understands it in their own ways. That is one biggest challenge we face when we are trying to understand about it.
Let's not waste the time, we will understand some W's & H's of DevOps.


What is DevOps
DevOps is a set of practices that combines software development and information-technology operations which aims to shorten the systems development life cycle and provide continuous delivery with high software quality.

DevOps is an IT mindset that encourages communication, collaboration, integration and automation among software developers and IT operations in order to improve the speed and quality of delivering software.

It is a set of practices that combines software development (Dev) and information-technology operations (Ops) which aims to shorten the systems development life cycle and provide continuous delivery with high software quality. Figure below will make it clear -
 Related image

When did DevOps started (from Wiki)

In 2009, the first conference named devopsdays was held in Ghent, Belgium. The conference was founded by Belgian consultant, project manager and agile practitioner Patrick Debois. The conference has now spread to other countries.

In 2012, the State of DevOps report was conceived and launched by Alanna Brown at Puppet. As of 2014, the annual State of DevOps report was published by Nicole Forsgren, Gene Kim, Jez Humble and others. In 2014, they found that DevOps adoption was accelerating. Also in 2014, Lisa Crispin and Janet Gregory wrote the book More Agile Testing, containing a chapter on testing and DevOps.

Now, lots of preacher of DevOps are available across globe.

Where did DevOps Come From or call it Originating from
DevOps is the offspring of agile software development – born from the need to keep up with the increased software velocity and throughput agile methods have achieved. Advancements in agile culture and methods over the last decade exposed the need for a more holistic approach to the end-to-end software delivery lifecycle.

Add more about Agile S/W Development - It is an umbrella term for several iterative and incremental software development methodologies. The most popular agile methodologies include Scrum, Kanban, Lean Development and Extreme Programming (XP).

Some scaling agile methods
  1. SAFe - Scaled agile framework (the most popular)
  2. LeSS - Large-Scale Scrum
  3. Nexus Framework
  4. DAD - Disciplined Agile Delivery 
What Is the Goal of DevOps?
Improve collaboration between all stakeholders from planning through delivery and automation of the delivery process in order to:
  1. Improve deployment frequency
  2. Achieve faster time to market
  3. Lower failure rate of new releases
  4. Shorten lead time between fixes
  5. Improve mean time to recovery 
  6. many more...........

What Are the Values of DevOps?
DevOps focuses heavily on establishing a collaborative culture and improving efficiency through automation with DevOps tools. While some organizations and people tend to value one more than the other, the reality is it takes a combination of both culture and tools to be successful.

The two DevOps values. -

DevOps Culture - DevOps culture is characterized by increased collaboration, decreasing silos, shared responsibility, autonomous teams, improving quality, valuing feedback and increasing automation. Many of the DevOps values are agile values as DevOps is an extension of agile.

Agile methods are a more holistic way of delivering software. Agile development teams measure progress in terms of working software. Product owners, developers, testers and UX people work closely together with the same goals.

DevOps is just adding the operations’ mindset and maybe a team member with some of those responsibilities into the agile team. Whereas before DevOps progress is measured in terms of working software, with DevOps progress is measured in terms of working software in the customer’s hands.

To achieve this, Dev and Ops must break down the silos and collaborate with one another, share responsibility for maintaining the system that runs the software, and prepare the software to run on the system with increased quality feedback and delivery automation.

DevOps Tools 
DevOps tools consist of configuration management, test and build systems, application deployment, version control and monitoring tools. Continuous integration, continuous delivery and continuous deployment require different tools. While all three practices can use the same tools, we will need more tools as we progress through the delivery chain

We need to know DevOps Practices

DevOps best practices:
  1. Continuous Integration 
  2. Continuous Delivery
  3. Infrastructure as Code
  4. Monitoring and Logging
  5. Communication and Collaboration
DevOps Practices to Scale up your Business | IT Outsourcing

What are the Advantage of DevOps?

By creating a more responsive development environment that is closely aligned to business requirements and which removes human error from the project lifecycle, DevOps enables organizations to:

  • Reduce the implementation time of new services from months to minutes
  • Increase productivity of business and IT teams
  • Save costs on maintenance and upgrades, and eliminate unnecessary capital expenditure
  • Standardize processes for easy replication and faster delivery
  • Improve quality, reliability and reusability of all system components
  • Increase the rate of success for digitalization strategies and transformation projects
  • Ensure that money invested in cloud infrastructure, analytics and data management are not wasted

Recent Post

The Kybalion - Hermetic Philosophy

The Kybalion is a book written by three anonymous authors in the early 1900s. It was originally published as a pamphlet and later released a...