There are many use cases for utilizing the public cloud. Hosting applications are certainly one of the most important and complex use case for using the public cloud. Some organizations have already adapted the public cloud for running their applications. There are many organizations that are in the process of evaluating options with the understanding that it will require a lot of planning and effort to migrate their applications to cloud. Depending on application type and criticality, cloud migrations can be a daunting task. Cloud migration requires moving complete application components including application software, data and other supporting tools from on premise systems to systems running in the cloud. Moving enterprise applications and data out of your data center to the public cloud can also be a challenging task because of risk and compliance issues. The migration to the public cloud will require more than just technical skills. Cloud migration is usually started by internally socializing the idea of running target applications from the cloud and tackle all security concerns raised by internal groups. Deploying your applications in the Oracle cloud can lower your infrastructure costs and increase business agility, if performed in the correct way. It is important to understand that not all applications are a good fit for the public cloud and one should spend time to evaluate target application before starting a migration process.
Migrating applications to the public cloud is very similar to migrating applications to another host or a different data center. Like traditional migrations, you have to create migration plans, migrate applications and perform aggressive application testing. Additionally, you have to perform few steps specific to the public cloud infrastructure like evaluating applications for cloud, provision resources in cloud and testing application in cloud. When it comes to migrating application itself, you have different methods available to migrate application to cloud depending on your application characteristics and the cloud vendor. For example, if your cloud vendor offers your application as Service or any component of your application is being offered as service, you can choose to adopt those services as they fit to your migration. An important part of your migration strategy should be to analyze components offered by the provider, such as DbaaS and SaaS. This article will focus on thestep by step approach to migrate an applications to the Oracle public cloud and unlock tremendous potential for hosted applications.
Let me start by briefly describing application migration steps then later we will go into the details of each step. Cloud migration should start with evaluating your applications for cloud. Cloud evaluation is an important step and the purpose of this step is to find out if your application is suitable for public cloud. Once an application has been selected for migration, we need to perform detailed migration planning which will include migration plans, application discovery and provisioning cloud resources. Next step will be to migrate the target application stack to public cloud. This will most likely include installing your application to cloud compute instances and migrating your data to Oracle cloud databases. Once you have migrated your application to cloud, you should leverage public cloud features to enhance your application functionality, scalability and availability. Then you should test all aspects of your application which may include functional testing, load testing and penetration testing. Finally, once you are ready you can cutover your application users to Oracle Cloud.
Phase 1: Evaluate
You may find moving an application to the public cloud a no brainer given it can improve flexibility and scalability. But not every application is a right candidate for public cloud and you need to spend some time evaluating financial, security and technical aspects of your application to determine if target application is a right candidate for public cloud. Evaluating your application for cloud is very important and, in the end, you might find that the target application is more suitable for the Oracle private cloud rather than the public cloud. Since many organizations adopt the public cloud for cost saving reasons, evaluating the application for cloud should always start with cost comparison. Ideally migrating your application to public cloud should reduce hardware, software licensing and staffing cost and return a better return on your investments. There is a lot of research over the last ten years on this topic detailing how to calculate total cost of ownership between running application from your own data center and running it from public cloud. Oracle recently released free online tool (https://oracle.valuestoryapp.com/iaas/) to help customer calculate TCO and make informed decision about moving their application to cloud.
In addition to financial considerations, you also need to look into compliance. Contrary to common believes public clouds are more secure than private data centers and Oracle has made security its top priority for public cloud offerings. Still, moving to public cloud makes application owners nervous and they need assurances that their application will be secure and within compliance. You should gather all security and compliance requirements for your target application and start knocking them out one by one. Some of the security requirements will be unique to your organization and you might want to involve your IT security team in such conversations. Depending on application type and data, your application might be subjected to strict compliance requirement. Without going into detail, I like to mention that Oracle public cloud is designed and certified to meet many of the compliance requirements for the most demanding environments. Please refer to following document for complete details.
After reviewing and evaluating your financial and security considerations, you should perform a detail technical evaluation. This can be done many different ways but it should definitely involve technical resources who are currently supporting target application. You want to analyze the complete application stack including operating system and hardware to see if all the components are supported by Oracle Cloud. If the target application is a vended application, then make sure it’s supported to run on Oracle IaaS cloud and there are no licensing restrictions with the Oracle Cloud. You should also check for dependencies, if target application is tightly integrated with other in-house applications, probably it’s not a right candidate for Oracle public cloud. Additionally, you want to identify technical resources and tools required for migrating target application to the Oracle cloud. I would recommend a small proof of concept (POC), even though it sounds like an additional work, it will provide you a complete picture of what you need for a successful cloud migration. A POC will also provide you a migration plan and resolution to issues which could have become a road block in actual migration. It is possible that during POC, you come to realize that it is not technically feasible to migrate target application to the Oracle public cloud.
Phase 2: Plan
Planning a successful migration to the cloud starts with defining success criteria for your target application, and then constructing a migration roadmap with project plan and timelines. It is also important to identify all technical resources required for a migration with this phase to avoid any resource scheduling issues during planned migration. The planning phase should also include complete discovery of targeted applications which can be performed manually or using tools available in the market. Application discovery should capture detail performance, storage and network statistics, so they can be used later for provision resources in the Oracle public cloud. Once the discovery results are known, you will need develop a roadmap for migration and provision cloud resources for target cloud migration. It’s important to understand that capacity planning is not a major concern in cloud environment, since most cloud resources can be allocated or deallocated dynamically.
Phase 3: Migrate
This phase will require familiarity with the Oracle Public Cloud offerings like IaaS, SaaS and Bare Metal cloud. Oracle is a true enterprise cloud, it offers all types of cloud deployment models. Unlike other cloud venders, Oracle cloud has whole suite of applications offering such as SaaS. If you are migrating an application which is offered as SaaS by Oracle, you have two options to migrate your application. You can migrate your target application to Oracle SaaS cloud model or you can lift and shift your application to Oracle IaaS cloud model. The option to adapt Oracle SaaS cloud model will require some extra work and it will be more than just installing application software to Oracle cloud instances. If you are not planning to make any major changes to the target application then lift and shift application to Oracle IaaS cloud will be your only option. The best way to migrate a target application to the Oracle cloud is to use technical resources that are already supporting the target application in your organization. You can also use existing configuration documents to install applications to Oracle cloud instances or contact application vendor to provide configuration documents to you.
Same goes for data migration. If the target application stack include Oracle databases then the use of Oracle DbaaS is your best option to migrate to the Oracle cloud. Oracle has already published many methods to migrate Oracle databases to Oracle cloud including databases running on Exadata Machine. Oracle offers variety of database solutions for Oracle databases like schema as service and database as service. You will have to pick a solution based on criticality and size of your database. Additionally, if your target application is using a non-Oracle database, you can configure and install the target database on Oracle IaaS compute instances using published guidelines from your database vendor. Depending on your migration window you might want to explore options to keep your on-premise database in sync with cloud database using options like Oracle GoldenGate or any other replication technologies.
Phase 4: Enhance
This is an optional phase, technically you can complete your migration to the Oracle cloud without making any major changes and still take advantage of Oracle cloud features like scalability and availability. But you should use this opportunity to leverage Oracle cloud features likes Message Queuing, Load Balancing and RightNow Email to enhance your application. It is important to take advantage of Oracle cloud features that will solely depend on the target application architecture. At minimum you should take advantage of elastic nature of Oracle cloud by dynamically allocated hardware resources for your application. We are all use to provisioning hardware resources based on maximum peak load in the pre-cloud era. That can lead to waste of hardware resources but with cloud computing, you can control hardware resources dynamically to meet your application requirements while paying for what you use. The Oracle Cloud also gives you opportunity to move your application closer to your customer and reduce latency to end users. Oracle understand the importance of having data centers close to customers and continue to add data centers all over the globe. Oracle also provide a complete suite of applications called Oracle Management Cloud (OMC) to manage, monitor and analyze your cloud applications and infrastructure. You can also increase application stability and reduce outages using OMC. Finally you can incorporate Oracle Security monitoring and analytics (SMA) cloud service to identify and resolve array of security issues within your cloud asset.
Phase 5: Test
You can never overestimate the importance of testing your target application in any cloud offering. Testing targeted applications in the cloud will not only include all traditional methods but will also require employing new age methods specific to the public cloud. Traditional testing like functional, load, performance testing can be achieved using existing scripts or procedures already created for the target application. Most application owner’s like to pay close attention to performance testing and like to see detailed performance comparison numbers between on-premise and public cloud environments. Application cloud testing is also important because you are migrating to a different architecture, you might be moving from physical hardware to virtualized environment. Additionally, you should test any enchantments you have made during or after the migration. For example, additional tests will be required, if you have introduced scalability by dynamically allocated cloud resources to compute nodes or introduce new application features based on Oracle cloud services like Oracle Messaging Cloud service or Oracle RightNow Email Management Cloud Service. Since security is a main concern for application owners in the public cloud, it may be a good idea to include penetration testing with other security tests you have planned for cloud migration. It is also important to note that there are many cloud testing software available in the market like CloudTest, LoadStorm. Use this cloud testing software as needed to complement application cloud testing.
Phase 6: Cutover
Finally, you need a comprehensive cutover plan to successfully complete your migration. Cutover plans should include sequence of tasks including mock cutover. The mock cutover is required to successfully migrate business operations from on-premise system to the new cloud system. Mock cutovers are utilized to practice and validate the cutover plan before go-live and gives you opportunity to make alterations prior to the actual cutover. Mock cutover is not only used to iron out cutover process, it can also minimize risks prior to cloud cutover. There are possibilities that you might be required to sync your on-premise database with cloud database. Oracle offers arrays of option to synchronize data including data guard and golden gate. The Oracle Golden Gate Cloud Service provides seamless data movement from various on-premises relational databases including SQL Server and DB2, to databases in the cloud. Finally make sure to backup your current database before you start any application cutover.
The Oracle cloud can introduce scalability, elasticity, agility and reliability to the migrated application. I recommend to start slowly moving applications to cloud, starting with non-critical and non-production applications first. Identify the right application for cloud and even right sequence when migrating set off applications to cloud. Successful migration will free up the physical infrastructure and can reduce the operating expenditure by 30%. This article will also help you resolve financial, technical and security concerns within your organization.
Released: March 22, 2018, 11:34 am