By now, it's pretty clear that cloud migration can yield big benefits. In fact, a recent survey from research firm ESG found that nearly 40% of respondents said migrating reduced data center build-out costs. It also increases resource elasticity and speeds up service provisioning.
Reaping those benefits is by no means a sure thing, however. To attain cloud migration nirvana, companies must successfully navigate a host of challenges, including retaining visibility and control over service quality and performance.
Application infrastructures are complex, and companies must make sure that the migration method suits the specific scenario. For example, organizations can choose to simply substitute a SaaS solution of an on-premises application. They can also forklift an existing application that uses a Spring, Java EE, or Microsoft.net framework into a cloud infrastructure without altering it. Alternatively, companies may choose to refactor software as they move it to the cloud through functional decomposition into microservices. Microservices architecture is a prescription to break down an application into many smaller parts, run each of these parts as its own application, and collectively solve the targeted business problem. This can produce a flexible software solution that takes full advantage of the cloud’s potential.
Each approach has drawbacks, however. SaaS implementations can be less flexible than bespoke in-house software, although PaaS architectures can create more room for maneuver. Conversely, lift-and-shift lets a company retain control over its own code but can limit the benefits of a cloud environment.
Refactoring, meanwhile, is perhaps the most challenging approach of all. Microservices are designed and built around business boundaries (for cohesion and to avoid data leakage) with each as a single-purpose application that is independently deployable, scalable, and portable across clouds. To embrace the cloud computing paradigm, companies must spend significant time effectively redeveloping large chunks of their software into net new applications on different VMs and use lightweight protocols for integration such as RESTful interfaces over HTTP.
Cloud migration meets DevOps
Two linked approaches—DevOps and continuous software delivery—have emerged to help streamline cloud migration. Continuous delivery differs from older iterative development methods, which gathered change requests for software and treated them as one big project, batch-delivering them in upgrades that often fell months or years apart. Instead, continuous delivery operates as a constant cycle of software updates on a daily or even hourly basis.
This approach, which revolutionized software development and deployment, was made possible thanks to DevOps, which broke down barriers between development and operations. When DevOps is done right, the process results in rationalizing tools sets to drive business solutions and deliver high-quality services, at a higher velocity. The upside to these methods is clear: increased productivity, speeding up software releases, and accelerated remediation, all of which can optimize cloud-based deployments.
Organizations are embracing DevOps like never before, with many focusing on how to implement it at scale. As Forrester Research discovered in a 2017 online survey, 90% of organizations have either implemented or plan to implement DevOps. But these new ways of doing things have also added a few new wrinkles when it comes to service delivery. For instance, continuous delivery has fueled new software architectures, including container-based microservices that atomize software applications into thousands of discrete functions, each running in its own mini-OS. These functions rely on each other for inputs that enable them to execute, thus creating another level of service dependencies to deliver business value.
The complexities of these new architectures compound an already challenging environment, in which different migration models intermingle and often reside on different cloud infrastructures in varying locations. It all leads to an intricate fabric of services and the need for pervasive visibility and data-driven insights. In the ESG survey, 77% of the respondents said that improved visibility would help accelerate service delivery in the public cloud. In short, if you want the full benefits of cloud migration, you need to find a way to cut through the complexity, and that requires a whole new approach to service assurance.
The need for service intelligence
From the developer’s desktop to the IT infrastructure, the DevOps team needs to understand not just the software development cycles, but also the broader spectrum of cloud-based service dependencies. In many ways, moving to the cloud and container-based microservices punts complexity from Dev to Ops. As such, service intelligence is not only a strategic component of continuous delivery but also necessary to reduce downtime. When going from microservices code out to server farms—both on-premises or on public clouds like AWS or Azure—a continuous deployment pipeline is not necessarily error-free, and problems can quickly scale. Thus, an unobstructed end-to-end view of services and data-driven actionable insights helps development and operations align for the next application iteration and leads to continuous at-scale improvements by detecting failures early on and fixing them before they can impact customers.
Done properly, this will help to make cloud migration projects more predictable by giving developers and IT operation professionals an advanced understanding of how changes affect application and service performance. When embarking on an initiative as significant as cloud migration, it helps to have all this information at your fingertips.
~Ron Lifton, Sr. Solutions Marketing Manager, NETSCOUT