In earlier posts, I described the business value of cloud computing and helped you identify vendors who can ensure your data is safe and secure – even in the case of a disaster. However, the day-to-day issues are less about security (which you would like to think can say invisible) than about your cloud applications working well.
Multi-tenancy is a very important facet of SaaS solutions. In a multi-tenancy environment, multiple customers share the same application, running on the same operating system, on the same hardware, with the same data-storage mechanism. The distinction between customers is achieved during application architecture and design, thus customers do not share or see each other's data. Because it’s the same code base for everyone, the benefits include rapid product release cycles, low maintenance or high upgrade efficiency, and consistent performance and reliability.
Multi-tenancy can mean cost savings over and above the basic economies of scale achievable from consolidating IT resources into a single operation. There are huge differences in terms of the business benefits. However, it needs to be done right so you get the benefits of economies of scale. These benefits, if done right, lead to massive savings. The alternatives of a self-hosted (or single tenant) applications incur massive software and hardware upgrade costs, and typically require long consultative engagements with the vendor or their resellers. The length of time in some of the rollouts of self-hosted applications can be so long that the market and technologies could shift in that timeframe, thus leaving your implementation out-of-date when completed. When I say multi-tenancy has to be done right for you to harness benefits from cloud database applications, I refer to the architecture that would provide your application the right level of security and isolation from other tenants but also the tenant level high degree of customization necessary for you to adopt cloud computing to your organization's business needs.
One reason to adopt cloud computing is to avoid having to create a data center or other infrastructure for your worst-case situations – such as an e-commerce vendor during the holiday buying rush. Knowing if your cloud computing platform and service can scale with more customers, data, and users is a key decision driver in selecting your platform. Ideally, you want the cloud computing vendor to demonstrate their ability to scale applications to hundreds or thousands of users; an auditable way to provide that service quality; demonstrate that performance does not degrade with increasing usage; and show that the system continues to be reliable under documented extreme loads. From a hardware and resource perspective, the vendor should articulate how they increase storage, compute memory, and bandwidth with increasing active users, for their data and customer accounts.
Failure to scale can mean eventual failure of the cloud service. Friendster, an early social networking site, lost the networking race to Facebook because of its inability to scale. So make sure that you are convinced that your cloud service provider can scale as it grows users and its business so you can continue to rely on the company being around long term.
The last thing you want is for your business to rely on a cloud service and to learn that it’s down – usually at the worst possible time. Cloud computing vendors that serve mission-critical businesses should also guarantee the availability of their service. One option is service level agreements (SLAs); another is publishing historical performance of their service.
High availability is generally provided by starting from high standard facilities with proven infrastructure and redundancy in equipment, to design of the system and software that can tolerate sub-system failures. The vendor should be ready to describe their data center’s type of reliable power, cooling, and network infrastructure. They should tell you if they have server and software high availability with N+1 redundancy of their system.
Finally, ask to see their historical uptime with dates and duration of planned and unplanned maintenance. A system that is unavailable for 20 hours a month or 5 hours a week is only 97% available, while one that has a downtime of 7.2 hours per month or 1.68 hours per week is 99% available. Many modern systems generally provide 99.9% availability – which is 43.8 minutes downtime per month or 10.1 minutes per week. If a vendor cannot provide you their uptime information, then they may not be keeping track of how often their systems are unavailable or you may learn the hard way that they do not have the best-in-class availability of their service.
For any high quality cloud service, scalability and performance go hand in hand. Vendors need to provide both to guarantee a great experience. Scaling at the cost of performance is not a sustainable solution.
Performance is measured in terms of the end-to-end experience of users during their peak usage period. The units of measurements could be the average response time for the application pages, and total number of transactions or requests the system can perform under sustained peak load.
When evaluating a vendor, if their web traffic is bursty, you should look at the peak load and not the average over the whole day. Many vendors use load balanced systems to distribute loads, and also use CDN (Content Delivery Networks) to offload static contents geographically to global cache. The result is that much of the content is provided from servers that are close to the user.
That matters. Let’s say yours is a “daily deals” site where information on new deals are posted every day at noon, and during the lunch hour there is sustained Web traffic to that site. It’s important that your platform can handle such peak periods, that the network and bandwidth can flex with load, that many static contents can be globally distributed to CDN caches, and as more deals are added to your site, it can continue to scale and serve more customers. Before you select your cloud service vendor, have your vendor explain how they measure and guarantee performance, how they measure end-user experience, and how they ensure that the system does not fail when overloaded.
Service transparency is how you build trust with customers. In today’s social-media-connected world, business practices are becoming more transparent. We now live in a world where it’s not enough to simply follow the rules. Business success relies on engaging with your customers and reaching out to them to ensure their needs are met. It’s a business world where transparency and openness are assets.
So you may ask, “Why is transparency an important criterion for me to select a cloud service vendor?” Because the practices of the cloud vendor can significantly affect your business and your reputation. During your evaluation, check if the vendor has well trained staff who can answer your questions. When seeking uptime or performance numbers, look for how long you have to wait to get answers. Other information to look for includes governance and regulatory compliance, data stewardship, and accountability.
If you are not satisfied with the vendor’s response, you are bound to find chatter on the social media platforms that echo your fear. If the vendor provides accurate, timely, and detailed information about their service and performance data along with their plans and processes, e.g. on their maintenance windows, they will build your trust which helps further build their reputation.
The last criteria are highly measurable operational processes which are best exemplified by the work of iconoclastic CEO of Zappos, Tony Hsieh, and illustrated nicely in a great book, Delivering Happiness. At Zappos, Tony developed a corporate culture with a commitment to service that aims to improve the lives of its employees, customers, vendors, and backers. Tony formalized the Zappos's Core Values ("Deliver WOW through Service") and thus created customer service as the essence of the company's brand. If your business is going to rely on the service of a cloud computing vendor, and if the vendor has a corporate culture like Tony created at Zappos, you are in good hands. But that’s easier said than done. Evaluate the vendor’s customer support process and responsiveness rate to your requests for help. Social media can be a great help to learn what the vendor may not directly tell you. But these last criteria can become the bane of your existence if not delivered with delight by the service provider.
As Chief Architect of Intuit’s QuickBase platform, my goal is to help customers build and run their mission-critical business processes in the cloud. Frequently, I work with Enterprise IT departments who are faced with expectations from people who don’t understand all the benefits of moving to a cloud environment. Working on the key facets that I outlined in this series of articles – from security and data stewardship to high availability and performance – and backed by the best-in-class support, I am helping drive better outcomes for our customers and all stakeholders. A whole new revolution has started with business cloud computing models, I believe. I hope you can benefit from my advice herein, and become part of this movement.