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

Introduction Everything changes. It’s the only constant. The landscape of software testing is undergoing a fast and dramatic change driven by societal, business and technology changes that have placed software everywhere. Computing is ubiquitous. There is hardly anything today that doesn’t contain a CPU or information transmission capability, with software to drive it. From smart toasters ...
LogiGear Magazine June Testing in Continuous Delivery Issue 2017
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 ...
    Eric Minick is internationally recognized as a leading authority on continuous delivery and DevOps. Eric joined IBM four years ago with the acquisition of UrbanCode where he had worked as a developer, technical seller, and evangelist for a decade. Today, he has responsibility for leading the product management team overseeing continuous delivery solutions ...
How to Adopt the “Third Way” in the Dojo’s Method to Master CD In The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations the authors describe “The Three Ways” – the underlying principles forming the basis for all DevOps practices. 
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 ...
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 ...
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, ...
How to ensure a successful test-driven environment In order to ensure a higher quality product is released in the end, many teams have turned to test-driven development. Under this scenario, quality assurance metrics professionals first create various QA tests, and then software engineers code based on these tests, typically while using a robust enterprise test management ...
Aligning the Dev and Ops Teams DevOps as a philosophy has had as its centerpiece the principle that Dev and Ops teams need to align better. This is a people and organizational principle, not a process centric principle. To me this is more important when adopting DevOps than any other capability or tool. My last post ...
LogiGear Magazine – December 2013 – Cloud Testing
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 ...

Leave a Reply

Your email address will not be published.

Stay in the loop with the lastest
software testing news

Subscribe