Web applications have given the great benefits of allowing rapid development, easy deployment, and the ability to avoid lower-level complications such as socket programming and load balancing. The issues that they have not been able to help us solve, however, are scalability and the costs of managing the middleware. Furthermore, the proliferation of web applications itself can turn into a maintenance nightmare.
The temptation for many organizations would be to jump on the cloud trend relatively early and port legacy applications over to a service such as AWS EC2 or Google App Engine. These services lend themselves (though not trivially) to bringing legacy enterprise apps into the fold. However, is this the right thing for developers to do at this point in time? It actually depends upon who you ask.
Some experts would say to go for it, right away. Part of this is because modern competitors – many of them startups – are knocking on the door and are not held back by legacy code. Ultimately, the claim is that even if the move is not at all easy in terms of development, the cost savings in terms of hardware, maintaining different test environments (“as many as you want for $20 per hour”), and a host of other expenses that can add up quickly will cancel out the up-front effort.
This report from Forrester, however, argues that we are asking the wrong question when we inquire whether or not to move web apps to the cloud. The argument is that shoehorning older apps into new platforms is going to remove their resiliency and flexibility. The two key reasons cited for why legacy applications do not map over to the cloud are 1) they were not designed with high-availability SLAs in mind and 2) they are too complex to fit with cloud economic models, which encourage gradual buildup of features.
This brings up another key idea: it may be necessary to think of cloud applications in very different terms from existing web applications in order to fully realize their benefit. As noted earlier, organizations can have thousands of internal apps, sometimes more than they know what to do with. More often than not in these situations there is tremendous middleware skew, non-standardization, duplicated effort, and other signs of wayward mismanagement. Taking advantage of cloud development stands to clean up these situations while also giving the unique benefits and cost-savings that are getting many excited about cloud computing. Contact us to help you with your web application.