April 7, 2021
TABLE OF CONTENTS
In this new video series from Levvel, our industry experts discuss where organizations should start if embarking on their first migration journey, ways to get unstuck, and how to gain buy-in when faced with internal resistance. We share relevant stories from the field and how we’ve helped businesses overcome their biggest challenges.
For more videos from our experts on cloud adoption, check out Levvel’s The Enterprise Value of Cloud Migration and Challenges and Solutions to Successful Cloud Adoption series.
Srinivas Coimbatore: It’s very important as you formulate your cloud migration journey that you answer two very simple questions. The first question obviously is, why? Why are you looking to migrate to the cloud? And typically, this could be for any number of reasons.
Some may be motivated by the fact that the cost model is very different when you look at on-prem versus cloud. Certain others may be interested in the elastic nature of cloud and others may also be looking to use the cloud because they’re expanding into markets different from where they were set up physically.
All of these motivations may be why you’re looking to migrate to the cloud. But again, it is very important to understand that there are many different teams involved in any sort of an endeavor and quite possibly, most of these teams are going to be impacted by this decision. So take the time to go and talk to those teams, understand what are their challenges in the current environment, and what they hope to address by migrating to the cloud.
Now, by doing this and collating all of this information, you have a more cohesive business argument that addresses many different angles. And therefore, when you present it to the management team, it seems more complete in that sense. So now that you have a good “why” you now have to understand the “how”. How are you going to realize that outcome of migrating to the cloud?
Samantha Rafalowski: A lot of people, when they are first visiting cloud migration, the logical first question they ask themselves is, where do I start? The first two pieces which really play off of each other are education and the migration plan itself. So obviously in order to come up with that migration plan, you have to back that with education for yourself. First of all, you need to know about what platforms currently exist as your options for migrating. These typically come into three categories, which I’m sure at this point, most of us have heard of. IaaS, PaaS, and SaaS.
So, that’s Infrastructure-as-a-Service, Platforms-as-a-Service, and Software-as-a-Service. Infrastructure-as-a-Service is going to be giving you the most low-level access and control over your actual resources and infrastructure. So, this is going to be something like Amazon’s EC2, where you can manually configure all of the resources yourself. Or Amazon’s S3, that’s a storage service.
Again, it is managed in the sense that it’s on Amazon servers, but you get control as to who has access, where those buckets are, et cetera. For Platforms-as-a-Service, this is going to be a little bit less low level. If managing all of that infrastructure and resources is not for you and that seems like more machinery than your company needs to handle, that’s totally fine. And this is a great option.
So, Platforms-as-a-Service that are most common are AWS Elastic Beanstalk, or Heroku, where you can upload an application, and then behind the scenes, that platform will automagically configure your infrastructure for you. And then, finally, Software-as-a-Service is going to be a managed software service, just as you would expect. This is something like Splunk, a third-party service that offers logging, managed logging, for you and your applications.
Understanding the platforms that exist, the difference between IaaS, PaaS and SaaS is super crucial to coming up with this migration plan. You need to know what your needs are and what makes the most sense for your team. That also includes educating yourself on the team dynamic and what processes currently exist within the software development life cycle process, if any. This is a great opportunity to find where the roadblocks are and some of the issues that are not working as well as they could be for your team.
Understanding exactly how the software and applications that you currently run are being managed is super crucial piece of the education portion. Just because something is a best practice or a super ideal solution, doesn’t mean that it’s going to be a great solution for your business, depending on how it runs and what the team dynamics look like. So the first piece is, educating yourself on what exists out there and what strategies are going to work best for this kind of team, for this kind of workload, specifically.
Srinivas Coimbatore: There are many areas that you need to address when you think about “how”. First and foremost, what does your roadmap look like? Set up some realistic timelines. What do you plan to achieve by when? And a lot of this, when you look at a roadmap, you’re thinking of so many different factors. One is, how are you going to enable this environment in the cloud?
Think automation all along. And therefore, you need to understand that if you’ve used certain automation stacks for your on-premise infrastructure it may or may not work in the cloud environment. So you need to understand how you’re going to address any sort of skills or knowledge gaps, if there were any in that space. Now, you have a roadmap and some timelines. You have to incorporate certain committed business guidelines. For example, there may be security and compliance related challenges.
How are you going to incorporate that? When are those teams going to be included into your process? Typically, to include them, right at the start is always a good idea. If they have gaps in terms of experience or knowledge, it’s always good for them to be involved right up front so they can understand what is the ask and therefore find a way to address it. So you now have a roadmap and have enrolled the appropriate teams.
You also, through these conversations, possibly understood what some of the knowledge and experience gaps might be. Be it amongst the development teams, the test teams, the infrastructure teams, the production teams, and so on. So, find a way to address that. Sometimes it may be organically by organizing your training sessions.
There may be certifications that the team members can take, but also try to augment that with some external help. That is usually a good way to kind of jumpstart this whole journey. Remember that no matter what all of this looks like, depending on the organization and its structure, you are going to succeed only when you secure the necessary buy-in. And that buy-in is not just from your manager or your management team, but it may be also their peer managers. So be ready for that journey as well.
Samantha Rafalowski: And once you have a better understanding of that, you can start creating your migration plan. In the migration plan, you want to keep in mind everything that you’re going to have to end up implementing. Ultimately nothing should be an afterthought. This should be as detailed as you can possibly make it. You’re going to include a security analysis of anything that really needs to be locked down in your infrastructure.
How are you going to lock that down? How are you going to make sure that your data and your workloads are protected from the public? And then next, you’re going to look at the management planning itself. So who is going to be the owner of these services? Who’s going to make a change, if something fails? How are you going to make these changes if your application fails?
You need to consider all of the possible scenarios that can happen once you do migrate and figure out how you’re going to address those. And that’s the best way to avoid getting stuck when you’re migrating, is to go in with a really firm plan.
Another piece of the migration plan is a risk assessment, which falls into what I just said. So with risk assessments, you are going to want to think of all of the possible pitfalls, everything that could possibly go wrong with your migration and how you’re going to address it. That way you already have a plan. And finally, you want to think about your budget and you want to think about your rollouts.
The budget is pretty self-explanatory. This is probably going to be a number that you’re going to get from either someone higher than you. Or maybe it’s a number that you know, because you are the person in charge of finances, which will be great in helping you figure out exactly what strategies you can use.
What’s going to be overkill in terms of services, but also what’s going to be the bare necessities. So balancing what you need with what’s possible within the budget. And then lastly, the last part of your migration plan is when everything goes well, you’re going to ultimately have to roll out the new cloud migration.
If your application is something that’s super business critical and is used every day, you need to think about how is the best way that you can roll that out? I like to suggest blue-green deployments. This basically means that you’ll have your old applications still in use and slowly over time. As you become more confident that your new application migration is working just as you expected, you can roll over traffic until eventually all of the traffic goes directly to your new application.
It is possible to do all at once deployments for less business-critical features, but there are different options depending on what your workload is, how often it’s being used, et cetera. But that is the last and arguably most important piece of the migration plan. Once your application is up and running, how are you actually going to get it into commission? Those are the things that you need to be thinking about when you are educating yourself and coming up with a plan on how to migrate.
Srinivas Coimbatore: A cloud migration journey can be a challenging one for many organizations. When you’ve worked with quite a few, you start to see a certain pattern emerge. I would say the top five challenges we’ve encountered are typically around selecting the right workload that you want to start migrating to the cloud. That might be one area that you’re challenged with. In terms of workloads, what we typically encounter is they pick a workload that is critical to the organization.
There are possibly certain commitments already made by the business to the outcomes, and the workload is being constantly enhanced. Now the development, test, and deployment teams have to figure out where to deploy these updates to. Is it going to be on-prem? How are you going to move this? And therefore, as you attempt to migrate, you’re going to face challenges in sort of a moving target, if you can see that.
Another area that relates to workloads is they pick a workload with many dependencies. So maybe there are multiple systems that the workload has to connect to, to complete a transaction. And if you’re going to pick that up and migrate to the cloud, you have to understand that all of these other systems that it has to connect to, to complete a transaction, are still on-prem. And therefore, there’s a lot of back and forth. They can be performance-related challenges and so on. So when you talk about workload, that is typically the two areas that we’ve seen teams face challenges. So that’s challenge number one.
Number two is unanticipated challenges. Whether it be in terms of working through your roadmap, you’ve now encountered a challenge where you have to use a cloud-native offering, a managed service, for example. But you’ve never worked with it. And you’ve worked with its clone, or it’s a lookalike on-prem, but the offering from a public cloud provider is very different. So it is important to understand that they can pose significant challenges. And if you’re hitting quite a few of them, you’re probably working with a team that is not quite there to meet the knowledge and experience asked that is required.
Typically, our guidance has been to work with a good consulting partner. It may be some relationships that you already have in place that you can use. Maybe you can look at your cloud provider and see if there’s a network of consulting partners that can help you. Typically, those are the areas where you’re going to quickly find the necessary talent to be able to continue to commit to your timelines and deliver.
Now, when you get into certain other areas like competing timelines or priorities, that is something that you should anticipate. Whether you encounter it within the first month or the first few months, it’s going to happen. Business is not static. The markets are not static.
Typically, the third way you can get into trouble is you start your journey with some commitments to headcount, to budgets, and so on. But over a period of time, there may be certain opportunities or challenges that need to be met immediately that aren’t quite aligned with your migration plan. And those budgets and the headcount might need to be moved out.
Typically, those sorts of priorities and dependency challenges should be anticipated. So being sure to understand that you have a good plan, a good roadmap that can adjust to these challenges by either trimming down what you can get done within a certain window of time and therefore adjusting your success metrics, as well, would be wise.
The fourth area that we’ve typically seen some challenges with are around licensing. There are certain enterprises that have site licenses for certain products and solutions, and when they go to the cloud, they may or may not apply. Be sure you have those appropriate conversations ahead of time.
So if you have a dependency on licensed software or even support, for that matter, make sure you have the same level of support and that your licenses are valid in a cloud environment. And if they’re not, have those appropriate discussions very early on, so you’re not challenged by it because it involves procurement, budgets, and so on. Therefore, that can be time-consuming and a challenge if you wait long.
The fifth area that we’ve seen teams encounter challenges is security and compliance. Typically, the issue is that the security and compliance postures are very well defined on-prem. Now they’re going to be asked to operate in an environment that they may not be entirely familiar with. So include them right at the start of this entire process, right from the planning stages, so that they can find ways to understand this environment better.
If they need certifications, they can work towards that. If they have gaps, that is another area where you can look at external help to address. And a lot of this takes time. So make sure that you’re very realistic in your timelines and you have the appropriate buy-in from all the teams. That way if you do face any of these challenges they are very supportive and you are able to find a plan that addresses that challenge.
Samantha Rafalowski: Another question that many people have when migrating their workloads is what are the action steps to take if you get stuck? Getting stuck when migrating is pretty common, especially if your migration plan is not super bulletproof and it’s easy to let some things slip through the crack. What I suggest when people get stuck in migrating is not to completely start over, but to reeducate yourself on what the current problems are because that helps you to find better solutions when you firmly understand what the exact problem is.
The first piece of that is reassessing some of the remaining workloads. You are going to want to make sure that you are focusing on the core foundational workloads that need to be migrated. A lot of people when migrating try to save these big legacy applications for the end, partly as a procrastination piece, partly because they want an example of something that’s a little bit simpler being migrated first. That’s totally understandable and there’s no need to migrate your legacy applications first and foremost, but eventually it does need to happen if you are trying to become fully migrated to the cloud, which is what I generally recommend to my clients.
This is because a lot of times hybrid-cloud scenarios end up being way more expensive than fully cloud-native applications, or any other cloud-native workloads. And even sometimes on-premise workloads. You have to be really careful about assessing your workloads and making sure that the right ones are being prioritized. And in doing that, the questions you should ask yourself are, what do I need to host this in terms of infrastructure, in terms of budget? Where are the current roadblocks? What is going wrong with your application or workload as it is? What exactly is failing? What isn’t working as well as it could be? What is causing inefficiency? Et cetera.
Then you need to figure out, given what I need to host this and what the current roadblocks are, what are the knowledge gaps that I have? What exactly do I need to research next? You want to do your research on your current workloads hosting needs, what the roadblocks are and how you would mitigate those, and then what would make your application or pipeline better or more efficient.
This could be looking back at those platforms we mentioned earlier, IaaS, PaaS, and SaaS, or it could be really just any third-party applications that you hear about. I mentioned earlier Splunk. If you have some sort of an issue that you can’t potentially, if you have difficulty debugging, getting a really granular logging service is going to be helpful for you in the future.
After reassessing your remaining workloads, you’re going to want to go back and adjust your migration plan accordingly. Intentionally migrating to a hybrid cloud environment, as I said before, can result in more complexities and a much higher cost than others. You want to think about where your migration plan is headed according to the current issues.
We’re going to revisit that migration plan and you’re going to think about the security analysis, the people who are in charge of managing and maintaining this infrastructure once it is deployed, the correct environment selection and design, risk assessment, and rollout. Those are the main pieces that I like to consider.
Another portion that people tend to get stuck on when migrating to the cloud is the security and disaster recovery portion. Taking into consideration the security and compliance pieces of the migration pie can really help you get unstuck when you are migrating. A lot of the networking and security pieces that you need to do, so for example, are you going to host your application in a virtual private cloud? Do you need to encrypt your data at rest and in transit? If so, how do you do that? Where are you storing your data? What is the cost of doing so?
All of these very specific questions that we like to often leave out until we get the basic strategy completely lined up or sometimes we’ll start migrating before we even lock down our environment. And this can be a really easy pitfall to avoid if you will just consider these pieces as you are implementing the infrastructure.
And lastly, a way to consider these pieces while you are implementing this infrastructure is to automate what you have currently. Automating infrastructure, while it can be a bit daunting at first, especially if you don’t have as much experience in Ansible, Terraform, or Chef, Puppet, really all of these infrastructure scripting languages, if you don’t have experience in it it’s easy to want to avoid it. However, once you automate your infrastructure, it makes it way easier to make changes later on, to make improvements, and also even to make duplicate environments.
If you want a disaster recovery plan and you can afford a disaster recovery plan, that is a fully replicated environment of your core functionality to your business, then automated infrastructure is the way to do it. Because if you already have that infrastructure deployed, all you have to do is deploy the code that you already wrote again and then you have a fully replicated functional environment of your application.
Automating infrastructure can really help to make your application and workloads more resilient and self-healing. And in doing so, you’re able to find some of these pitfalls, avoid them and make little tweaks to your environment portion by portion while seeing how it affects the whole infrastructure at once.
Instead of having to try to think through everything in the very beginning and make sure that it’s perfect on the first deployment because a lot of times that’s not possible. Automating infrastructure really helps to make it easier for you to successfully migrate your application.
Stay tuned for next week’s episode!
CloudOps Capability Lead
Associate Architecture Consultant
Research Senior Manager
Srinivas "CJ" Coimbatore has over two decades of experience in diverse disciplines such as sales, marketing, software development, architecture and delivery, and has worked with teams in all of the major geographies. He is an effective change agent and is very interested in collaborating with teams that are involved in transforming their process through DevOps. In his spare time, he follows Formula 1 racing teams, rides his motorcycle, and—along with his friends—helps raise money for children with health challenges and for the Pediatric Brain Tumor Foundation, Make-a-Wish Foundation, and Angels Among Us. He hopes to eventually spend more time teaching math and science to children.
Samantha is an experienced, AWS-certified cloud architect at Levvel, where she has worked with application development, cloud enablement, and architecture assessment efforts for a variety of clients. She has over five years of experience in technical strategy and delivery for clients ranging from startup to Fortune 500 companies. Samantha specializes in serverless machine intelligence and virtualized resources, and enjoys writing (technical and otherwise) in her free time. She has a B.S. in Computer Science and a B.A. in Spanish from the University of Virginia.
Anna Barnett is a Research Senior Manager for Levvel Research. She manages Levvel's team of analysts and all research content delivery, and helps lead research development strategy for the firm's many technology focus areas. Anna joined Levvel through the acquisition of PayStream Advisors, and for the past several years has served as an expert in several facets of business process automation software. She also covers digital transformation trends and technology, including around DevOps strategy, design systems, application development, and cloud migration. Anna has extensive experience in research-based analytical writing and editing, as well as sales and marketing content creation.
On April 29, you’re invited to join Levvel experts and Rob Galbraith, Bestselling Author at Insurance Nerds, for a webinar on how to best prepare and support a technology approach that meets evolving insured’s expectations.
This article provides insight into the legacy architecture challenges national insurers face and their impact on reaching business goals.
In this new video series, our industry experts discuss why organizations struggle to adopt the cloud, ways to determine which cloud strategy is the right path for your business, and industry best practices when embarking on a cloud migration journey.
Many organizations struggle to understand how to best innovate and improve. However, doing things the way you’ve always done them will prevent your business from scaling effectively.