DevOps has a great boom in the enterprises.Enterprises are demanding people with DevOps skills because Devops is giving good growth to their company.Organizations are using DevOps because they are giving enormous high functioning.
Who created Devops?
At the Agile 2008 conference, Andrew Shafer and Patrick Debois presented on "Agile Infrastructure". The term DevOps was popularized through a series of "devopsdays" starting in 2009 in Belgium.
Who is DevOps Engineer?
A DevOps engineer is an information technology (IT) professional who works with software developers, system operators (SysOps) and other production IT staff to oversee code releases. The role calls for someone who has the necessary hard and soft skills that are required to overcome the traditional barriers between software development, testing and operations teams.
The DevOps Definition
If a DevOps engineer is a specific individual, it is typically an experienced engineer with experience in both development and operations. In addition to these traditional responsibilities, they are also expected to have business and interpersonal skills. More and more companies are hiring individuals with this specific title because they see the value of having one person in charge of DevOps implementation across the entire organization. This ensures that the entire delivery process is efficient and automated.
What are DevOps skills?
The top three skill areas for DevOps staff:
- Coding or scripting
- Process re-engineering
- Communicating and collaborating with others
These skills all point to a growing recognition that software isn’t written in the old way anymore. Where software used to be written from scratch in a highly complex and lengthy process, creating new products is now often a matter of choosing open source components and stitching them together with code. The complexity of today’s software lies less in the authoring, and more in ensuring that the new software will work across a diverse set of operating systems and platforms right away. Likewise, testing and deployment are now done much more frequently. That is, they can be more frequent — if developers communicate early and regularly with the operations team, and if ops people bring their knowledge of the production environment to design of testing and staging environments.
Discussion of what distinguishes DevOps engineers is all over blogs and forums, and occurs whenever technical people gather. There’s lots of talk, for example, about pushing coders — not just code — over the wall into operations. Amazon CTO Werner Vogels said in an interview that when developers take on more responsibility for operations, both technology and service to customers improve.
"The traditional model is that you take your software to the wall that separates development and operations, and throw it over and forget about it. Not at Amazon. You build it, you run it. This brings developers into contact with the day-to-day operation of their software. It also brings them into day-to-day contact with the customer."
The resulting customer feedback loop, Vogels said, "is essential for improving the quality of the service."
Longtime developer and entrepreneur Rich Pelavin of Reactor8 also sees benefits from DevOps culture in terms of increased responsibility for everyone: "I’ve seen organizations where engineers get beepers, so they’re the ones who get beeped if it goes wrong [in deployment]. That pushes them into the rest of the software lifecycle. I think that’s a great idea." That's a real change from non-DevOps environments, where developers make their last commits and head home...or to the ping-pong table.
What is a DevOps engineer, anyway? And should anyone hire them?
There’s no formal career track for becoming a DevOps engineer. They are either developers who get interested in deployment and network operations, or sysadmins who have a passion for scripting and coding, and move into the development side where they can improve the planning of test and deployment. Either way, these are people who have pushed beyond their defined areas of competence and who have a more holistic view of their technical environments.
DevOps engineers are a pretty elite group, so it’s not surprising that we found a smaller number of companies creating that title.
If DevOps is understood primarily as a mindset, it can get awfully fuzzy. But enough people are attempting definitions for us to offer this 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
Even with broad agreement about core DevOps attributes, controversy surrounds the term “DevOps engineer.” Some say the term itself contradicts DevOps values. Jez Humble, the co-author of Continuous Delivery, points out that just calling someone a DevOps engineer can create a third silo in addition to dev and ops — "...clearly a poor (and ironic) way to try and solve these problems." DevOps, he says, proposes "strategies to create better collaboration between functional silos, or doing away with the functional silos altogether and creating cross-functional teams (or some combination of these approaches)." In the end, Humble relents, saying it’s okay to call people doing DevOps by that term, if you really want to.
Comments
Post a Comment