Effective Transition to Remote Working for DevOps
Covid-19 has left things in disarray for Agile development teams. Sudden transition into a remote working structure has baffled the blended approach to DevOps which combines work culture & automation tools. The lack of contact work will start by striking your work culture first & then affect infrastructure & tools. It becomes imperative for your operative modes to adapt to the new normal. We’ve covered both these areas of Agile practices, so you don’t incur the cost of inflexibility.
Keeping Things Continuous
Everything in DevOps is continuous. Code integration, delivery through testing, reviews and deployment to end users. The primary concern for a DevOps team would be to keep things continuous during the transition to this new work environment.
A lot of DevOps teams have an on-premise environment or a mix of cloud based and on-premise but with this shift, migrating to cloud solutions is a necessity. In fact, some suggest this mass cloud migration is a switch that will stay.
You could either go for a private virtual machine vendor like VMware’s vCloud or you can choose the popular services like AWS or Azure.
Icertis is one of the companies that realized the importance of the on-premise to cloud migration to enable their DevOps to function without hassle. They used Azure’s Site-to-Site and Point-to-Point VPN functionalities to quickly solve their problem.
Their processes entailed three primary steps
- Duplicate the on-premise network with Azure’s VPN
- Give this access to end-user employees and remove bottlenecks of office connections
- Enable Virtual Desktop Infrastructure to replicate their work environment while also removing bottlenecks of home connection.
Azure isn’t the only service that helps with this migration, AWS has similar features as well.
This is a short-term solution compared to a multi-cloud migration but it’s cheaper. When it comes to AWS and Azure, If you play it smart, you can save up a lot of money too.
Automated Testing Tools
There’s an abundant list of tools offered and a lot of factors to consider. For one, there’s a lot of testing strategies that can be automated and tools don’t come cheap. Continuous testing is a prerequisite for continuous delivery. Manual code review takes time and is prone to errors. Now, with everyone at their home juggling between their work and life, manual testing is the last thing you need to adopt.
Some smaller companies opt to write their own test automation scripts but, again, if you’re going that route in this circumstance, that would be adding more pressure to the already hectic DevOps work cycle.
Zephyr and IBM Rational are two very popular testing tools but if it’s necessary, you can look into open source tools like Selenium and Watir.
No Compromises in Security
Continuous Security isn’t in the definition of DevOps but this pandemic has increased vulnerability. Sacrificing security for throughput is the equivalent of standing in the line of fire naked. Make sure you have your security policies updated for application deployment and integrate security checks to every phase of your automated testing.
OWASP’s very own ZAP is a popular open source tool for automated security testing. You can find code vulnerabilities with Veracode. Contrast security helps identify issues during runtime. AWS and Azure have their own tools for checking if there are any vulnerabilities in your architecture. Evident.io on the other hand, can help you out if you use a private server vCloud.
DevOps by nature increases the need for stricter Identity Management policies but with the fragility of how remote work is distributed among employees, it is vital you create more concrete plans on who has access. Make sure you don’t slow things down by restricting the process. Automating password management, identity lifecycles and finding rogue accounts in the infrastructure reduces the chances of vulnerabilities through human error.
Identity automation is a popular service that offers all these facilities. OneLogin excels in password management and finding rogue accounts via Vigilance AI.
Changing the Culture
So now you’ve got your tools and resources sorted out. Enough tools to take the workload of your team but not too much that you are crippled financially. The adjustments you make to keep yourself afloat financially has to be compensated by boosting the work culture between the DevOps team to be highly productive yet flexible for individuals.
Easier said than done, but there are some guaranteed practices you can focus on.
Collaboration & Communication Frequency
Collaboration is what made DevOps such a popular method of product development. Reinforcing this aspect of DevOps is the first step to avoiding bottlenecks in your project. Combine tools such as Jira or Kanban with communication channels like Slack to organize work and distribute them effectively between members. Keep frequent communication to encourage the collaboration process and resolve any issues with dependency.
Avoid Individual Specialization
You don’t want your team to be split according to specializations, work distribution should be done by employing a work queue so that all of the members can participate in any given task.
The last thing you need is for one member to have his work on hold because of family issues and that blocking everyone else’s progress.
Quantify the Progress
Documenting the task to be done and even each phase of one task creates a timeline for management to keep track of progress which also allows team members to know where everyone is at. Using tools like Slack, Trello, Jira, etc helps to keep track of work through simple documentation channels. Users can revisit anything they’ve missed by checking the history.
Judge based on results
Focusing on consistent activity will not yield better output from your employees. In these tough times, scrutinizing workers over how long they’re online on Slack or how they aren’t looking busy can negatively affect the progress. Instead, focusing on how they’re progressing with the tasks they’ve laid out for themselves can give you an idea of their work-rate.
Take up the Back-Burner projects
The way things are, it’s wiser to not go for further innovations. Instead, prioritizing on back-burner projects that were being held off on can help your organization out in the long-term. Identify which of these projects can hold better ROI and split your priorities accordingly.
A healthy shift in priority between automated tools and work culture has always been the factors that decide DevOps success and even in this circumstance, it remains the same. It is no secret that people are panicking. One look at r/devops and you might catch some freight yourself. However, plan your changes accordingly and not only will you survive this but it can reap benefits for the long term success of your organization.