DevOps Series – November 2016

DevOps Series – November 2016

Do you feel you are moving in the right direction in becoming a successful DevOps Engineer? Are you getting the correct exposure to new emerging technologies that will lead you into the DevOps space? Specialising in just DevOps I would be asked many of the same questions on a frequent basis. Over the past few months I have narrowed these queries down to seven core questions which I believe answering, would benefit my network. For the November series I spoke with Hugh O’Brien – a DevOps Engineer for Jet.com who specialises in software development, infrastructural change and software delivery. Hugh took the time to answer our questions, and in doing so, offered a rich insight into the meaning and current state of DevOps: 

What is your definition of DevOps?

“Operations are responsible for smoothing over the physical reality of computing. Machines freeze, networks corrupt data, an out of synch clock prevents your cluster from ever agreeing on anything... All these are issues that pure software engineers tend not to think about. In some companies (though not at Jet) developers hand their code off to operation engineers, bugs and all, and leave it to them to run it in a production environment, a.k.a. 'the real world'. We think that the person who writes the code is the person who should bear responsibility for its real world operation, which means that every application developer becomes familiar with operational issues. DevOps, then, simply, is the role you get when you favour the operations side of this balance, and your target platform changes from an application run-time such as .NET to a cloud provider such as Azure.

But this is just the start, once people with development skills approach operational problems some very novel techniques begin to emerge. Gone are the days of manually configuring servers, DevOps engineers have programmed and automated all of that away. Gone are the days of inspecting log files, automatic alerts and log aggregation are the norm. New technologies such as application containerisation, continuous integration and software defined infrastructure couple well with this trend and elevate the DevOps field to a whole new level.”

How has the cloud helped DevOps evolve?

“The Cloud forces a different perspective on hardware, namely that it stops being viewed as material and inflexible and starts to be seen as on-demand and infinite. The scales we reach now would not be possible without such elastic capacity, but with this outgrowth comes management overhead. The tools and techniques for automated management of resources of this type, especially given the inherent unreliability of cloud resources are still young, so DevOps has a long way to go, but the future is bright. DevOps and the cloud are two sides of the same coin. At least until we automate ourselves out of the job.”

What is your biggest challenge day-to-day?

“Partial failures. Machines that freeze or break cleanly are easy to spot, those that are mis-configured or have gotten themselves so utterly confused that they report as okay but do as they please are the hardest to track down. In a service architecture, this can be mitigated by each service stringently testing the services it relies upon, but that is a discipline that takes time to introduce, and very few software systems today are tolerant of partial failures.”

What tools do you like working with? Why?

“We use Ansible extensively, we aim to reach the stage where we never have to manually connect to a machine to configure it, all such configuration is in role files, version controlled and subject to peer review. In addition we've been enjoying working with the Go language as it fits the operational aspect of DevOps quite well.”

What problems are a company looking to implement DevOps likely to face?

“Lack of knowledge. DevOps is a new skill, with many attempting to make the transition with relatively little large scale operational experience. The skill set is small, but growing, thanks to the publication of a few well researched and highly influential books, such as the Google SRE book. In addition, companies may not realise just how significant a change to their existing software structure is required to operate on the cloud. For many use cases, it is neither efficient nor worthwhile, but if your company's revenue depends directly on your ability to reach millions of concurrent users, there is simply no other option. And the lack of a core DevOps team translates to a lack of a business.”

What advice would you have for people looking to build a career in this area?

“Read. Study. Read. Study. Investigate the various accreditations available from the likes of Amazon, but beware how much vendor-specific knowledge you may end up with. The fundamentals are always best. The Google SRE book is a must read, and make sure you know the ins and outs of OpenSSH.”

What helps more? Coming from a development or an operations background?

“Before DevOps ramped up, operations was the more useful skill, but at the level and scale we now operate in, development skills are key. Obviously, both are needed, and if you can't tell your inodes from your ICMP you're going to be in trouble, but once you have that Ops knowledge, you need your development skills to really put it to use. Otherwise you're just banging away on a keyboard, once machine at a time.”

On behalf of Morgan McKinley I would like to thank Hugh O’Brien and Jet.com for taking the time to speak with us as part of our DevOps Series - November 2016. If you would like to speak with myself about the content of this article or are interested in finding a role in the DevOps space, please contact myself via the details below.

Mark Lynch

mlynch@morganmckinley.ie

01 4485 675


Hello Mark, I am from Qa background and I really want to become a devops enginer and therefore I need proper study material which will help me to achieve my goal. Could you please guide and provide me the proper content of Devops.

Like
Reply

To view or add a comment, sign in

Others also viewed

Explore content categories