Cloud – the new buzz word in the IT industry is just like the .com days in my humble opinion. Organizations have been doing the whole concept of cloud for a while now. They are using a nice term to cover-up their dependency on cloud. Be it the use of email as a service, storage as a service, CRM as a service, online gaming and these examples can go on. All these are some form of utilizing cloud as a service phenomenon.
I would like to bring forth a few of the myths or fallacies that are associated with cloud. These are common assumptions and are dangerous assumptions when it comes to deploying or utilizing services from the cloud. When I mention the word “cloud”, it is not bound to any of the cloud service provider but an industry terminology.
Things don’t fail in cloud
One of the biggest myths that involve cloud computing is the reasoning behind failure. End of the day any cloud provider exposes the services as a combination of physical machines, storage, compute and monitoring just like any servers running in our own datacenters. Physical hardware is bound to break and there can be disruption in service. Many of the cloud vendors tend to build a resilience redundancy system behind the scenes by design. It is important for our applications to recognize this and build the retry logic in all the code we write.
Cloud will solve my performance problems
One of the fundamental tenant of cloud is “elasticity”. Many customers often say – Moving to cloud is going to solve my performance problems of my current on premise servers. If something doesn’t work great on your datacenters, the chances are remote it is going to perform any better on a hosted cloud environment. For a matter of fact, it is going to perform a lot worst in a cloud hosted scenario. Any cloud solution is a hosted shared infrastructure (mostly).
Cloud auto heals
In an on premise datacenter, we have complete control on the servers where our application is hosted. We know where the web tier, application tier, database tier and where the services tier is. We know the configurations and we know how they are inter connected physically at the rack, switch, and network level. We know exactly when something goes wrong since we have physical access to the server. When it comes to cloud, though we can have as many servers as possible for our various tiers, it is not possible to physically see the servers if they are alive. A lot of times we have seen customers see some failures and before they can investigate the high availability takes care of bringing an alternate environment seamlessly. So it is important to have some sort of monitoring inbuilt into the system which is sitting outside our environment to monitor these servers. There are specific cloud-first companies that do exactly this – they send you alerts via email when a particular server goes down in your cloud environment. Make sure you make monitoring an integral part of your architecture.
Cloud basics don’t change when compared to how our on premise world is. It is important for administrators, developers and architects to embrace it with caution yet confidently. The applications built these days should be intelligent enough to know about cloud deployment and safety nets. With these control and measures in place, we can embrace this new era of cloud computing with the proper expectations in mind.