Emerging Tech Development & Consulting: Artificial Intelligence. Advanced Analytics. Machine Learning. Big Data. Cloud
Moving to the cloud is sought after these days. As technologies have matured to ease migration pains, the rush to the cloud has entered a new chapter, enabled by the COVID-19 crisis.
If you are still not sure whether to embrace the cloud, you were already behind 90% of companies worldwide even before the pandemic. The limitations placed by the crisis on in-person interactions have only accelerated cloud plans. Every enterprise has its own reason to get rid of on-premises hardware, from cost savings, scalability, better performance, or security to enhanced social distancing, a new priority on the list.
It is no longer a question of why companies are moving to the cloud. Rather, it is a question of how to deal with cloud migration challenges and make your project a success. The sad truth is, one-third of cloud deployments fail. Sometimes utterly. Like it was with UK-based bank TSB.
Make sure you don’t repeat the mistakes.
We’ve compiled tips and insights drawn from our extensive cloud deployment expertise and global best practices on how to avoid them. Dive in!
Cloud Migration Strategies: How You Can Do It
Basically, there are three strategies for going to the cloud:
Lift and shift.
This strategy, also known as rehosting, is about moving an application to the cloud as it is without code or architecture adjustments (and often moving all the problems along too). It’s simple. On the downside, you don’t realize the full benefits of cloud capabilities.
This approach involves slight code tweaking to optimize your application for the cloud. For example, you can modify interactions with the database to take advantage of automation or add new features for better scaling.
Refactoring / Rearchiteruing.
This is a more complex approach that involves serious changes in the code or architecture to benefit from the flexibility and elasticity that come with the cloud. Such changes imply a complete redesign of your systems, such as transforming a legacy architecture into independent microservices, to give you the agility you are after.
As with all things in IT, it depends which option is right for you. Leading companies use a combination of them and even, wisely enough, choose to keep some applications or data on-premises.
Cloud Migration Challenges: How To Do It Wrong
Replacing physical machines on the enterprise’s side, the cloud reduces infrastructure costs and IT management efforts. Easy scalability for data storage or processing power through virtualization is another why companies move to the cloud. The cloud also provides elasticity thanks to its ability to grow or shrink automatically in response to demand changes, like a Black Friday spike in web traffic.
However, not all cloud deployments deliver on these transformative promises. Some companies see their systems hit performance issues post-migration. Some see costs multiply. Many even move back to on-prem infrastructure.
The top challenges in moving to the cloud are strategic, boiling down to making the right decisions, lack of business vision. Peer pressure is increasing, with businesses getting swept up by the transformative power of the cloud. But cloud migration is not a fad, and keeping up with the Joneses or just ticking the box is not a strategy.
A bad strategy is also doing this when IT says that redesigning and moving systems to the cloud can potentially save costs, and management decides that they should go to the cloud immediately, hearing “lower costs.” Before the shift, it is necessary to consider a number of things.
Critical questions for your business case:
- What are our business needs?
- What do we want to achieve?
- What are our constraints and requirements?
- What risk tolerance do we have?
- What are our measures of success?
Cloud deployment projects often go awry because of the wrong migration approach. Not all applications are created equal, meaning that some of them do not belong to the cloud in the first place, while others – which, for instance, require high-volume transactional databases — can hold unpleasant performance surprises after the migration.
Not allocating sufficient time to get a thorough picture of your infrastructure, how your apps communicate with each other, and how they will function in a cloud environment is also a recipe for disaster. Setting overly tough deadlines without leaving room for proper testing and migration process optimization is not a good idea either. You will risk a lot of mistakes translating into higher implementation costs and delays.
The questions to answer when planning your project:
- What is our current state and what are our pain points in the existing infrastructure?
- Which apps and systems should we migrate and how?
- Which cloud type should we choose — a public, private or hybrid cloud solution?
- What Amazon AWS, Microsoft Azure, Google Cloud Platform, or another provider can do for us, and which cloud services are best suited for our workflows?
- What will be the cost of migrating to the cloud, and what’s about future post-migration costs?
Competition for cloud experts has skyrocketed, as increasingly more companies are looking to migrate to the cloud. According to Gartner, more than 60% of senior executives cite a talent shortage as one of their organization’s major concerns.
You can roll out internal training programs or look for outside expert assistance, which can significantly improve your cloud adoption, but anyway make sure that you have cloud pros on your team to take full advantage of the benefits of moving to the cloud. You don’t want to end up with limited scalability or other missed cloud opportunities, right? A successful cloud deployment requires both highly specific cloud expertise and knowledge of old technologies.
Your Team Setup Watchlist:
- What experts should we include in the project team?
- Do we have the required skills or should we hire a сloud consulting agency?
- Which parts of the cloud adoption project can and should we outsource?
Successful Cloud Adoption: How To Do It Right
We sat down with our cloud experts Alexey Zhadov and Michael Pranovich who have successfully completed dozens of migration projects to discuss their experience. Cloud deployment is seldom an easy task, but it is riskier to delay the shift accumulating technical debt, they say.
Here Is Their Essential Cloud Migration Checklist:
- A strategic business case is a must. Simply pulling down the data center or dumping on-prem servers is not a winning strategy. You should set clear business goals, like saving money on hardware upgrades, enhancing security, or improving performance to support an increasing number of users. A business case, for example, for a game developer would be using the cloud to speed up release cycles for updates and get an easy scaling solution. Once set, the business objectives should be mapped to the capabilities of the cloud. Cloud is only a means to an end, so you need to specify the end first.
- Place a business analyst on your team before engaging application developers and DevOps engineers. A business analyst will help you figure out what business value you can glean from the cloud and translate your business goals into technical requirements for the cloud migration team.
- Don’t skip due diligence on your current software. Evaluate your current state and technical debt, the types of apps you are using, and how they talk to each other. Also, look at the money you spend on physical servers, the amount of data generated and storage needed, analytics requirements, and networking. This will help you understand what makes sense to migrate and how your future architecture plan should look like.
- Security challenges. You need to have a clear understanding of what data needs to be protected and how you are going to protect it. You also need a plan for an outrage.
- Plan properly. “Give me six hours to chop down a tree and I will spend the first four sharpening the axe,” Abraham Lincoln once said. Cloud platforms are just toolboxes. They can do things well, but you should know what you are building. Your cloud architecture plan will depend on your business goals and can be nothing like your on-prem networks. But it should be all-embracing: it is important to decide which apps or their portions can be migrated as they are, which can be easily made cloud native, and which should be completely rewritten. The choice of the right cloud services is also critical — you need to determine which computing resources in a virtual environment, or Infrastructure as a Service (IaaS) services, are the best fit for your workloads and whether to leverage Platform as a Service (PaaS).
- What’s about vendor lock-in? When choosing a vendor, consider a business sense that they will make for your company. For example, if your organization is using Amazon Echo, you definitely should go with AWS. It is also important to determine whether to move everything to one cloud provider or go multicloud and keep your options open. Many are adopting a hybrid cloud strategy, blending together on-prem and cloud systems and benefiting from multiple offerings. However, switching over between low-level platforms used for storage and more complex operations, such as virtualization and containerization, can be hard. Some choose to embrace lock-ins to see first how their applications will work on one cloud.
- Pay a consulting agency or hire cloud pros. Invest in expert outside help, but be cautious of low-level assistance that can have a devastating impact on your project outcomes. Pros have the technical know-how to help you understand what cloud services you should use, how much it will cost and what architecture needs to be built to meet your business objectives. On top of that, they will deploy your applications to the cloud quicker, which will cost you a lot less than many hours worked by a team without cloud experience.
- Migrate step by step. Treating your cloud deployment project as a single big bang initiative may result in a number of technical mistakes, including system downtimes and irrevocable loss of data. A reliable strategy is to start with just one application and learn in the process. There can be a lot of lessons about security, connectivity, data, authentication, performance, redundancy, or costs. Start small, start with applications that are not business critical.
- Test thoroughly — and learn again. Move to the next portion of software only after making sure that everything works as expected. Comprehensive testing makes it much easier to deal with any issues arising without grinding your systems to a halt.
- Automate things, especially if you have dozens of servers. The migration will proceed faster if your team is able to automatically provision environments and deploy automation to convert your legacy code, which can take months and even years if refactored or rewritten manually. Automated security updates or functional improvements are also critical. It is worth automating other vital steps in cloud migration, such as scanning of legacy data sources, workload testing, and optimization.
Cloud adoption is already mainstream. Your cloud project can be pretty straightforward or incredibly complex. No matter the complexity, you should be very clear about what you want to achieve and what is involved. The cloud enables great agility, so make sure to take advantage of it or partner with someone who can help.
If you have more questions about how to move the cloud successfully or are not sure how to get started, feel free to contact our cloud experts.
Previously published here.
Create your free account to unlock your custom reading experience.