As DevOps starts to mature with the help of CI and CD tools, roles and responsibilities continue to shift. For developers, this evolution into DevOps culture provides an opportunity to gain more perspective on how every decision impacts the software lifecycle. Along with that greater knowledge comes the power to produce better software at a higher velocity than ever before.
The left shift in DevOps is real
Recent innovations in technologies and tools may relieve pressure on Ops by giving developers a better way to approach everything from testing to deployment. For example, containers promise to give Devs a way to Package Once, Deploy Anywhere, ensuring that Ops receives fully portable images that can run in virtually any environment.
Arun Gupta, Java Champion and VP of Developer Advocacy at Couchbase, pointed out that simplifying the workflow helps teams take joint responsibility for success instead of making every issue someone else’s problem. “Containerization reduces the disconnect between development and staging. Right now, you may have something that works on a laptop but fails in Ops. It’s not uncommon for Development to place the burden on Ops to fix the problem.” With solutions like Docker, it is possible to preempt issues by incorporating a solution that works from development through testing, staging, and production.
On the tooling side of the equation, performance is also becoming a part of the Dev purview. Alon Girmonsky, CEO of Blazemeter, believes Dev should have the ability to address issues like scalability and load testing head on. “We want to democratize performance testing. Metering has traditionally been on the Operations side. Today’s tooling enables everyone to test for performance. This way, everyone is empowered to improve performance.”
Rather than being something that is considered at the end of a release cycle, performance testing gets baked in. Developers can easily create unit tests for performance because they know the desired parameters before they even start coding. More visibility in the early stages prevents later bottlenecks since developers don’t have to wait for the performance team to script tests.
With the left shift, where is the Ops in DevOps?
Even with the emergence of tools and services that make operations such as scaling fairly simple, Chad Arimura, Co-Founder & CEO at Iron.io, provided assurance that DevOps is still just as much about Ops as Dev. “With higher level cloud services on AWS like DynamoDB, you can scale up without worrying about physical infrastructure. But Operations is always an important part of the team. We don’t want developers to create something and then just throw it over the wall to deploy. They need to work together to build scalable applications regardless of the underlying architecture.”
Ops also retains a great deal of responsibility for processes build and deployment automation, monitoring, and configuration. While tools like Jenkins Pipeline and Amazon Cloudwatch can help make some tasks easier, Operations teams are faced with fresh challenges in managing multi-cloud environments and an ever-expanding application portfolio. As organizations get more done faster with a wider variety of resources, Ops will have the opportunity to innovate in the areas of infrastructure and lifecycle management, bringing even more value to the DevOps team.
Security seeks to join DevOps at the table
Late stage stakeholders are seeking to have a voice earlier in the design and development of software as well. Joshua Corman, Director of the Atlantic Council’s Cyber Statecraft Initiative, spoke his mind at the DevOps Enterprise Summit. “The IT security community has realized that security is dead. We can’t keep doing it late in the market, at end stages, bolted on.” That wasn’t a message of despair. Instead it opened up a much needed conversation about what comes next. “Maybe this is a good thing. DevOps was so transformational and delivered so much value that we knew we had to get in front of it. More than that, we had to become a third participant that was driving value with them.”
In Corman’s view, CI and CD should not have the goal of simply increasing the speed of delivery. “It’s not about going faster and doing more deployments a day. It’s about delivering value. This takes into account speed, quality, compliance, sustainability, and maintainability. We need to look at net innovation rather than raw innovation.”
For teams that rely heavily on open source, which includes basically every software development team on the planet, code hygiene and smart sourcing will make it possible to finish more projects on time and on budget to capture market advantage. DevOps will directly benefit by spending less time on unplanned, unscheduled work.
Corman recommends that software teams select fewer and better open source suppliers, ensure that only the most recent code versions are used, and keep track of which code ends up where. With as much as 90% of code in a typical project coming from third parties, it is evident that Security must have a voice in DevOps table to institute best practices that speed development while protecting against threats. Prepare to see the evolution continue as the DevOps of tomorrow is sure to be DevOpSec.
How to become a Jenkins expert
Struggling to learn Jenkins? Check out these great, step-by-step Jenkins CI tutorials. They’ll make you a Jenkins CI expert in not time.
Step 1 — Download Jenkins and install the CI tool
Step 2 — Create your first Jenkins build job tutorial
Step 3 — Inject Jenkins environment variables into your scripts
Step 4 — Fix annoying Jenkins plugin errors
Step 5 — Put the Jenkins vs Maven debate behind you
Step 6 — Learn to use Boolean and String Jenkins parameters
Step 7 — Do a Jenkins Git plugin GitHub pull
Step 8 — Add knowledge of basic Git commands to your DevOps skillset