The organization at my company was considering moving to the cloud. My boss, engineering director, suggested Windows Azure given that he recently joined our organization coming from a .NET-only shop where his prior company leveraged it. Our organization is an Oracle/Java EE shop, and personally I've been out of touch with the Microsoft/.NET world since .NET 3.5 was first released. So, I was researching Java support on Azure, but the most I could find was basic Tomcat support. Here's an overview of our technology stack (heavily Java) that we would migrate:
This is across fairly large 2 web applications and 6 web services currently running in production.
My question: is Azure a good fit for such a migration? It doesn't seem to be to me, but I would like to hear your answers.
I was suggesting Amazon, but my boss is not convinced given that he's after a PaaS model not an IaaS one with IT administration overhead.
Thank you!
I have certainly got Java components running on Azure using worker roles.
The strategy I adopt is to use AzureRunMe as a bootstrapper to load the components required by your application.
https://github.com/RobBlackwell/AzureRunMe
You essentially put your dependencies in zip files, upload them to blob storage, and AzureRunMe will download them for you when the machine starts. You script the installation of your application, which AzureRunMe will execute for you (elevated if required). After your script has finished, the machine will be attached to the Azure load-balancer, ready for business.
I would recommend SQL Azure instead of installing Oracle.
You could use the Azure memory cache instead of Memcached, it's probably something you could consider further down the line, and use Memcached initially.
Is it worth it? Well there are advantages to using PaaS, namely Azure takes care of the deployment of your application, and the patching of the OS. SQL Azure (relational database as a service) is nice as you don't have to do some of the maintainence otherwise required.
The work required to install on Azure would be similar to what you'd have to do in a IaaS environment anyway.