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

DevOps for Test Teams By Michael Hackett Now that Dev Teams have had a little time to settle into the Agile, the new wave of process optimization has arrived. DevOps. DevOps has been described as Agile on Steroids. DevOps has also been described as Agile for Operations/IT. I like both of those descriptions as well ...
As a software development company, what is your goal? What is the one thing you feel you need to do to ensure you have a job at the beginning of each wonderful work week? The answer is actually quite simple; You need to deliver a quality product. Like how I used the word simple? Although the answer I ...
Making the leap to CT is easier than you think— follow this guide to transform your testing process No pain, no gain! Achieving Continuous Testing shouldn’t take a “Hans and Franz” attitude. It should be painless, more like a natural progression from implementing certain practices over time.
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 ...
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 ...
Fitting QA into a modern DevOps group In a traditional software engineering organization, the QA group is often seen as separate from the Development group. Developers and testers have different roles, different responsibilities, different job descriptions, and different management. They are two distinct entities. However, for folks outside the engineering team – say in Operations ...
DevOps may be the next big buzzword, but Test teams really need to focus on its little sister, Continuous Delivery If you pay attention to trends in software development—from the perspective of what some sophisticated teams are doing, what articles and books are being written, to conference topics, you may have noticed the tools being ...
For this month’s book review, I read Continuous Testing for DevOps Professionals: A Practical Guide from Industry Experts, by various authors and edited by Eran Kinsbruner. The book is divided into 4 sections: Fundamentals of Continuous Testing, Continuous Testing for Web Apps, Continuous Testing for Mobile Apps, and The Future of Continuous Testing. The Fundamentals ...
LogiGear Magazine June Issue 2018: TESTING in DEVOPS
DevOps has been described as Agile on Steroids; DevOps has also been described as Agile for Operations/IT. I like both of those descriptions. Many organizations want Development, Test, and Operations teams to move to DevOps now. DevOps is a big topic, but DevOps is not the focus of this article. We will not be talking ...
From the culture shift, to differences in Agile, Dave Farley and Michael Hackett discuss the nitty gritty of Testing in DevOps. For this issue of LogiGear Magazine, our very own Michael Hackett sat down with one of the godfathers of Continuous Delivery, David Farley. In this exclusive interview, David discusses how test teams and automation ...
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, ...

Leave a Reply

Your email address will not be published.

Stay in the loop with the lastest
software testing news

Subscribe