Cloud computing often fails before it ever begins and long before we ever achieve our first operational deployment. Looking into developmental nature of unsuccessful enterprise-level cloud computing initiatives, several conclusions an be drawn about the causal effects of their failures: it wasn’t the immaturity of the cloud computing, but that of its adoption. Poor planning and management plays a larger role in the long term viability adopting the cloud computing paradigm than any other characteristic.
In order to reduce the chances of failure, these four principle activities should be part of your cloud computing initiative:
1. C-level alignment of business drivers:
There is something magical about clouds, from the ominous power of a summer time thunder storm to the “silver lining” seen in those spring show storms. Most of us don’t know exactly how they work, but we all know what they do. In cloud computing, it is no different. So, while we may not know exactly what’s going on in all those distributed systems, we do need to understand what it’s suppose to provide.
Most organizations are beginning to believe that cloud computing should supply cost effective, scalable, and secure delivery capabilities. As such, many of the business drivers make assumptions that become an implicit part of the financial and operational model. In order to successfully meet corporate and customer expectations, these drivers need to become an explicitly managed part of the process.
Cost models should not be left to back of the napkin modeling. If the organization needs to take out cost, then get it down on paper in the beginning. Since the cloud is often about converting capital expenditures into operational expenditures, the more explicit you are about the reduction, the better. Don’t forget resources in the modeling either, while you might reduce your current IT staff (less systems onsite could me less onsite resources), you will most likely need other skills to manage outsourced cloud activities.
Organizations are often looking to the cloud as a new source of revenue. Are your customers buying the cloud or are they buying the services that are in the cloud? It is a question that needs to be addressed up front. In most cases, the cloud is the cost means to the revenue ends, unless you are going to be an Amazon or Op Source. Make sure that you aren’t over estimating the power of cloud to actually create revenue by explicitly calling out these assumptions.
Here is the secret decoder ring that you can use to translated corporate discussion (please keep it between us): When a CFO says Cloud Computing, what they are implying is – I want lower cost$. When a CIO says Cloud Computing, what they are implying is – I want $omebody else to do that $tuff. When you hear a CEO say Cloud Computing, what they are implying is – Please, let there be a $ilver lining in that cloud.
2. System-level impact of cloud computing:
It is not enough to understand that an application can be deployed in a cloud computing environment; whether it be an IaaS, PaaS, or SaaS based system. Systems fail to perform according to expectations for a host of reasons and understanding behavioral characteristics from a systems engineering point of view is a necessary means through which this risk can reduced.
In order to successful launch an enterprise cloud computing initiative, organizations should carefully consider some of the following area:
>> Architecture – Does the application architectural style (service-oriented, process-oriented, and/or data-oriented) match the cloud computing orientation.
>> Product/Software life cycle development – Software development (creating and testing) is principally done through a local machine. Leveraging cloud computing resources for development might require changes to IT policies in order to use remote resources.
>> Monitoring and Reporting – Many organizations still heavily rely on home grown/proprietary monitoring and reporting tools. What changes need to be made in order for your NOC to continue with their monitoring operations?
>> Business Continuity (BC)/Disaster Recover (DR) – Is the application operationally taking advantage of continuity of operations characteristics supplied by the cloud provider? In the event of a catastrophic failure of the cloud (e.g., lack of additional resources, provisioning failures, access disruption, etc.), can services be continued through tertiary resources provisioning services (e.g., private data center)?
>> Partnerships/Vendor Integration – Do you outsource some or all of your development and operations? How will these providers gain access to cloud-based resources? What happens if the partnership is terminated? Who owns the data, metadata, and other IP created in the cloud?
>> Security (Physical and Logical) – If you are using a PaaS provider (e.g. Force.com, Google Python, etc.), how do you know their frameworks are vulnerability free (e.g.SQL injections, buffer overflows, race conditions, insecure file operations, etc.)? What level of security monitoring and reporting can you conduct in the cloud? Can your cloud provider supply audit reports for physical/logical security tests?
>> Intrusion Detection/Notification/Mitigation – Attacks are inevitable, it is just a question of when. How will your current IDS practices need to change in our to support cloud-based operations?
>> Privacy – All data is not the same in a global multinational regulatory driven world. Just between the US and EU, there are significant differences in what data can be stored and where one can store it. Is your data architecture designed for this type of global distribution?
>> Regulatory Compliance and Standards Assurance – Are there any governing compliance requirements? How does SOX, HIPAA, or even SAS 70 impact your cloud computing practices?
>> Cloud Computing Switching and End of Life – If you needed to migrate from your cloud computing provider, could you? Is the technology base of your PaaS provide portable to other service provides (language, frameworks, meta-data, etc.)? Will you have to redevelop your provisioning scripts?
3. Migration and Modernization Planning
It is not uncommon to see some level of migration planning in today’s cloud computing modernization program. Most migration activities make varying assumptions as to the viability of their products/services on a cloud environment. These assumptions are often erroneous and in many cases applications will need to be modernized before they can be successfully deployed. For example, applications that assume they can persist data to their local drive will fail to recover between Amazon Machine Instance (AMI) sessions.
A robust proof of concept (POC) period for every business critical applications should become part of the migration and modernization planning activities. The POC needs to test all assumption that are critical to the success of the project, from ensuring systems can be deployed to their desired cost/revenue characteristics.
4. Cloud Computing Performance Metrics
Beginning able to effectively manage cloud computing ecosystems requires the adaptation and augmentation of measures and metrics associated with development, operations, financial, and continuity of operations activities. Adding adoption metrics, such as percentage of cloud computing process/data work streams, and comparative metrics, such as operational cost comparison, is essential for proving out the cloud computing business model.
Moving to the cloud isn’t easy, but taking a few precautionary steps can dramatically improve the likelihood of your success. Gainly alignment, thinking systematically, migration/modernization planning, and measures/metrics are just a few that necessary areas that, if aggressively addressed, will keep you away from those failure land mines and on a much safer road to success.
You can also read this article and other at the Symphony Services blog.
Recent Comments