Addteq's CTO, Himanshu Chhetri, had the opportunity to guest speak during Electric Cloud's webseries, Continuous Discussions (#c9d9). This week's subject was Creating an Internal Dev/Test Cloud. See the link for a full recap and to learn more about Continuous Discussions.
Continuous Discussions (#c9d9) is a web-series of community panels about Agile, Continuous Delivery and DevOps. Continuous Discussions is a community initiative by Electric Cloud, which powers Continuous Delivery at businesses like SpaceX, Cisco, GE and E*TRADE by automating their build, test and deployment processes.
During the discussion, Himanshu and the other panelists were asked the main question that generated the episode's discussion: "What are the challenges and prerequisites for enabling a self-service shared platform for your software delivery pipeline across dev and test?" From there the discussion took off and each panelist had their opportunity to express their interest, or negative outlook, on a particular subject.
Creating a DEV/TEST Cloud is a crucial step in creating a complete CI/CD process. As many teams understand, in order to speed up feedback loops and lower infrastructure costs, many software teams create Dev/Test Clouds. The panelists on this episode agreed that creating a Dev/Test Cloud is crucial to infrastructure developments. In the Dev/Test Cloud developers are able to scale their build infrastructures easily.
The main problem with creating a Dev/Test Cloud is when part of the organization is on-prem and the other part is on the cloud. Then the problem arises when a system is required to handle those two instances. This becomes a very difficult process and is not easy to manage. The other challenge that can come up when creating a Dev/Test Cloud is when Data Center has just been moved to the cloud. If the Data Center move was fairly recent, the issue of processes not being updated and SLA updates not being reflected can cause major issues for both the development and client facing ends. Traditional operational tasks become more complicated when this happens.
There are many factors that should be considered before creating a Dev/Test Cloud. The first action item is to think about the day to day tasks and use cases of the various software teams involved. Then there are a few questions to ask yourself that will help in organizing and on-boarding teams onto the Dev/Test Cloud once it is created. Some of those questions include:
Some major use cases for the software teams include reviewing code within a certain branch and the ability to spin up an environment with the code from a certain branch. That environment that is created should be used to review all code changes.
There are many important factors that need to be considered prior to creating a development test cloud.
Now that all of the aspects that are required before creating a Dev/Test Cloud are complete, we can now discuss how to create one!
The key to creating a Dev/Test Cloud is to be able to make solid decision on the solution you will adopt going forward. "The solution needs to be adaptive, you don't want to be too tied to a particular solution, you want to minimize inertia if possible," Himanshu Chhetri, CTO of Addteq.