7 Things to Consider During Your Cloud Migration (2/3)
1. How do you get started?
If you’re just getting started with your initial cloud migration effort, things may seem simple at first. Yet, they have a way of sometimes (and quickly) becoming complicated. In order to maintain the appropriate level of control with this effort, it might help to:
· Start small. Beginning with a project that has a narrow scope, fewer unknowns and a minimal number of new or complicated features will serve you and your organization well. Even better would be to commence with a project that has limited impact on the business so as to minimize and/ or contain disruption risk.
· Approach the effort in a phased manner. Divide the project into phases where each has its own clearly defined goals, functions and acceptance criteria. Review the outcome, measure the success/failure, gain experience and apply the knowledge in the subsequent phases.
· Be flexible in your scope. As you gain more knowledge and experience in what a cloud-based system can offer, review your plan and update it accordingly. Consider refraining from migrating certain features or systems in the event you see reason for concern.
· Be flexible in the schedule. This is particularly true when you’re just getting started. Cloud applications tend to be distributed in nature, and distributed systems are not easy to manage from either a design or implementation perspective. Be sure to leave ample time for testing the system’s functionality, usability, etc. At the same time, keep a close tab on the progress of the project and plan to adjust the schedule accordingly.
2. Are you thinking broadly enough?
Cloud infrastructure gives us tremendous opportunities to handle situations that may have been inconceivable just a few years ago. AI and ML, flexible accessibility to millions of users and devices (IoT), Big Data and unlimited storage are just a few things inherently associated with cloud offerings. Some aspects that you may wish to consider when it comes to these include:
· AI and ML – Artificial Intelligence (AI) and Machine Learning (ML) are becoming increasing realities. The trick is knowing how to embrace the technologies, understand the domain, and effectively utilize them to your advantage. While you will want to be open-minded and assess whether there may be an opportunity to use them, you will also want to be sure to have your priorities clearly identified while holding the reins reasonably tight on your project scope.
· IoT – The Internet of Things (IoT) focuses on connectivity, management and the operation of intelligent devices. Data generated from these connected devices enables the mining of scientific knowledge and business insight, and fully taking advantage of such an opportunity can put your organization a step ahead of your competition.
· Big Data – Unlimited data storage and IoT enable and promote the collection of vast quantities of data. Big Data enables us to analyze once unwieldly sets in a much more timely and cost effective manner. Look hard in your organization and in the data you’re collecting and chances are you’ll find ways in which to extract valuable insights and knowledge for your business.
· Semantic Web – Web or not, this is about building semantic relationships between entities you have and using the relationships to enable easy navigation and retrieval of information. Embracing this will enable you to gain more insight to your business while also enabling you to offer potential solutions that are not readily available when viewed in isolation.
3. Do you have a backup plan?
Things are likely to go wrong during a cloud migration. Thus, you will benefit in having a backup plan. Related to this, you might be well served to:
· Have a backup plan for ‘backing out’ of the latest deployment, if need be. In doing so, you will need to be able to restore a previous version of a system with confidence. Establish a targeted time limit for the downtime and plan to have routine fire drills for the operation.
· Have an automated monitoring system so that undesirable situations can be readily detected, with the response team being automatically notified.
· Have a procedure in place for responses while making sure the chain of command is clearly established, communicated and understood.
4. Have you automated everything (within reason)?
While you may wish to automate as much as possible, you will need to be pragmatic and consider the 80/20 rule in establishing which elements to automate upfront. This includes project setup, system testing (unit, integration, functional), system building, staging, deployment and operation. The DevOps approach, which is predicated on removing the barrier between the Development and Operational teams and activities, will likely help you to produce a higher quality.
Most of the common/quality automation tools allow you to configure and customize the automation behavior. They usually allow you to create different profiles to be run with different frequencies, durations and timings. Each profile allows you to select the coverage, the resources, etc., with the benefits resulting in:
· A higher quality system
· Fewer operational errors/mistakes
· Faster correction of errors/issues
· Shorter deployment durations
· Repeatability and reproducibility
5. Is your system secure?
When migrating to the cloud, security becomes more important due to the nature of exposed services. In addition, because a cloud-based solution cannot inherit the security protection from an on-prem solution, an altogether new security measure must be architected and installed. The protection needs to be extended to your system, your data and both your customers and users. Carefully study the use case/usage pattern of your users and customers while asking the following questions:
· Do they need single sign on?
· What’s your existing technology for authenticating users and authorizing their access?
· Is the technology compatible with your offering? If not, what are your alternatives?
6. Is your system reliable and performant?
Cloud-based systems increasingly have dependencies on other services and components, many of which are dynamic in nature. Make sure you understand the behavior (stateful /stateless, etc.) of these services and components and have a plan in place if and when they change. At the same time, be sure requests are processed under the appropriate context.
· Can your system support the expected/desired load? A cloud-based system is expected to handle thousands of current users and potentially millions of devices.
· Does your vendor support such demand? Is your system architected for such use cases?
· Will the system meet throughput as well as latency requirements? Are there means in place to measure these?
· Does your system scale when needed? Ideally, the system should be designed to automatically scale up and down with demand, enabling you to use your resources most efficiently.
7. Is your data ready for use?
Data enables a business to extract knowledge, build intelligence, make future predications and, most importantly, guide decisions. As such, ensuring the quality of your data is critical. The following three aspects are paramount in building a quality data set:
· Persistence of data. Get the data persisted (saved) as quickly as possible once it’s available. Lost data is gone forever. Once persisted, it is common to transform the data into different structures and formats for different purposes/uses, with different life expectancies.
· Security of the data. Data needs to be secured. Data can be tampered with during transition, and inaccurate/bad data can be ingested into the system. This is particularly true for a cloud-based system given its open nature. A reliable data custody mechanism needs to be in place as part of a cloud solution.
· Consistency of the data. With data coming from different sources (and sometimes out of order), reviewing the data and ensuring its consistency becomes vitally important. While a manual review is often the first step, the end goal should be to aim for an automated approach as soon as possible.
Ronald B. Niland, President, JANA Life Sciences
Cell: (805) 405-4115; eMail: rniland@janacorp.com