CloudxLab

Monday, June 20, 2016

What is DevOps

Prior to DevOps



Prior to DevOps application development, teams were in charge of gathering business requirements for a software program and writing code. Then a separate QA team tests the program in an isolated development environment, if requirements were met, and releases the code for operations to deploy. The deployment teams are further fragmented into siloed groups like networking and database. Each time a software program is “thrown over the wall” to an independent team it adds bottlenecks.


The problem with this paradigm is that when the teams work separately:


  • Dev is often unaware of QA and Ops roadblocks that prevent the program from working as anticipated.
  • QA and Ops are typically working across many features and have little context of the business purpose and value of the software.
  • Each group has opposing goals that can lead to inefficiency and finger pointing when something goes wrong.
  • DevOps addresses these challenges by establishing collaborative cross-functional teams that share responsibility for maintaining the system that runs the software and preparing the software to run on that system with increased quality feedback and automation issues.


DevOps 



DevOps is not based on stringent methodologies and processes: it is based on professional principles that help business units collaborate inside the enterprise and break down the traditional silos. The guiding principles of DevOps include culture, measurement, automation and sharing.

list of core DevOps attributes:

* Ability to use a wide variety of open source technologies and tools
* Ability to code and script
* Experience with systems and IT operations
* Comfort with with frequent, incremental code testing and deployment
* Strong grasp of automation tools
* Data management skills
* A strong focus on business outcomes
* Comfort with collaboration, open communication and reaching across functional borders

The Agile community, acronym CAMS - Culture, Automation, Measurements and Sharing.

DevOps  Skill High level Requirement




   Source Code Repository Management
Popular source code repository tools are Git, Subversion, etc

   Build Server
The build server is an automation tool that compiles the code in the source code repository into executable code base. 
Popular tools are Jenkins, SonarQube, etc

   Configuration Management
Configuration management defines the configuration of a server or an environment. 
Popular configuration management tools are Puppet, Ansible, Chef.

   Infrastructure
Baremetal, VMware vCloud and/or Amazon Web Services and Microsoft Azure virtual infrastructures. Virtual infrastructures are provided by cloud vendors that sell infrastructure or platform as a service (PaaS), have APIs to allow you to programmatically create new machines with configuration management tools.
OS can be Linux, Windows, Unix, Mac OS.


   Test Automation
DevOps testing focuses on automated testing within your build pipeline to ensure that by the time that you have a deployable build, you are confident it is ready to be deployed. You can’t get to the point of continuous delivery where you’re fairly confident without any human intervention that your code is deployable without an extensive automated testing strategy.  
Popular tools are Selenium and Water.


   Monitoring
monitoring solution that is highly effective because of the large community of contributors who create plugins for the tool, 
Popular tools Nagios, Icinga, 


   Containers
quick and painless continuous delivery of your software to production, applications can reuse the libraries and share the data between containers.Popular tools docker, mesos, Kubernetes 

   Pipeline Orchestration
A pipeline is like a manufacturing assembly line that happens from the time a developer says, “I think I’m done,” all the way to the time that the code gets deployed in the production or a late-stage pre-production environment.
This is the complete process of developing, testing, staging, deploying, monitoring

DevOps Flow

DevOps  History


The Incredible True Story of How DevOps Got Its Name
fredric@newrelic.com' By Fredric Paul • May. 16th, 2014 • Tech Topics
DevOps

Source: https://blog.newrelic.com/2014/05/16/devops-name/
Youtube: https://www.youtube.com/watch?v=o7-IuYS0iSE

Here’s the inside story, as recounted by Damon Edwards in his The Short History of DevOps YouTube video:

Basically, the timeline goes something like this:

2007: While consulting on a data center migration for the Belgium government, system administrator Patrick Debois becomes frustrated by conflicts between developers and system admins. He ponders solutions.

August 2008: At the Agile Conference in Toronto, software developer Andrew Shafer posts notice of a “birds of a feather” session entitled “Agile Infrastructure.” Exactly one person attends: You guessed it, Patrick Debois. And he has the room to himself: Thinking there was no interest in his topic, Andrew skips his own session! Later, Debois tracks down Shafer for a wide-ranging hallway conversation. Based on their talk, they form the Agile Systems Administration Group.

June 2009: At the O’Reilly Velocity 09 conference, John Allspaw and Paul Hammond give their now-famous talk entitled, “10+ Deploys a Day: Dev and Ops Cooperation at Flickr.” Watching remotely, Debois laments on Twitter that he is unable to attend in person. Paul Nasrat tweets back, “Why not organize your own Velocity event in Belgium?”


10+ Deploys Per Day: Dev and Ops Cooperation at Flickr from John Allspaw
October 2009: Debois decides to do exactly that—but first, he needs a name. He takes the first three letters of development and operations, adds the word “days,” and calls it DevOpsDays. The conference doors open on October 30 to an impressive collection of developers, system administrators, toolsmiths, and others. When the conference ends, the ongoing discussions move to Twitter. To create a memorable hashtag, Debois shortens the name to #DevOps. And the movement has been known as DevOps ever since.
(Disagreement about the spelling remains, however. The predominant usage is “DevOps,” but a vocal minority—including founder Debois—advocate “Devops.” And true to DevOps’ spirit of lively debate, a few argue for eliminating capital letters altogether, as in “devops.”)

In an InfoQ video interview from April 2012, Debois admitted that naming the movement was not as intentional as it might seem: “I picked ‘DevOpsDays’ as Dev and Ops working together because ‘Agile System Administration’ was too long,” he said. “There never was a grand plan for DevOps as a word.”

8 comments:

  1. Great blog.you put Good stuff.All the topics were explained briefly.so quickly understand for me.I am waiting for your next fantastic blog.Thanks for sharing.For more information visit : devops online training

    ReplyDelete
  2. this site is providing comprehensive knowledge for you to audience.
    Really very happy to say, your post is very interesting to read. I never stop myself to say something about it.
    DevOps Training in Chennai

    DevOps Online Training in Chennai

    DevOps Training in Bangalore

    DevOps Training in Hyderabad

    DevOps Training in Coimbatore

    DevOps Training

    DevOps Online Training

    ReplyDelete