Cloud migrations are complex projects that can take months or even years to complete – one can question whether these are ever really ‘done’. This shifting of data and applications from on-prem data centers to the cloud, whether public or private, is a technically complex undertaking.
The expected benefits from such migrations are predictable lower costs, high availability and scalability that are often tied to the cloud. To be successful, teams need to be aligned around a well-defined business goal – is it to shut down the data center, is it to reduce costs or something else? Without this clarity of goal and buy-in, cloud migration efforts can drag on for a long time.
But these migrations are not just about lifting-and-shifting data and applications to a new cloud-based delivery model even though this might be the fastest path to the cloud. To fully benefit from cloud, some of these workloads need to be re-designed to benefit from latest cloud advances like the modern container-based architectures.
Now, this might necessitate breaking a Java monolithic application into smaller microservices. Such an effort will require multiple team meetings and numerous whiteboarding sessions to map out the code dependencies so that the business-critical application can be re-architected. To be able to map the dependencies one needs to start with the inventory of applications that need to be migrated.
DevOps is foundational
It may be surprisingly hard to answer questions like where the source code for a particular application is hosted or what applications need to be migrated, or even what the definition of an application is. Add to that the complexity of figuring out firewalls, API Gateways, load balancing or tracking microservices for your new cloud-native applications.
This is where having the DevOps mindset as an afterthought can turn out to be a big mistake. Without DevOps, it is hard for organizations to attain high deployment frequency, lower failure rate or cut down mean time to resolution (MTTR) when things go wrong in a production environment. Simply moving some workloads to the cloud won’t ensure success.
Proactively delivering value to the customer
Customers are happy when they get new features more frequently, experience fewer bugs when interacting with products and when their complaints get resolved faster. Today software delivery pipelines that integrate CI and CD tools do a great job of delivering delightful digital experiences. This is because rigorous testing, security scanning and feedback loops become part of the software creation process itself.
In an on-prem world, the waterfall model worked where features were thrown to QA/testing teams when the release cycles were 6 months long, if not longer. Today it is not the case when it comes to release cycles. On cloud, software is deployed multiple times a day and without the adoption of DevOps, this successful cloud migration seems almost impossible. By not adopting the DevOps mindset, software development teams can quickly feel the pain of provisioning, configuring and scaling cloud resources on a continuous basis while also being expected to implement business logic.
To avoid mistakes, plan it such that cloud migration and DevOps adoption occur in parallel. Successful migration is not just having your business-critical applications and data live in the cloud. It is also doing things like immediate benchmarking before and after migration of each critical application and then doing performance monitoring in perpetuity to build feedback loops.
It means automating as much of this process as possible with code. It also means testing early and often as the software is getting written and integrated with code repositories. And last but not the least, don’t wait to scan for security vulnerabilities but make security a part of each step of the software release cycle. All of this is possible and more with DevOps when you have collaborative Dev and DevOps teams.
At Thomvest Ventures, they have been fortunate to have backed the founders of ThousandEyes, Cylance, Harness, Shiftleft etc., and believe that this is still early innings for cloud and there are many challenges for great founders to solve. As you think about launching your dreamboat, please do not hesitate to reach out if I can help with anything!