Businesses building a new solution in the cloud must make a number of decisions before they can begin — serverless or containerized, hybrid or completely cloud-based. Meanwhile, teams migrating to the cloud must weigh a different set of considerations. How should legacy code be handled? How much redevelopment is needed? How do the existing assets and data sources impact the type of cloud implementation selected? Explore 4 key steps, tactics to choose a provider and the phased model some businesses use during development or a data migration process in the cloud.
4 Strategies for Cloud Development or a Data Migration Process
Identify a Primary Metric for Success
Successfully migrating or modernizing a legacy project begins with clearly identifying criteria for success. Does the business want to reduce costs by a factor of 5? Or, do they seek to serve a capacity they expect to increase tenfold in the next year? Teams can then use the identified metric for success as the primary driver in the selection of a cloud services provider — Amazon, Google or Microsoft.
Assess Legacy Assets
By examining the existing databases and data source before the data migration process, the team can begin to understand the quantity of existing code that can be leveraged in the modernization effort. Does the team need to rewrite some or all of the application to be compatible with the cloud? Much like a sweater, the team must decide whether the existing application can grow with new needs, or whether it must be discarded and remade.
Map a Plan
Following metric and cloud identification along with asset assessment, teams can define the scope, estimate and architect before beginning the development or data migration process.
Resist the Urge to Over-Engineer
The biggest challenge for businesses undertaking modernization or migration is avoiding the temptation to over architect and overspend on the solution. A streaming service with just 1,000 users does not require the same architecture as a service with 100 million. Both implementations serve the same purpose, but one costs dramatically less.
What Cloud Provider Should You Use?
A series of questions can help businesses as they begin the process to identify the cloud provider with services and capabilities that will match their needs. Performance may be most important to one business, whereas another may prioritize security and scalability. Ultimately, identifying the major architecture criteria around the systems and application will lead businesses to the optimum choice.
What existing technology, if any, must the team or development partner work with? If a business has technology built on the Microsoft stack, the team may consider using the cloud (Microsoft Azure) associated with their existing technology.
What scale will the application serve? If the team is developing anew for the cloud, understanding the purpose of the solution and the scale of expected transactions is also meaningful. Understanding the purpose and functional requirements of the application will also help teams determine whether the strengths of a particular cloud (such as Google’s machine learning ability) render it a more precise fit.
What regulations must the solution satisfy? For businesses operating in highly regulated spaces, such as education and healthcare, understanding how the cloud services provider assists them in meeting these requirements represents a key consideration.
How important is provider longevity? Not all cloud services providers have equal tenure offering select capabilities. While AWS has offered serverless computing for a few years, Google introduced it more recently. Teams selecting a provider must identify where proven ability ranks on the list of criteria to choose a vendor.
For many businesses, the choice is clear. In the IaaS and PaaS markets Amazon commands over 40 percent of the market.
Cloud Transformation Maturity Model
The following four phases represent the progression many business take as they migrate fully to the cloud. Some businesses opt to stop at a given phase. Many never fully complete the application development and data migration process. Instead they use a hybrid of cloud services and on-prem management to find cost/workflow efficiencies while safeguarding the business. That way, should the cloud fail, operations can failover to the data center. Businesses that maintain a backup on-prem data center never fully realize the economic advantages of the cloud. Other businesses opt to build a containerized application and run versions in separate cloud environments. If one cloud fails, operations can be shifted to the duplicate application housed with another cloud provider. The containers can be run in Microsoft Azure, AWS and the Google Cloud Platform.
The business begins experimenting in the cloud. Development and test environments are created. These are not production grade and no core business depends on workloads being run in the cloud. Some teams decide to take the testing a step further and create a production-grade app run in a test environment.
The business starts to run non-critical business processes in the cloud. This enables the business to further test cloud services with existing solutions.
After completing small tests, the business moves core products to the cloud and operates it as a production environment. In this way, the business has taken a major step to incorporate cloud services but isn’t totally reliant.
The business feels comfortable and migrates all operations to the cloud. They no longer need to maintain a data center and can reallocate team members to other work.
Image Source: Docubyte, Ink