Global enterprises are reaping the benefits of cloud migration, including cost reduction, improved flexibility (scaling up or down to meet demands), greater agility when responding to technological change, and enhanced customer experiences.
But for most organizations, cloud migration requires tough decisions. The three most common cloud journey strategies include:
- Rehosting: The simplest option—also known as “lift-and-shift”—where you drop an existing application into your new hosting environment. Rehosting speeds cloud deployment but doesn’t take full advantage of cloud benefits, such as added flexibility and scalability. This also means least cost-effectiveness.
- Replatforming: Upgrading your application to run effectively in the cloud, but without major alterations. For example, moving from MySQL to cloud-native databases could be done quickly with minor code changes. Your goal here is to avoid glitches that hamper application performance and functionality.
- Refactoring: Modernizing your application stack by breaking a monolith application into smaller microservices. This allows you to leverage more modern cloud native technologies such as containers, Kubernetes and serverless.
Stages of Cloud Migration
A typical cloud migration journey involves multiple stages:
Step 1: Identify Apps
Identify your business applications best suited to run in the cloud. Enlist the help of your operations team to choose the most cost-effective, cloud-worthy applications to run in the cloud without impacting your business. The selection process may include prioritizing cloud-ready apps with the most business impact and least migration effort, versus those with the least business impact and most effort.
Step 2: Move to Cloud
Begin the migration based on your chosen cloud strategy (e.g., rehosting, replatforming, refactoring, and so on). This step may take from several days to weeks, depending on the complexity of the application services.
Step 3: Validate
Now you’re ready to validate the cloud migration success step by step until the migration is considered complete. This stage will reveal what isn’t working—problems that impact your end users and business—and is where companies often make the mistake of not enlisting the help of an application performance management (APM) solution.
Step 4: Measure and Optimize
Measure and optimize your application quality, availability, cloud resources and spend. During this stage, continue to evolve application code running in the cloud by adopting cloud native services. Many customers who start with a rehosting migration strategy adopt refactoring by modifying code to leverage bits and pieces of cloud services.
Managing Cloud Migration Complexity with APM
Your cloud journey will go more smoothly when you incorporate an application monitoring strategy right after you’ve identified apps you plan to migrate. Once you’ve installed our APM agents, AppDynamics Application Intelligence Platform automatically baselines every metric collected, enabling you to diagnose and troubleshoot problems or find hotspots associated with your application code running in the cloud or on-premise. AppDynamics agents allow you to identify how your app was behaving before, during and after migration.
As your cloud journey advances, you’ll continue to optimize code to reduce cloud costs and accelerate your release cycle, while adopting more cloud native services. AppDynamics automatically discovers every component within your application, as well as third-party calls and business transaction flows. This visibility provides a granular view of how your application interacts with other apps and end users.
The Power of Cognition Engine
The AppDynamics Cognition Engine is powered by machine learning (ML) algorithms that give you the power to:
- Automate anomaly detection and root cause analysis (RCA)
- Drive intelligent alerting and automated actions
- Reduce MTTR through insights
Our AI/ML-based RCA can automatically identify anomalies and alert when performance issues cause baselined metrics to deviate.
Once the agent instruments your applications, you’ll see numerous interactions across different services mapped automatically in a dynamic Application Flow Map, such as in the example below for our fictitious company, NextGen Financial. If you leverage cloud native services such as AWS Lambda or Azure Functions via App Services, you’ll be able to identify the upstream and downstream interactions across these services.
At the bottom of the Application Flow Map, three graphs show the overall load, response time, and number of errors for the entire application for a selected time period. This is a great place to start when looking for spikes, trends or patterns. A dotted line marks the dynamic metric baseline for a selected time range.
In the example above, we’re within the baseline limits for Load (left) and Response Time (middle). If there’s an increase or decrease based on these metrics, you’ll be notified via various notification channels such as email, Slack, or PagerDuty.
The Errors threshold (right) is above the baseline with a 1.6% error rate. By clicking “Errors” in the Transaction Scorecard, we see a list of errors that AppDynamics has captured automatically. To investigate further, we click one snapshot, /web-api/quoteService, for a flow map view of the specific error.
Dig Deeper with Anomaly Detection
By default, Anomaly Detection in AppDynamics automatically alerts you to all anomalies related to Business Transactions in your application. In our example, we’ll navigate to the Events list and double-click Anomaly Started – Critical to view more details on this issue.
We see the top suspected causes (below, left column) of the critical anomaly, as well as a flow map pinpointing credit-check-services as the anomaly’s starting point, followed by credit-services and transaction-services.
The AppDynamics Cognition Engine uses machine learning to automatically identify an application issue, and how that issue is impacting other services. Under Top Suspected Causes, we see our anomaly is possibly affected by a high CPU spike.
Clicking the first Suspected Cause window reveals even more details: the average response time has skyrocketed higher—and a sudden increase in CPU burn rate could have caused the spike in response time.
To learn more, we view Transaction Snapshots, such as the interaction (below) across different services, each mapped automatically from the snapshot captured by our Agent. When a bottleneck occurs, AppDynamics immediately stores a snapshot of every interaction—a boon for troubleshooting in the future.
For example, credit-services above is interacting with several different services. The warning notification above the credit-services node tells us a violation has been triggered. To dive deeper, we click the notification to view the stack trace automatically created by AppDynamics (based on the Agent’s instrumentation). Below we see that a specific HTTP call took more than 99% of the total transaction time.
Now that we’ve found the anomaly, let’s explore some of the infrastructure-related information we’ve captured. Below, we click Servers (top), then Clusters (left), and choose a Kubernetes cluster to see how it’s behaving.
We quickly see the number of errors, evictions and threats associated with the cluster, as well as the number of pods running. AppDynamics charts CPU and memory utilization, too (not pictured).
By viewing detailed information on Kubernetes pods, we identify all the components running within this specific cluster—the namespaces we’re currently monitoring, container IDs, and the hosts these containers are running in.
All of this is easy to deploy: Simply use our AppDynamics Operator or Helm charts to deploy your Cluster Agent, and monitor the pods and containers natively using Kubernetes APIs.
The Executive Dashboard provides sharp visibility of the user journey, as well as issues with our on-prem services. Below, the services we’ve moved to AWS are behaving well (green), but some data center (DC) services are performing poorly (red).
The Pre And Post Cloud Migration dashboard below makes it easy to confirm that conversion rates have risen dramatically—from just under 51% (on-prem) to nearly 81% (AWS). Hurrah!
Successful Cloud Migration with AppDynamics
Using AppDynamics in its cloud migration journey, Wyndham Resorts rapidly optimized performance throughput, increasing mobile booking by 75% and reducing reservation costs by 40%. The benefits of monitoring were so dramatic that the company’s CIO said they would’ve been “flying blind” without them.
Go here to request a demo, sign up for a beta, or learn how AppDynamics can simply your cloud journey.
To get access to more product insights, visit the Transform 2020 virtual conference space to access product demos and overviews.