Where are you using WebAssembly?
Wasm promises to let developers build once and run anywhere. Are you using it yet?
At work, for production apps
At work, but not for production apps
I don’t use WebAssembly but expect to when the technology matures
I have no plans to use WebAssembly
No plans and I get mad whenever I see the buzzword
Cloud Native Ecosystem / Cloud Services

How AI Makes Cloud Migration a Whole Lot Easier

The message for those enterprises that have not yet taken steps to begin their cloud migration journey is clear: the time for sitting on the sidelines is over.
Jun 4th, 2019 2:24pm by
Featued image for: How AI Makes Cloud Migration a Whole Lot Easier

Dynatrace sponsored this post.

Dr. Peter Putz
Peter is a technology strategist at Dynatrace. He has over 15 years of experience in leading international software project teams of scientists and engineers, and managing the full lifecycle of complex, innovative IT solutions. Prior to joining Dynatrace, he was a senior scientist at the NASA Ames Research Center.

The message for those enterprises that have not yet taken steps to begin their cloud migration journey is clear: the time for sitting on the sidelines is over.

Getting there, of course, is no quick, cheap or easy feat when identifying which applications to move to the cloud and which to keep on-premise. How to refactor those apps with cloud native technologies or create a hybrid-cloud setup that allows you to continue leveraging data and apps on-premise represents another potential conundrum for many DevOps teams. Suffice it to say, it’s a complicated process.

But, consider the drawbacks of not making the investment to rebuild your legacy apps for the cloud: technological debt, competitive disadvantages in agility and flexibility and frustrated customers left with poor user experiences. There is really no choice but to move on and embrace the cloud’s technologies and processes.

Every organization’s cloud native journey is different. But there are a few steps that any enterprise needs to undertake to get started.

The three first steps every enterprise needs to take to go cloud native:

  1. You have to define a vision for what that cloud strategy system will be. What are the needs of your customers? How do you plan to deliver your products and services? What role does the cloud setup play for DevOps and your delivery pipeline? How do you ensure solid system performance and an overall robust end-user experience? What’s your cloud platform of choice: Public or private? Single-cloud, multi-cloud or hybrid-cloud? These might seem like no-brainer questions, but the answers form your cloud-native building blocks and must be treated as such;
  2. Have a thorough understanding of your existing legacy systems. Profile applications to ensure you know how they work and baseline their performance so you can later compare them to how they’re performing in the cloud — and guarantee that they’re running better. Or, if not, knowing just how and where they’re falling short of those baselines can be just as important. Monitoring plays a key role in this profiling stage: everything from creating topology maps of your entire technology stack, to mapping out interdependencies between systems, to automated performance baselining, to full stress tests. These are all necessary ingredients to ensure you’re getting a comprehensive snapshot of your existing system architecture, service flow and performance;
  3. Define the migration strategy itself. Plan for which applications to retain or retire, and then, of those that are retained, which to lift and shift to the cloud, re-platform or refactor. Each method has its own strengths and drawbacks. Lifting and shifting applications is the quickest, as it requires no code modification — though the downside to that is, you’re essentially preserving its on-premise architecture, meaning the app won’t fully take advantage of its new cloud environment. On the opposite end, refactoring is the most resource-intensive, as it calls for re-architecting the app from the ground up. Typically, this involves breaking up a monolithic application with millions of code lines into multiple, more dynamic microservices that are easy to maintain and scale. But because this process results in an application that is purpose-built for the cloud, it also reaps the greatest ROI, with more long-term operational and cost advantages compared to lifting and shifting.

The answer lies in automation and software intelligence

After you’ve laid out your cloud-migration vision, profiled your legacy applications and defined your migration strategies, next comes the nitty-gritty work of the actual migration itself. It’s a process potentially fraught with technical challenges and substantial organizational changes, including:

  • Rebuilding your organization from highly specialized stovepipes and waterfall methodologies into agile DevOps teams and process automation;
  • Building continuous integration and continuous delivery systems;
  • The integration of legacy and cloud-native components;
  • And the risks of missing migration deadlines or goals, including system performance under real-life conditions (think Black Friday or global events).

This is where AI and automation enter the picture.

Enterprises need to automate everything. Successful cloud migrations rely on automating continuous builds, integration and delivery (spanning tests at all stages); on automating operations, performance monitoring and instrumentation for monitoring; on automating root-cause analysis and remediation; and on automating performance baselining and configurations.

Hand-in-hand with this “automate everything” approach is leveraging AI. Modern web-scale cloud applications are simply too complex to be operated by humans alone. Software intelligence builds on strong AI to oversee the health of the entire system from end to end. Smart anomaly detection, real-time root-cause analysis and business impact assessment are key pillars of support that AI brings to the table.

What does this mean for cloud migrations and cloud-native transformations? For one, software intelligence and automation create visibility and actionable insights. This empowers software engineers to have full ownership over the entire value chain: from initial coding to deployment of the final product. It fuels the creation of a strong, agile DevOps culture where engineers can truly commit to “you build it, you run it.”

AI can also be utilized for further improving CI/CD pipelines to meet migration deadlines and ensure excellent software quality. Software intelligence helps to close existing automation gaps like manual approval steps at decision gates or build validation. It also provides valuable performance signatures to test new builds against production scenarios.

Finally, software intelligence is key for operations to deliver outstanding customer experiences. The promise of AIOps is to detect performance problems and their root cause in real-time with such precision that corrective actions can be triggered automatically.

Are You Ready?

 Embarking on a cloud strategy requires serious, substantial organizational changes. AI and automation provide the tools to make that journey as navigable and seamless as possible. By automating performance monitoring, remediation, CI/CD pipelines, root-cause analysis, stress testing, system configurations and many more steps, AI saves IT a ton of tedious manual legwork — and the costs and headaches that go with it. More than that, AI and automation help to lay the foundation for a culture that lives and breathes DevOps and AIOps. And at the end of the day, a fully-formed, agile DevOps culture — facilitated by AI and automation — is the key to a successful cloud transformation journey.

Feature image via Pixabay.

Group Created with Sketch.
THE NEW STACK UPDATE A newsletter digest of the week’s most important stories & analyses.