If you’re like most businesses, you already have at least one workload running in the cloud. However, that doesn’t mean that cloud migration is right for everyone. While cloud environments are generally scalable, reliable, and highly available, those won’t be the only considerations driving your decision.
For companies considering their first cloud migration, there are a lot of factors that you’ll want to take into account — from the benefits and the risks to the cloud service model and type that is right for your business. In this article, we’ll look at the high-level elements that you should consider as you contemplate a move to the cloud.
To learning everything about cloud migration — from the fundamentals to advanced — Cloud Academy has a Cloud Migration Training Library that helps you learn migration best practices, test your knowledge, and build the skills you need to successfully migrate your business to the cloud.
Potential benefits of cloud migration
There are many problems that moving to the cloud can solve. Here are some typical scenarios that will benefit from cloud migration.
- Your application is experiencing increased traffic and it’s becoming difficult to scale resources on the fly to meet the increasing demand.
- You need to reduce operational costs while increasing the effectiveness of IT processes.
- Your clients require fast application implementation and deployment and thus want to focus more on development while reducing infrastructure overhead.
- Your clients want to expand their business geographically, but you suspect that setting up a multi-region infrastructure – with all the associated maintenance, time, human, and error control effort – is going to be a challenge.
- It’s becoming more difficult and expensive to keep up with your growing storage needs.
- You’d like to build a widely distributed development team. Cloud computing environments allow remotely located employees to access applications and work via the internet.
- You need to establish a disaster recovery system but setting it up for an entire data center could double the cost. It would also require a complex disaster recovery plan. Cloud disaster recovery systems can be implemented much more quickly and give you much better control over your resources.
- Tracking and upgrading underlying server software is a time consuming, yet an essential process that requires periodic and sometimes immediate upgrades. In some cases, a cloud provider will take care of this automatically. Some cloud computing models similarly handle many administrative tasks such as database backup, software upgrades, and periodic maintenance.
- Capex to Opex: Cloud computing shifts IT expenditure to a pay-as-you-go model, which is an attractive benefit, especially for startups.
Potential risks of cloud migration
While your specific environment will determine the risks that apply to you, there are some general drawbacks associated with cloud migrations that you will want to consider.
- If your application stores and retrieves very sensitive data, you might not be able to maintain it in the cloud. Similarly, compliance requirements could also limit your choices.
- If your existing setup is meeting your needs, doesn’t demand much maintenance, scaling, and availability, and your customers are all happy, why mess with it?
- If some of the technology you currently rely on is proprietary, you may not be legally able to deploy it to the cloud.
- Some operations might suffer from added latency when using cloud applications over the internet.
- If your hardware is controlled by someone else, you might lose some transparency and control when debugging performance issues.
- Noisy “neighbors” can occasionally make themselves “heard” through shared resources.
- Your particular application design and architecture might not completely follow distributed cloud architectures, and therefore may require some amount of modification before moving them to the cloud.
- Cloud platform or vendor lock-in: Once in, it might be difficult to leave or move between platforms.
- Downtime. It happens to everyone, but you might not want to feel like your availability is controlled by someone else.
Following that train of thought, if you’re thinking to migrate your business to the cloud you may be asking yourself what the common pitfalls are when migrating. In this short video, Andrew Larkin, AWS and Cloud Expert at Cloud Academy, shares his experience with you.
What cloud service model do you need?
Now that you’ve decided to try the cloud, you’ll have to choose the cloud computing service model that you would like to deploy it in. These are the most common service models:
Here’s where you’ll have to make an important choice.
IaaS is best for companies that don’t mind hosting their applications in third-party data centers but instead would prefer to outsource the care of their physical infrastructure to concentrate more completely on developing, deployment, and monitoring.
However, if you prefer your applications to be portable, you might want to simply drop your code onto a robust PaaS platform that provides a full (and invisible) infrastructure environment. Adopting a PaaS solution will also reduce your ready to market timings – since PaaS will be preloaded with most of the runtime required software – you only need to deploy the upper most layer of your application, in some cases just the application binaries.
SaaS is a delivery model through which centrally hosted productivity software is licensed on a subscription basis.
|IaaS takes care of||PaaS takes care of||SaaS takes care of|
Public, private, or hybrid?
Assuming you’ve chosen a cloud model, it’s time to choose the cloud type. There are three basic options:
Public: Your resources are entirely hosted across one or several cloud providers, for example AWS, Azure, GCP, Alibaba, and/or DigitalOcean.
Private: You create your own private cloud using a platform like OpenStack or VMware’s vCloud.
Hybrid: Your resources are spread over both private and public platforms, with connections that you monitor.
With its healthy mix of on-demand reliability, high availability, security, and reduced operations costs, hybrid cloud implementations can be attractive. Going hybrid can sometimes give you the best of both worlds. I’ll illustrate how hybrid can work through a hypothetical scenario.
Let’s imagine that your web app is quickly gaining popularity and users. In order to keep up with the growing demand, you need the underlying resource to scale up dynamically. During peak usage, you should be able to deploy maximum resources to serve requests and when demand drops, you should ideally be able to simply drop unneeded resources to save costs. This is possible within a public cloud. But suppose the data your app gathers is highly confidential and can’t just be stored off-premise. This is where a hybrid solution can help. In this case, you can choose which components you want to live in the public cloud, and which will remain in your data center.
RightScale reported that enterprises are increasingly adopting a multi-cloud strategy (84%), and 58% plan to use hybrid clouds.
Assessing applications for a cloud migration
Having chosen a cloud model and cloud type, the real struggle is about to begin. Now, it’s time to see if your applications are cloud-ready. Here are some factors that you will need to consider:
Application design complexity
Some traditional applications are so complicated and tightly coupled that customers might not be willing to rework it. However, the foremost requirement for any successful migration is that the app should follow a distributed architecture and should be scalable by design. Tools like PaaSLane and Cloudamize can help you assess your applications’ cloud-readiness. AWS’s Migration Hub service is a one-stop-shop for everything you might need tool-wise to discover and assess your application’s readiness for cloud migration.
Every application has its integration points, such as payment gateways, SMTP servers, web services, external storage, and third-party vendors. It’s very important to analyze the impact your cloud migration will have on those dependencies. Sometimes you will experience unexpected connectivity or authentication challenges that you should identify and solve upfront. The most critical (and tedious) task is to identify all of those integration points. Since older applications might be poorly documented and the developers familiar with the end-to-end functional and non-functional details may no longer be available, you might have to go through each module manually. The task gets complicated if you’re considering migrating hundreds of applications currently running in your data center.
Many of these issues can be addressed through a combination of the familiarity your team has with the apps and an asset discovery tool (either open source or commercial). An asset discovery tool can help you identify entire server configurations within a network, along with connectivity details. For example, say that you have a data center within a network that is hosting around 100 applications. A discovery tool can give you the bird’s eye view of the entire system. It can also provide granular details that can be helpful for a general capacity management assessment.
Some of the better-known asset discovery tools include BMC Atrium and HP DDMA. Cloudamize provides a tool that can perform automated discovery of applications and machines, and additionally perform automated application dependency mapping to discover dependencies between applications.
The host operating system
Once you have decided on cloud migration, it’s important to know whether you will be able to deploy your applications on the same OS. Your applications may only run on a specific OS (or OS release). If it’s not compatible with your cloud provider, then you need to find a workable substitute OS, a different cloud provider, or simply give up the whole project. For instance, most cloud providers don’t provide 32-bit OS options and others might have unexpected subscription requirements. It’s best to do your research in advance.
The application database
A database is obviously a critical part of any application. Customers invest a great deal on database servers and often, licenses. Moreover, given the complexity and sensitivity of your data, you just might not want to move it right now: migrating petabytes of data is no trivial undertaking. In either case, you should make sure that the migration methods you use are highly reliable and come with the possibility of rollbacks to deal with any unexpected chaos.
Most cloud providers offer their own migration services. Therefore, it’s very important to evaluate those services before pushing the “start” button. For example, AWS provides their Migration Hub service – which in their own words “simplifies and accelerates discovery and migration from your data centers to the AWS Cloud.” There are also many third-party vendors providing data migration services, like Attunity CloudBeam, ATADATA ATAmotion, CloudEndure Live Migration, and Racemi DynaCenter
Most cloud environments don’t support multicasting, so if your application relies on multicast, then I would say, “think twice.”
Many cloud providers have pricing calculators that can help you to estimate the real costs you’ll face after a cloud migration vs. your current costs. AWS TCO (Total Cost of Ownership) calculator and Azure Pricing Calculator are two options. Cloudamize allows you to compare TCO across AWS, Azure, and Google Cloud Platform (GCP), so you can decide which option is the best fit based on your current application workload profiles.
Proof of concept
It’s always a great idea to build a small proof of concept (POC) before you actually migrate your workload to the cloud. I know such models won’t anticipate all possible issues, but it will give you greater clarity and understanding about the challenges you may face. Some of the things you should look for during your POC include:
• Performance comparisons with your existing application
• Complexity levels involved in migrating the application
• Network challenges that need to be worked out
• Cloud provider support evaluation
Addressing all the real-time challenges of a cloud migration cannot be captured in one article, but I have tried to address some common issues you should consider before you start the process. Share your cloud migration experiences with us in the comments below or take a tour of how we can help with your migration strategy on our Migration solution page.
AWS Security: Bastion Host, NAT instances and VPC Peering
Effective security requires close control over your data and resources. Bastion hosts, NAT instances, and VPC peering can help you secure your AWS infrastructure. Welcome to part four of my AWS Security overview. In part three, we looked at network security at the subnet level. This ti...
Top 13 Amazon Virtual Private Cloud (VPC) Best Practices
Amazon Virtual Private Cloud (VPC) brings a host of advantages to the table, including static private IP addresses, Elastic Network Interfaces, secure bastion host setup, DHCP options, Advanced Network Access Control, predictable internal IP ranges, VPN connectivity, movement of interna...
Big Changes to the AWS Certification Exams
With AWS re:Invent 2019 just around the corner, we can expect some early announcements to trickle through with upcoming features and services. However, AWS has just announced some big changes to their certification exams. So what’s changing and what’s new? There is a brand NEW ...
New on Cloud Academy: ITIL® 4, Microsoft 365 Tenant, Jenkins, TOGAF® 9.1, and more
At Cloud Academy, we're always striving to make improvements to our training platform. Based on your feedback, we released some new features to help make it easier for you to continue studying. These new features allow you to: Remove content from “Continue Studying” section Disc...
AWS Security Groups: Instance Level Security
Instance security requires that you fully understand AWS security groups, along with patching responsibility, key pairs, and various tenancy options. As a precursor to this post, you should have a thorough understanding of the AWS Shared Responsibility Model before moving onto discussi...
Real-Time Application Monitoring with Amazon Kinesis
Amazon Kinesis is a real-time data streaming service that makes it easy to collect, process, and analyze data so you can get quick insights and react as fast as possible to new information. With Amazon Kinesis you can ingest real-time data such as application logs, website clickstre...
Google Cloud Functions vs. AWS Lambda: The Fight for Serverless Cloud Domination
Serverless computing: What is it and why is it important? A quick background The general concept of serverless computing was introduced to the market by Amazon Web Services (AWS) around 2014 with the release of AWS Lambda. As we know, cloud computing has made it possible for users to ...
Google Vision vs. Amazon Rekognition: A Vendor-Neutral Comparison
Google Cloud Vision and Amazon Rekognition offer a broad spectrum of solutions, some of which are comparable in terms of functional details, quality, performance, and costs. This post is a fact-based comparative analysis on Google Vision vs. Amazon Rekognition and will focus on the tech...
New on Cloud Academy: CISSP, AWS, Azure, & DevOps Labs, Python for Beginners, and more…
As Hurricane Dorian intensifies, it looks like Floridians across the entire state might have to hunker down for another big one. If you've gone through a hurricane, you know that preparing for one is no joke. You'll need a survival kit with plenty of water, flashlights, batteries, and n...
Amazon Route 53: Why You Should Consider DNS Migration
What Amazon Route 53 brings to the DNS table Amazon Route 53 is a highly available and scalable Domain Name System (DNS) service offered by AWS. It is named by the TCP or UDP port 53, which is where DNS server requests are addressed. Like any DNS service, Route 53 handles domain regist...
How to Unlock Complimentary Access to Cloud Academy
Are you looking to get trained or certified on AWS, Azure, Google Cloud Platform, DevOps, Cloud Security, Python, Java, or another technical skill? Then you'll want to mark your calendars for August 23, 2019. Starting Friday at 12:00 a.m. PDT (3:00 a.m. EDT), Cloud Academy is offering c...
What Exactly Is a Cloud Architect and How Do You Become One?
One of the buzzwords surrounding the cloud that I'm sure you've heard is "Cloud Architect." In this article, I will outline my understanding of what a cloud architect does and I'll analyze the skills and certifications necessary to become one. I will also list some of the types of jobs ...