Cloud – Based Test Dev. 101

Throw away clunky hyper-visors, and stop thinking about computer hardware and software license during your development projects.

The first thing you think about when you hear “The Cloud” may not be development and testing. The Cloudy market is filled with SaaS applications, hosting, and cloud-based file systems. All are very useful, and offer a clear value. However, development and testing in the Cloud is one of the easiest ways to actualize the benefits the Cloud can provide. By utilizing the Cloud for your development projects you immediately save time, maximize efficiency, alleviate frustration, and increase the overall value of your code.

All development projects start with a development environment. A development environment does not consist only of an IDE. It consists of hardware, operating systems, software licenses, APIs, and your favorite IDE. The challenges with local development environments are: 

1.) Costly infrastructure: Though the relative cost of computer hardware has dropped dramatically over the years, the cost of ad-hoc development machines is still considerably high. The reason for this is because development environments are not consumed the same as work machines are. There are additional costs associated with software licenses, high-performance hardware, more robust hardware, or pushing hardware limits with a local hyper-visor. Not to mention the opportunity cost associated with using a local machine as a development machine versus a line of business machine.

2.) Limited amount of resources: Most local development environments are not ideal, or remain useful for a limited time. For this reason developers find themselves with too little memory, too little processing power, and having to upgrade regularly. If the project is server related, most local machines are not capable of running server grade software, or applications without heavy hyper-visors.

3.) Environments are used for more than development: Unfortunately, it’s hard to justify dedicated hardware for development projects. Very often developers not only have their IDEs on a development machine. They also have their email clients, their favorite web browser, etc. This may interfere with the development environment. It can be avoided by having a local hyper- visor. However, this puts an even greater burden on the hardware and performance of the machine.

4.) Environment contamination: Because it’s hard to silo development environments, an environment is often contaminated with past projects, APIs, hot-fixes, or other software that could otherwise interfere with the development process. This contamination is often hard to spot when it causes issues, and a common instigator of extreme frustration.

5.) Transition to demo: Even when having a local development machine is successful, transitioning from development to testing, staging, demo, or production can be tricky. Often it’s not just a matter of copying code, it’s also necessary to make sure all pre-requisites are installed, configurations are correct, and the downstream environment is as identical to development as possible. This is often a manual process.

Having a local development environment in the past had only the real advantage of convenience and performance, but anymore this is not the case. Enter the Cloud:

1.) In the Cloud you get the latest hardware and performance: Cloud providers like CloudShare leverage the latest hardware and software. At CloudShare, we are able utilizing economies of scale to leverage the latest and greatest in high-performance hardware and software. Not only that we have put specific R&D effort into accelerating the performance of our hardware and the delivery to you over the internet. Leaving the user feeling like the machine is right in-front of them. Many users remark how using CloudShare virtual machines actually out-perform their local hardware.

2.) In the Cloud deploying pre-Installed licenses is easy: How many times has the completion of a software install slowed you down? The Cloud infrastructure allows cloud providers to pre-install critical software. At CloudShare, we identify for you the most common development environment software, and pre-install it for you. We pre-install the operating system, Office, SharePoint, Visual Studio, for example. We also offer Linux, Eclipse, and other common development environments. This means you have to spend zero time or effort thinking about software. Not only that the time it takes to install all that software is significant, with CloudShare we reduce the time dramatically.

3.) In the Cloud it’s easy to replicate and start over: Sometimes things go wrong in development, and often when they do the best thing to do is just start over. This can be extremely frustrating. In the Cloud, it’s easy, and frustration free. With CloudShare its four steps and 15 minutes, not hours, or days. If your development environment has gone sour, simple delete it, and start over with the same VM template, or a snapshot of a pervious version. Easy!

4.) In the Cloud you can silo development environments: Imagine how nice it would be to have one development environment per project. Keeping all configurations, and code separate. Allowing for multiple projects to go on at once without concern of interferences. With CloudShare, you can fully silo all your development projects with ease by creating a VM or even a complete environment for each project. This allows you to easily manage the progress of one project and keep projects from impacting each other.

