Step 1: Understand the business case.
While it would seem that moving to the cloud is a technology exercise, the reality is that the core business case should be understood as to the potential benefits of cloud computing. This is the first step because there is no need to continue if we can’t make a business case. Things to consider include the value of shifting risk to the cloud computing provider, the value of on-demand scaling (which has a high value in the world of ecommerce), and the value of outsourcing versus in-sourcing.
Step 2: Understand your existing data, services, processes, and applications.
You start with what you have, and cloud computing is no exception. You need to have a data-level, service-level, and process-level understanding of your existing problem domain, also how everything is bundled into applications. I covered this in detail in my book, but the short answer is to break your existing system or systems down to a functional primitive of any architectural components, or data, services, and processes, with the intention being to assemble them as components that reside in the cloud and on-premise.
Step 3: Select a provider.
Once you understand what you need, it’s time to see where you’re going. Selecting a cloud computing provider, or, in many cases, several, is much like selecting other on-premise technologies. You line up your requirements on one side, and look at the features and functions of the providers on the other. Also, make sure to consider the soft issues such as viability in the marketplace over time, as well as security, governance, points-of-presence near your customers, and ongoing costs.
Step 4: Migrate.
In this step we migrate the right architectural assets to the cloud, including transferring and translating the data for the new environment, as well as localizing the applications, services, and processes. Migration takes a great deal of planning to pull off successfully the first time.
Step 5: Deploy.
Once your system is on the cloud computing platform, it’s time to deploy it or turn it into a production system. Typically this means some additional coding and changes to the core data, as well as standing up core security and governance systems. Moreover, you must do initial integration testing, and create any links back to on-premise systems that need to communicate with the newly deployed cloud computing systems.
Step 6: Test.
Hopefully, everything works correctly on your new cloud computing provider. Now you must verify that through testing. You need to approach this a few ways, including functional testing, or how your ecommerce system works in production, as well as performance testing, testing elasticity of scaling, security and penetration testing.
If much of this sounds like the process of building and deploying a more traditional on-premise system, you’re right. What does change, however, is that you’re not in complete control of the cloud computing provider, and that aspect of building, deploying, and managing an ecommerce system needs to be dialed into this process.
This post was contributed by guest columnist David Linthicum. David is a cloud computing and SOA expert and author of several books on Information Technology.