Many apps today send you updates almost every other day. That wasn’t possible a few years ago. Updates then used to happen once in six months, one year, sometimes more. What made it possible to do frequent updates is what is called DevOps.
In its essence, it is the coming together of development and operations teams, hence the name DevOps. DevOps engineers work across the entire application lifecycle, from development and test to deployment to operations.
“DevOps is an approach where you bring together a whole lot of automation and some of the best practices to achieve better collaboration and release your software much faster without compromising on its security and stability,” says Pranesh Vittal, associate director of database & DevOps at online pharmacy Medlife. Vittal and Ashwin Murali, who focuses on DevOps at customer support automation platform Verloop, were our guests at the Times Techies Webinar last week. The two are highly accomplished DevOps engineers.
DevOps is valuable especially for companies that are scaling fast. Automation is a key part of DevOps, since it’s important to automate repetitive tasks to speed up processes. So it’s also important for DevOps engineers to know automation and other tools.
But Murali and Vittal say DevOps is just not only about tools. “You need to change culturally to accept a DevOps team,” says Murali. A DevOps team, he says, will make changes that may result in outages. “So you need to remove the fear of failure. Unless the engineering management says it’s okay we crashed, that we can use the experience to build in order to prevent crashes in the future, your DevOps ecosystem won’t be able to deliver rapid growth. The tools will help you if you’re culturally prepared to evolve,” he says.
In his company, if someone finds that there’s a grammar mistake in a sentence, and if correcting that improves the customer experience, he can fix the error in minutes. “My team is lean. The developer corrects the grammatical error, pushes the code out, automation kicks in, the QA (quality assurance) signs off, and two minutes later, it’s in production,” he says.
Build broader understanding
Vittal says DevOps engineers must also have good knowledge of operating systems, networking, middleware, database, the build pipeline, good trouble-shooting skills. Murali adds that such engineers should know the foundations of at least one cloud well, “because eventually you will end up working on the cloud.”
This broader understanding is key to be able to do things fast. Vittal and Murali say engineers in other areas can transition to DevOps if they can build this broader understanding.
Both feel that commercial DevOps training courses tend to focus on tools, and that’s not very worthwhile. “By focusing on tooling, you’ll let go of the fundamentals. And you’ll be left with a set of tools that will be replaced by another set of tools. To me, that is a lot of waste of time as an engineer,” Murali says.