5.) In the Cloud projects are contamination free: Now you can fully separate your local work machine from your development machines without the added overhead of a local hyper-visor. In CloudShare, you can separate your development tasks from all your personal and business applications. This prevents the use or existence of these applications from interfering with development. Not only that, one project’s pre-requests will not impair an others.

6.) In the Cloud you can scale on the fly: Use the hardware you need when you need it. You can toggle how many CPUs, how much memory, how much hard-drive space you need for your development environment. With CloudShare, if you need to max out hardware for performance testing, you don’t have to be committed to it like you are with a local machine. Simply throttle your hardware resources up and down as you need them.

The Cloud is now even better than you thought it was. It is not just about production business applications anymore. It’s a more efficient way to develop your applications. Throw away clunky hyper-visors, and stop thinking about computer hardware and software license during your development projects.

Chris Riley
Chris represents the coders and practitioners that use @CloudShare as technology evangelist. He fancies himself a technologist & and a recognized industry expert in Content Management, Information Architecture, BigData, Text Analytics, and Cloud Virtualization. He commonly speaks and authors content on these topics.
Chris Riley
Chris represents the coders and practitioners that use @CloudShare as technology evangelist. He fancies himself a technologist & and a recognized industry expert in Content Management, Information Architecture, BigData, Text Analytics, and Cloud Virtualization. He commonly speaks and authors content on these topics.

The Related Post

It is a fundamental role for testing teams to align their test design, test automation, and test case development with DevOps–not only to verify that code changes work but that the changes do not break the product. A key differentiator of DevOps is testing maturity. An organization can automate their integration, testing, delivery, and monitor, ...
LogiGear Magazine – February 2013 – The Rapidly Changing Software Testing Landscape
Do you want to speed up your automated tests by a factor of 10 and deploy your application continuously? In this article we share how the JIRA development team at Atlassian has accomplished this using Stages in Bamboo. Stages have allowed the JIRA Development team to take a week’s worth of testing and condense it ...
Continuous Testing and Continuous Monitoring What is the goal of Continuous Integration? Is it to enable Continuous Delivery of the code developers’ produce out to users? Yes, eventually. But first and foremost it is to enable ongoing test and verification of the code. It is to validate that the code produced and integrated with that ...
How Halliburton leveraged outsourcing to achieve their goals. Organizations are focusing on speed, both in Continuous Integration and rapid deployment as a competitive advantage. Many software development organizations can significantly shorten development cycles by implementing one or a combination of Agile practices, continuous integration & deployment methods, and feature branches. While these frameworks and techniques ...
By Jez Humble and David Farley Continuous Delivery from Jez Humble and David Farley is an important contribution to the field of software development. It takes continuous integration to the logical conclusion and covers how to set up a continuous integration system, delving into everything from check-in to delivery to production. It doesn’t state you ...
This post is part of the Pride & Paradev series With continuous deployment, it is common to release new software into production multiple times a day. A regression test suite, no matter how well designed, may still take over 10 minutes to run, which can lead to bottlenecks in releasing changes to production. So, do ...
Sauce Lab’s Perspective on Integration with Continuous Testing The term ‘DevOps’ implies that implementing an effective development and production workflow is as easy as developing the collaborative interaction between developers and IT operations. On the surface, DevOps may appear as a simple and straightforward idea but, as you will find out, there is more than meets ...
LogiGear Magazine June Issue 2020: Transform Your SDLC With Continuous Testing
Over the years we’ve provided an extensive number of articles, videos, and infographics that provide a wealth of knowledge about Continuous Delivery.
Having the right skills and experience, even if you have to go outside, is essential for designing tests for large-scale cloud deployments. Moving existing applications to a cloud environment adds new dimensions to testing. One of the primary reasons for moving to the cloud is scalability. Capacity to handle traffic and data transfer can be ...
LogiGear Magazine June Issue 2018: TESTING in DEVOPS

Leave a Reply

Your email address will not be published.

Stay in the loop with the lastest
software testing news

Subscribe