Considering a Career in DevOps?
DevOps is a term you will have seen used a lot in recent years. Whether you’re a student planning their future, or an experienced developer or infrastructure engineer seeking a change of field, a DevOps career path can often seem like an enticing prospect. However, there is always one question on your mind- what exactly is DevOps?
The short answer is that there is no short answer. What exactly a DevOps team entails, and what work they specifically carry out, will vary organization to organization. There are, however, several common principles that run throughout the DevOps space whether you’re delivering complex investment management software for a Tier 1 Bank or working on the latest release of a popular mobile app for teenagers.
DevOps is fundamentally a way of thinking. Before the DevOps movement came to life, development and operations teams existed worlds apart. Rarely would they communicate beyond addressing specific problems. This lack of communication caused a whole host of issues, from bottlenecking to broken version releases to monumental delivery delays. Developers and Operations kept to their silos and practically ignored anything taking place outside them. Then DevOps came along.
DevOps is crucial to Agile and Lean environments. In the world envisioned by the DevOps movement silos are a thing of the past; an antiquated computing term thought of in the same way as dial up modems and floppy disks. In a true agile DevOps environment developers, sysadmins, business stakeholders, and anybody else with vested interest in successful delivery would work and operate as one team. There are always going to be differences, but this is the central axiom of the DevOps movement- multiple disciplines in one team can understand each other and speak the same language.
How can this be achieved? This is where the idea of DevOps being a mindset, being a methodology, comes into play. Generally speaking there are three principles to every DevOps environment:
- Collaboration
- Automation
- Continuous Everything
The principle of collaboration is self-explanatory by this point. The DevOps movement originated when the need to bridge the gap between Development and IT Operations became too apparent to ignore. This has since evolved though, and now collaboration within a DevOps environment encompasses not only Development and Operations but also QA’s and Business Stakeholders as well. Since DevOps, the idea of the lone programmer grinding away in solitude has almost become a thing of the past. It creates teams where previously there were groups of individuals sharing a common work environment.
Automation is another focal point of any DevOps engineer’s professional life. As far as technical and practical skills go, DevOps practitioners focus on one thing; tools, tools, and more tools. These can be built, brought, or open source, but these automation tools are the key to everything DevOps. Large toolchains that automate as much of the end to end development and deploy process as humanly possible are what have given DevOps the ‘must have’ reputation it currently enjoys.
The final principle, Continuous Everything, can be broken down into the realms of integration, testing, delivery, and monitoring. This is where DevOps shows itself to be an Agile methodology that has divorced itself from the old Waterfall-style ways of working. Continuous Everything means integrating code from different developers as it is completed, repeated testing at every stage of development, delivering a steady stream of updates as opposed to placing all your bets on a final build, and monitoring everything constantly. This seems like a lot of work, but when combined with the impetus to communicate and the construction of automation pipelines this rigorous addressing and redressing of every stage creates a streamlined SDLC free from bottlenecking, one that is fluid and adaptable.
Hopefully this has made the world of DevOps a bit clearer for you. From here your next step would be to look into specific tools such as Ansible or Jenkins, and more in-depth concepts such as containerization. One thing is for sure, DevOps is a unique career path and one that opens a great many doors, and the demand for DevOps engineers isn’t going to wane any time soon.