It’s been almost 2 years since I first reviewed what I understand cloud computing to be. Until then the cloud for me was nothing more than a misty version of being online. I remember a good friend of mine smacking me over the head with the simple phrase: “There ought to be more to it than just being online – otherwise why would people have invented that term?” I took offence at first, I am the IT guy … not him. But then I took a step back. What was the cloud really? Well there were these terms SaaS, IaaS and PaaS. But did I really know what they meant? Did I know how to benefit from it in my business? Nahhh … I just knew it all meant being online from a different perspective.
Moving to the present I am running a company that has refined itself using SaaS and is leveraging PaaS on Windows Azure for services, products and tools. Everyone at Framework One really knows what it means to be in the cloud. It’s no longer a misty affair. Framework One embraces the cloud, foremost Windows Azure. In this article I want to review what cloud computing on Azure means for enterprise solutions.
Rewriting for Azure
Our own framework is an ever expanding toolbox that allows any business to quickly have its own business data represented in system form. Once running we can then execute, maintain and scale entire business processes and/or individual workflow activities on this platform. Everything that usually requires emails, excel and verbal communication in a traditional business can be converted into an automated business process on our platform whilst allowing the user to manage business data efficiently.
We took time out to port our framework to run on Windows Azure. Having previously targetted Windows Server we thought this would be easy. Think again. It definitely took a lot of our time and ended up being a complete rewrite. I don’t think we have yet added two thirds of the features we want to support on Azure and the renewed flow of ideas is unlimited.
One of the realizations that made us stop trying to port our older legacy framework was the fact that Azure is not a server. Azure is an OS that looks after many servers. Every server can have different responsibilities with regards to the entire system. Data Storage, Caching, Memory, Processing, Hosting, etc. are all different functions in an Azure Environment that are each performed by different instances that you can choose to add on your account on demand.
A proper implementation of using Windows Azure requires that it can take down and respawn any of those parts individually all while the complete system itself keeps on running. Anything must be able to upscale or downscale on demand. This meant we needed to re-think how the underlying architecture could support that in systems based on our framework.
Implementing the end-user system means that our clients are truly scalable, supplied with fully automated systems and can drop their traditional IT requirements in return for paying only for the consumption of Windows Azure features the given solution requires.
In a cloud-driven company bandwidth becomes your number one dependency. But then most companies with in-house resources have that requirement anyway. After all how do you picture your in-house email server getting supplied with email via a fixed IP if there is no bandwidth at all? Would you call it business critical if that fails? I would!
Now you could be like my own former self and argue that being completely online will become a problem as requirements for the amount of bandwidth are suddenly increasing. However if the environment is configured right then you will see an improvement in available bandwidth. It does mean though that you have to review how your company interacts with the internet in general, where most users are and how your business operates.
If your company has a tendency towards crowd-sourcing, outsourcing, runs shops or sites in different locations, has clients or partners on the internet or people working from home then it is ideal for cloud computing. You should see your own bandwidth improving whilst each user uses their own bandwidth at their own location to connect to the solution in the cloud.
If you are running a traditional business and you employ every single user on a single site then you should find the more users you add the more bandwidth you need. In such an environment I would opt for a hybrid cloud solution that is partially in-house and partially in the cloud to save bandwidth.
In either case you should realise that the increased demand/cost of bandwidth and the running of Azure allows you to focus on your business whilst Microsoft focuses on everything else. In return you can drop the costs spent on running your own servers, getting your own licences, having IT staff maintain your servers, having huge server rooms, air conditioners and overall expenses. Focusing on IT and server security is left to the real experts at a fraction of the cost generally spent.
The term “cloud” refers to the fact that you don’t see your resources. You are shielded from seeing what is physically really executing and maintaining your information. In an illustration like that businesses usually worry. Who could use it, who can access it, who could do harm and what happens if servers fail?
Having the advantage of understanding Windows Azure and IT in general I would answer that for businesses the term should rather be “sunny skies”. Instead of you employing someone fractionally taught Microsoft has a bunch of experts looking after the security of the Windows Azure platform for thousands of businesses in the Azure Data Centres at no cost to you. Security audits are more common than at a bank. It is the profession of those working there to focus on security, firewalls and server upgrades. In exchange you don’t need to employ your own experts. Azure worries about keeping your deployment running and monitored. If it goes low in resources you are paying for or if the server fails then Azure will automatically spawn and deploy your solution on another server.
Being agile in the cloud
Now if being agile is your goal then having Framework One use their own tools on top of Windows Azure is an offer you can’t refuse. We will host strategic design sessions that review which processes your business follows, how it integrates with 3rd parties and how your business maintains its own data. All of that information will be transformed into functionality for your bespoke enterprise solution running in the cloud during subsequent development sessions IT geeks call “sprints”.
Your processes will be modeled and printed for you to review and improve on. If your business is truly agile it will have continuous process changes as it grows. At Framework One we embrace those changes and have ensured our tools can apply those changes quickly and easily. We develop in modules to keep impact small and we have added functionality to Microsoft’s Visual Studio to design, alter and deploy your processes. Using our own framework and tools means nobody has to worry about the complexities that come with Windows Azure when implementing your requirements but it also means we have all the power of it available for you.
After every change the solution is deployed onto Windows Azure in the cloud which means you don’t have to worry about hosting servers or any of those irritations that go with it. You will have access from home, work, holiday and your users will thank you for being able to do the same. As your business grows so will your demand. Using Windows Azure we can then scale your usage whenever you need more power under the hub. Even if that is just every end-of-the-month when most companies go into heavy processing and reporting modes.
For any business agility and scalability will improve automatically by being in the cloud. For us that means leveraging Windows Azure. We embrace it. Do you?