A modernization effort often requires you to be in parallel working states across a wide range of environments at the same time.
In his recent post, Global Acceleration Architect James Belton provided us with an application modernization scenario that covered several offerings in the IBM Cloud Catalog. Let’s touch on a few of the offerings from that scenario as well as highlight some additional IBM Cloud tools to help with our current and future states.
Current state: Migration to VPC – sometimes you still need machines
While a lot of business logic and day-to-day automation can be accomplished via ReplicaSets and ephemeral functions for some workloads, you still need machines. Be they physical or virtual, an ssh session and a capable package manager can still lift mountains.
With the introduction of IBM Schematics, you can now use your same Infrastructure-as-Code workflow to provision your Virtual Private Cloud at IBM. Backed by the Terraform Infrastructure-as-Code tooling, Schematics can help take the guesswork out of new environments with consistent, repeatable deployments that mimic your remote infrastructure.
After I’ve done my initial POC and translated my on-premises resources to use the IBM Provider, I commit and push my changes to GitHub. Schematics then takes my desired state and creates resources to match it. In this case, my desired state includes the following:
- An isolated infrastructure environment across three distinct zones in the US-South region.
- An application cluster running on virtual compute nodes across the three zones.
- Network ACLs to control subnet traffic between our zones and access to other IBM Cloud Services.
- Security groups and rules to ensure machines are only sending and receiving authorized traffic.
- An object storage bucket for log data and shared configurations.
- Logging and monitoring that works across environments.
Current state: Logging
Schematics took care of the underlying infrastructure of the environment; now we have a pristine workspace to start migrating in workloads. If you have children or cats, you’re probably aware of the universal law that states, “Your clean workspace will soon be a jumbled mess of entropy and Legos”. Log Analysis with LogDNA can help you modernize log management to address data sprawl by enabling the following:
- Sending logs from on-premises deployments, cloud infrastructure, microservices, and more. Filter, search, and tail log data in real time from a single dashboard.
- Streamlining the collection and analysis of your logging data, even as your infrastructure grows more complex and dynamic.
- Alerting notifications that allow you to act promptly to impacting application and service events.
Current stage: Health and metrics
With the help of LogDNA, we’ve identified some migration gremlins and solidified some new feature updates. To ensure we’ve squashed all of our initial migration bugs and can get insight into how our updated feature set is performing, we can add IBM Cloud Monitoring with Sysdig. With this, you have:
- Deep visibility into the performance and health of your applications, services, and platforms, wherever they may live.
- Full-stack telemetry that allows you to troubleshoot from the service level all the way down to the system level.
- Multi-channel notifications to services like Slack, PagerDuty, and OpsGenie that allow you to accelerate your reaction and response time to anomalies, downtime, and performance degradation.
Future state: Cloud Object Storage and triggers
I decided early in the migration process that I would use IBM Cloud Object Storage for the data that my application would use and ingest. Cloud Object storage offers a cost-effective solution with flexible tiers, regional and geographic redundancy, and extensive tool integration.
Looking at the current reports from LogDNA and Sysdig, I’ve decided my batch processing of images has become a real bottleneck. Using the IBM Cloud Functions service, I can now offload that processing to the cloud and use serverless compute. When a new image is uploaded to my bucket, Cloud Functions receives a trigger that a new object has been added. From there, it can execute the following actions:
- Generate a thumbnail for display on our interactive photo map.
- Use Watson Visual Recognition to analyze and classify the image (e.g., landmarks or wildlife).
- Send image metadata to our Databases for Elasticsearch instance for cataloging.
As soon as our Functions actions have completed, the underlying infrastructure goes away. I am not paying for idle compute that is just waiting to be utilized. I can quickly scale up and down to meet demand while not overpaying for capacity.
Register for the webcast to learn more
Are you using the right tools for your current and future state? Log into IBM Cloud and continue your application modernization journey today.