Top 10 Myths of Cloud Computing
The concepts that are brought up here cut across IaaS, PaaS and SaaS. If you disagree with any of the points, please feel free to start a discussion at the end of the post.
10. Only the CIO is concerned about cloud
While the CIO is the decision maker and may take the final call on investing in the Cloud, there are a few other stakeholders who will get impacted by this move. The IT department, business managers and also the end users should be proactively engaged in the discussions to understand the implications of partially or completely moving to the cloud. It is certainly not a silent backend version upgrade or hardware replacement. With the right level of planning, cloud transition can be made transparent to end users and knowledge workers of the organization. The bottom line is every key stakeholder of the organization should have the basic understanding of cloud computing and what it means to their organization.
9. Cloud bypasses software licensing
This is a debatable point. If users choose to move to a PaaS offering like Microsoft Windows Azure Platform or Google App Engine, they might be able to save on some licensing cost that you would otherwise spend. But if they move to an IaaS offering like AWS or GoGrid, they are still responsible and accountable to software licenses. Though the hardware and servers do not run within the organization, the users are pretty much accountable for the software licensing on the cloud. So, moving to a virtual physical server or a cloud server will not short-circuit the path of software licensing. The subscription fee that users pay to the cloud infrastructure vendor covers some of the core licensing requirements like OS and DB. Talks need to be held with the commercial software vendor for their special licensing offers for the cloud.
8. Cloud is open
Moving to cloud will not automatically make apps more open. Unfortunately, cloud is not immune to vendor lock-in or platform lock-in. For example, once users decide to consume the storage from a service provider, the app will be tightly coupled with the APIs and the dynamics of the storage service. It is complex enough to move data from one service offering to other similar service offering. Finalizing the cloud vendor is as crucial as deciding on the platform. Once a user signs up with a vendor, there will be no option but to start consuming the supplementary services like auto load balancing, CDN, extended security, media streaming etc. There is a huge opportunity for the ISVs to build a “middle ware” for emulating cloud neutrality.
7. Everything on the web is cloud
This is a classic myth. Not everything on the WWW is cloud. A service has to support 4 tenets to be qualified as Cloud. They are 1) Elasticity, 2) Pay-By-Use, 3) Self-Service and, 4) Programmability. Google Apps qualifies to be a cloud service (SaaS) because it supports most of the above tenets. But a simple web app or a web service just doesn’t qualify to be a cloud service.
6. Cloud will instantly make my app secure
While it is true that the cloud provider will harden the core infrastructure and may not be as vulnerable as plain vanilla hosting provider, users still need to implement security best practices for the application. Precautions need to be taken against SQL injection attacks and the likes. There is also the need to maintain good web application security standards. Vendors like Amazon also provide multifactor authentication and virtual private cloud bringing in additional level of security layers.
5. PaaS enables copy & paste of the application to cloud
Both Google App Engine and Microsoft Windows Azure platform have some limitations. Thanks to Windows Azure Native Execution Mode, users can run applications in Full Trust Mode. But Google App Engine imposes quite a few restrictions that will force users to rethink of the design and architecture. File I/O, sockets and multithreading will have a lot of issues. On Azure, users get to partition your app for the Web Role and Worker Role. Communication between Web Role and Worker Role needs additional design considerations. Data access demands redesign. Users have to think about how to leverage flexible entities, blobs and the standard relational databases on the cloud.
4. Cloud has a steep learning curve
There are developers who argue that cloud is the successor to .NET, Java and LAMP platforms. Some of the training organizations in India started to offer cloud computing courses to undergraduate students. While cloud is certainly the platform of the platforms, it is not a replacement or a successor to existing platforms. It is more of a change in thinking than learning something from the scratch. Cloud has deep roots in Service Oriented Architecture (SOA).
3. Everything should be on Cloud
One hears of developers wanting to move their blog to cloud. Only when a high degree of special abilities like reliability, scalability and availability is required should cloud be chosen. Moving non mission-critical web application to cloud doesn’t offer any advantages. Cloud works when the application demands heavy resources and when virtually unlimited computing power and storage is required. Moving a static site or a blog to cloud just doesn’t make sense.
2. Cloud is cheap
Cloud is not cheap. The biggest advantage of moving to cloud is avoiding an upfront investment on infrastructure. It is the equivalent of opting for an Equated Monthly Installment (EMI) instead of a one-time payment and hence, it will result in paying more than owning or co-location of servers. Here is a cost analysis (dated but still applicable) of own servers, co-location and Amazon EC2.
1. Cloud = Web Hosting
This is undoubtedly the number one myth about cloud Computing. At least one in every three developers/entrepreneurs thinks this way about cloud. Hosting a web site or exposing a XML Web Service is not cloud computing. The diagram below addresses the differences between hosting and cloud computing: