Welcome!

Apache Authors: RealWire News Distribution, Alfredo Diaz, Lev Lesokhin, Bob Gourley, Dmitry Sotnikov

Related Topics: Cloud Expo, Java, XML, .NET, Virtualization, Apache

Cloud Expo: Blog Feed Post

Is the Cloud the Right Solution for Your App?

There are thousands of articles on the Internet that discuss which applications are applicable for the cloud

It is surprising to see how every new technology suddenly becomes the thing that will solve every problem. The cloud is no different. Everybody rushes to migrate their applications to the cloud because they think this will magically make them faster, cheaper, agile, competitive and… add any other buzzword that comes to mind. Well, not so fast! You don't need to move every single application to the cloud! Or at least not in its current state.

There are thousands of articles on the Internet that discuss which applications are applicable for the cloud (including several that I have written) and what are not. There are also thousands of articles discussing the different cloud technologies and how they can be used. Unfortunately what I have seen in the last four years is that people don't pay attention to those writings and choose applications that are not applicable for the cloud or severely misuse the technology.

Take for example the following scenario. The IT team at a very large enterprise creates virtual machines on AWS for each analyst, installs desktop software that uses a local database (file based) and lets them use those at their discretion. This is certainly enough to have a checkbox next to "Migrated application to the cloud" on your performance review but is this the solution? First, let's look at what the problems with this "migration" are:

  • Because the VM is used by a single user its utilization will be no more than 8h a day or 30%. And this is only if this analyst doesn't take any breaks, which means that the utilization of the VM will be much lower. The goal of the cloud is to maximize the utilization of your infrastructure and improve the efficiency and I am not talking from cloud vendor point of view.
  • If you make a simple calculation you will find out that throughout the year they will pay Amazon an amount that equals a pretty decent notebook. But wait, the analyst already has a notebook! And she or he uses this notebook to connect to the VM. Hence they are paying double for something that they already have - why don't they use the analyst's notebook to install the software there. (I know there are certain reasons why you don't want to do that but just bear with me).
  • The user experience will be suboptimal when Amazon decides to move your VM from one node to another. This will result in interruptions, possible loss of data and low satisfaction from the analysts.
  • Although they can create VM template managing all those VMs is a tedious task. You need to go patch them, update the template, troubleshoot them etc. that will increase their management costs.
  • The part that mostly bothered me in this scenario was that the technology for solving this problem has been available for long time - it is called Terminal Services and there are few established vendors that made business of that long before the cloud term was even conceived.

Now, if you really want to make an impact in your organization you should approach the problem differently. The  questions that you need to ask are:

  • How can I increase utilization?
  • How can I decrease spending?
  • How can I allow centralized management?

Implementing Terminal Services in your organization may be the simplest answer. As mentioned the technology has been available for long time, it is proven and it is easy to implement. If you want to show that you are up to date with the latest developments and mention cloud on your resume look at VDI (or Virtual Desktop Infrastructure). Last but not least if you want to prepare your application for the future consider reworking it into a modern web application that uses central database, services and multi-tenant UI.

As it seems the cloud can be a solution for your app but you will need to put the effort into finding the right way.

Read the original blog entry...

More Stories By Toddy Mladenov

Toddy Mladenov has more than 15 years experience in software development and technology consulting at companies like Microsoft, SAP and 3Com. Currently he drives the sales engineering efforts of the private-PaaS startup Apprenda and consults enterprise customers on their cloud computing and software development strategies. Before Apprenda Toddy spent more than six years working on Microsft's cloud computing platform Windows Azure, Windows Client and MSN/Windows Live. During his career at Microsoft he managed different aspects of the software development process for Windows Azure and Windows Services. He also evangelized Microsoft cloud services among open source communities like PHP and Java. In the past he developed enterprise software for German's software giant SAP and several startups in Europe, and managed the technical sales for 3Com in the Balkan region.

With his broad industry experience, international background and end-user point of view Toddy has an unique approach towards technology. He believes that technology should be develop to improve people's lives and is eager to share his knowledge in topics like cloud computing, mobile and web development.