Platform.sh announced it has partnered with MongoDB.
DEVOPSdigest posed the following question to the development community: How should DevOps and development adapt to the new normal? In response, DevOps industry experts offered their best recommendations for how development teams can adapt to this new remote work environment. Part 4 covers testing, automation, SAAS and more.
Many organizations that had business continuity or disaster recovery plans in place prior to the pandemic quickly realized they had not been tested sufficiently. As DevOps teams adjust strategies to embrace the new normal, an increasing emphasis should be placed on testing to prepare for future crises. Teams must ensure applications are equipped to maintain service delivery and avoid any performance bottlenecks.
Sr. Marketing Manager, ManageEngine
Context switching, a back-and-forth development pattern of switching between fixing bugs in various application features as they are tested, is one of the biggest challenges for remote DevOps and testing teams. DevTestOps, an emerging software practice, avoids context switching by enabling testing and DevOps teams to collaborate cohesively.
VP Tech Center of Excellence, Cyara
SHIFT TESTING LEFT
COVID-19 has dramatically amplified several existing trends and needs across teams. For DevOps teams, engineering lifecycles have to be able to increase cadence and shift testing left to avoid dependence on time-consuming integration testing before deployment if they are to be competitive in the rapidly evolving COVID digital commerce world.
Division President, Amdocs Technology
CONTINUOUS AUTOMATED TESTING
Continuous automated testing throughout software lifecycles allows developers to validate software designs and features as they are built as well as evaluate the end-user experience. Automating testing reduces risk of human error, which can be challenging in remote environments. Further, we learned that automation of testing is one of the easiest DevOps solutions to implement — meaning it provides a high ROI.
VP Tech Center of Excellence, Cyara
The tools development teams use must integrate as much automation as possible to accelerate processes and feedback loops. Automating as much of your software delivery process isn't only the path to Continuous Delivery and scaling DevOps, but is now even more critical as teams need to enable the flow of value across increasingly distributed systems and stakeholders. Now more than ever, manual handoffs and clunky processes would greatly hinder syncing between teams and between different stages in the pipeline and delay delivery.
Chief Product Officer, JFrog
What's especially true this year, but is really always true for development teams, is that they must up their game: change will keep coming faster and workloads will keep getting bigger. Fundamentally rethinking how apps are developed will be key for DevOps' success not just to stay afloat in the new normal, but to stay ahead of whatever future change or disruption lies ahead. Automating some of the needless complexity of the traditional DevOps cycle represents a major opportunity for delivering that how. By applying AI-powered automation to improve security, scalability, architectural soundness, to eliminate technical debt, and to enable more adaptable applications, complex development projects are made more manageable, regardless of what challenges lie ahead.
Automation is always important to streamline office-based development, but with the inherent disconnect of remote work, it can make the difference between success and failure. As a rule, for remote work, anything that can be reasonably automated, should be automated. For example, you can automate uploads to different storage locations and then integrate them as part of the build process, setting up an email notification for when the upload is complete. Time-saving tricks like these utilized by numerous development teams really adds up.
The new normal is driving enterprises to increase their emphasis and reliance on digital capabilities. Development teams will see mounting workloads and pressure to deliver more, better, faster. Based on an EMA 2020 DevOps survey, enterprises see AI/ML as an important ingredient in driving benefits across all of DevOps. Two important findings included the ways that ML is driving increased quality and automation. Machine learning uses feedback from human response data, experiences, and actions to improve future machine-based decision-making and actions. The result is improved application quality which has a downstream positive impact on application performance, reliability, OpEx efficiencies, and customer satisfaction. ML is driving process improvement and enabling a transition from human-based to machine-based decisioning and actions. This in turn means higher levels of automation and benefits including improved speed in delivering or updating apps, improved employee productivity, and reduced SDLC cycle time. Enterprise commitment to AI/ML is extraordinary despite the challenge of understanding AI/ML. Enterprises are now staffing in ways to address these challenges because they are convinced that AI/ML is driving the next generation of innovation in DevOps and provides an important way to address the new normal.
Stephen D. Hendrick
Research Director, Application Development & Management, Enterprise Management Associates (EMA)
Customers have become even more dependent on online and mobile services as quarantines and social distancing practices mandated during the Coronavirus, are driving increased digital engagements. Enterprises understand that they must accelerate their digital transformation initiatives — to rapidly and efficiently deploy new applications at the speed, scale and availability required for online services. Consequently, they will look for AI-driven solutions that can help simplify and optimize data operations and management to reduce manual overhead and errors, as well as lower TCO. Such solutions can monitor and learn resource usage patterns and optimally trigger autonomous processes such as scaling of resources to support planned and unplanned peaks to reduce overprovisioning. No-code capabilities that accelerate time-to-market will be preferred, and a stronger focus will be on more efficient roll-out of new applications.
VP of Marketing, GigaSpaces Technologies
DEMOCRATIZE ACCESS TO DEVOPS TOOL CHAIN
Building code remotely introduces many challenges, perhaps the largest of which is ensuring the reliability of new code. In order to adapt to this new normal, engineering teams need to both modernize and democratize access to the DevOps toolchain across their organizations to ensure that all devs/SREs/DevOps engineers have direct access and training on production monitoring. This makes them an equal partner not just in writing the code, but in operating it and ensuring its reliability. This is key to making sure that even during these strange times where teams are increasingly distributed, companies can deliver new code without allowing failures of communication or quality that compromise user experience and trust.
CTO and Co-Founder, OverOps
CLOUD CI TOOLS
Embracing cloud CI tools with a self-hosted agent approach allows developers to unify all testing and delivery pipelines, maintain high security, and access the powerful scaling APIs available on cloud platforms. Running workloads in your own cloud infrastructure means source code is kept safe within company firewalls, and developers maintain full control over the environments they run. At the same time, having a SaaS-based control plane and user interface allows for centralized and remote configuration and management, better integrations with other cloud tools, and a massively reduced maintenance burden.
Co-Founder and CTO, Buildkite
SELF-SERVICE SAAS TOOLS
The more frictionless that DevOps processes and communication can be, the more successful (and content) teams will be. But the shift to remote work — a permanent or semi-permanent change for many DevOps teams — will likely require purposeful tweaks to make that happen. IT leaders will want to embrace SaaS tools that enable and empower the transition to distributed workforces.
VP Consulting Services, Mission
Self-service access to DevOps tools offered as SaaS subscription in the cloud is crucial, as enterprises are now more limited with providing remote DevOps engineers reliable access to on-premise infrastructure or tooling. This is both due to the fact IT now has limited access to on-site resources with many businesses moving to WFH, as well as bandwidth and network bottlenecks consideration when all engineers need to access the same local source. To support remote teams worldwide, as well as enable developer productivity, IT needs to provide as much of the tools of the trade and dev/test environments as on-demand cloud services. This will reduce the management overhead to install and operate the complex DevOps toolchain itself and the environments that developers rely on, as well as ensure global coverage, scale, and self-service seamless experience.
Chief Product Officer, JFrog
DevOps teams need to ensure that the realities of the new normal do not negatively impact their developers' ability to continuously deliver on time. The overnight shift to remote work means that on-prem systems such as test environments with local devices that once sufficed are no longer adequate. Organizations should look toward cloud-based solutions for a scalable, secure, and accessible DevOps infrastructure.
The new normal for DevOps teams is to self-service much more of their data and storage management needs as core IT is also working remotely. This simply accelerates the shift for DevOps to orchestrate compute along with their data so that apps can run anywhere while avoiding the trap of data gravity. Compute is already easy to orchestrate in Kubernetes because it consumes serverless resources, elastic and disposable. Data will reach this same level of orchestration when it becomes storageless, untethered from storage infrastructure, and managed through the metadata to meet performance, protection, resiliency, and all the other concerns that come with persistent data. This idea of storageless data will finally put a nail in the data gravity cliché and unleash the untapped potential for DevOps agility promised by hybrid cloud and multi-cluster environments.
VP Product Marketing, Hammerspace
Ensure that all team members are capable of discovering, authenticating, and consuming known API infrastructure, capturing and understanding the shadow API traffic behind the mobile and web applications we depend on, while also being able to rapidly define, design, mock, document, test, then deploy APIs for a variety of situations without writing code.
Chief Evangelist, Postman
AVOID UNNECESSARY SOFTWARE UPDATES
Avoid software updates unless there's someone in the office. When development teams do standard software updates, they invariably go wrong. If you're in the office, it's an irritation, but if you're working from home and there is no one on hand to restart the affected machine, it can easily cascade into a serious productivity crisis. Try to avoid any unnecessary software upgrades or changes so as to not jeopardize your stable environment. If you must update, make sure that someone is in the office to manage unexpected issues.
Go to: How DevOps and Development Can Adapt to the New Normal - Part 5, the final installment in the series.