The development team needs to constantly QA the quality of their work as they go. That means they must spin up test environments on short notice and then tear them back down again. That’s why automation and orchestration are so critical to this group.
If spinning up a test environment requires the team to carve out LUNs, define policies, and work through myriad steps, then cycles slow down. If everything can be automated, then creating tests can be simplified to the point where development owns their footprint and avoids the IT queue.
Take one of our customers—a large technology company—for example. They spin up 1000 VMs every 15 minutes to test new versions of their desktop product, a process they call Constant Integration. As a result, they can test code in a simulated production environment as it is being developed by the engineering team.
Constant Integration is automated through the VMware vCenter API and the Tintri VMstore VAAI plug-in (which offloads cloning tasks to Tintri). With this automation in the backend, the customer created a front end console for the development team that they can use to analyze performance without having to contact IT. As a result, DevTest cycles have been shortened from five hours to less than 15 minutes.
Access to infrastructure
A key theme in the above two points is giving developers greater access to infrastructure, which is the driving force behind self-service and why so many providers are touting portals and similar products. But self-service only works when the complexity is abstracted away and actions are automated behind the scenes.
Anyone can leverage Amazon’s APIs to build a skill and allow users to engage their product via the Alexa agent. But if Alexa just reads out data that’s already available on your dashboard, there’s no value-add. The meaningfulness of the interaction is entirely dependent on the underlying product’s ability to provide guidance informed by analytics.
That’s what we’ve tried to show in our latest self-service video: a real use case, where the development team needs to spin up a test environment that requires permission. The underlying product is smart enough to find the decision-maker, simply articulate the impact, recommend optimizations, and then execute the request.
How can your business build and foster an agile development operation for DevOps?
If you are responsible for your organization’s infrastructure, then the DevOps team is almost certainly one of your most important (internal) customers. Your organization is counting on them to speed development cycles in order to get new ideas and products to market faster. And so you’ve got to ensure that infrastructure creates freedom, not friction.
If you are a member of the DevOps team, then you’ve got a mighty dependency on your organization’s infrastructure. Your organization is counting on you to focus your time and energy on agile development, not mundane management tasks. That’s why you absolutely have to care about the infrastructure behind your initiatives.
Both the infrastructure team and the DevOps team share a common interest – build and foster an agile development operation. And so more enterprises with fast-moving development teams are turning to Tintri to support their internal practices.
Iterative and evolutionary
While the agile methodology is founded on a number of principles, it is defined by an iterative, evolutionary approach to development. Groups of developers need to collaborate and respond flexibly to change—constantly checking in new code. That’s why it’s critical that virtual machines used for development and testing are identical to the virtual machines in production. This is where infrastructure can play a beneficial role.
Tintri ensures that child VMs are always automatically up-to-date, reflecting changes made to parent VMs. This copy data management capability is unique to Tintri because our architecture operates at the VM-level (child VMs buried within LUNs or volumes cannot be consistently refreshed). And should the development team need to roll back to a previous set of code for any of those individual VMs, Tintri lets them move through recovery points without losing any historical data.
The bottom line is that if you’re bent on building an agile development environment, infrastructure plays a primary role. Make sure your architecture makes full use of automation, analytics, and self-service.