Tolga Talks Tech is a weekly video series in which Onica’s CTO Tolga Tarhan tackles technical topics related to AWS and cloud computing. This week, Tolga discusses Pipeline Driven Migration and Migration as code with Taylor Bird, Head of Enterprise Cloud at Onica. For more videos in this series, click here.
What are some challenges in the lift and shift model of migration?
Primarily, the challenges are focused around moving what you have in your current data center and moving it to a cloud platform. While that can get you migrated fast and solve some emergency challenges, we’ve noticed a lot of customers are making these big investments to move without any real gains.
What happens is they’re moving the systems they have today, and all the positive things around those systems, along with all of the problems. So any infrastructure challenges, any technical debt, and any problems in that code gets moved up, creating a situation where even though you’re in the cloud, it’s just a one-to-one data center. You’re not getting scalability benefits, you’re not getting disaster recovery benefits of the cloud, and so it’s this big investment that’s just not paying off in any transformational way for customers.
Right, so you might get the cost benefits of the cloud from an OpEx point of view, but not anything beyond that.
Right, and sometimes such an approach can solve an immediate challenge, but ultimately it sets a customer up for spending more in the cloud because it’s not optimized and not taking advantage of those cloud native features that are likely what drove the customer to the cloud to begin with.
If those are the challenges with lift and shift, what’s the alternatives we should be considering?
So what we started to do was look at one of the core tenants of the DevOps movement in continuous integration and deployment pipelines, where you move an application code in real-time onto the systems without any humans interacting with it. We expanded that backwards and found a way to do migrations using the same tenants by fully automating them into something we’ve called a “Pipeline Driven Migration.”
What are the benefits of Pipeline Driven Migrations?
What we see ourselves doing with Pipeline Driven Migration is focusing more on applications and delivering those application services to customers and less around the infrastructure components that do that. From that, you get all the inherent benefits like you do when you’re treating source code for an application. These infrastructure components are represented as infrastructure as code, they’re moved in and out of environments automatically and in a repeatable fashion, and they’re easily code reviewed. We can do automatic quality assurance and security against them just like code. So all the things customers end up wanting we can apply to these infrastructure components in the same way we would an application. By expanding this offering we found a way to make that work not only with easily automated components, but all the infrastructure around them and a large number of third party commercial off-the-shelf products.
So with this methodology we could take an off-the-shelf application and automate it through a pipeline much the same as we would with custom code?
Exactly. Through use of all the automation technologies, even some of the CI platforms that are used for apps, we find a way to build the infrastructure automatically using things like Amazon AMIs or using things like AWS CloudFormation and then scripting languages. We found a wide variety of commercial products, even some of the more large legacy enterprise systems that are heavily used today, can be automated in this way and suddenly turned into these items that can be moved in and out of multiple environments, repeated, and used much the same way as you would any cloud native or modern deployment.
One of the biggest concerns with migration is time to completion. How does Pipeline Driven Migration compare to lift and shift?
A lot of customers have been doing lift and shift for a long time, and it’s true that you can start a lift and shift migration pretty quickly — within a matter of days. With a Pipeline Driven Migration we do take a slightly larger investment upfront to build this repeatable conveyor belt like pipeline. What we actually see is it enables us to better handle things we see down the road. So things are repeatable, we can test things out, we can try things in different ways, and stealing again from DevOps, we can even fail faster and learn quickly. All that wrapped up, what we’ve seen over the course of the couple of years we’ve been doing this is these Pipeline Driven Migrations ultimately end up being done in a significantly less amount of time, and usually with a lot less wasted investment.
And the pipelines are reusable as you move forward.
Exactly, they’re not just a one-and-done investment for the migration. They can be used for a CI pipeline or an infrastructure pipeline that really provides a foundational component for DevOps Transformation that a customer is going to use for years after they’ve completed their initial move the cloud.
Ready to start your own migration to the cloud? Learn more about our Pipeline Driven Migration offering.