IBM Cloud Platform Unification Project

Introduction

Earlier this month, we launched a revamped IBM Cloud Platform Experience at our new cloud.ibm.com location. Our primary goal was to unify our IaaS and PaaS offerings to better meet your needs. This was a massive undertaking with changes up and down the stack. We’re very excited by the outcome, and we think you will be too.

Prior to this unification, there were two distinct UI’s at different URLs – one for IaaS and one for PaaS. This understandably led to a lot of frustration and confusion. We wanted to fix this by creating a seamless experience with one UI at a single URL to manage everything. With that in mind, the user experience of our console was overhauled to bring new and/or improved capabilities in the following areas:

  • dashboard (see screenshot below)
  • resource management
  • search and tagging
  • catalog/purchasing
  • account/user management
  • billing
  • support
  • overall performance
  • and more!

  IBM Cloud Console Dashboard

Rollout of cloud.ibm.com

With such massive changes, we faced a number of interesting questions about how to best rollout the new experience. I will summarize our thought process here, but for more details about our strategy, see A/B Test Deployment — Rollout of cloud.ibm.com written by myself and colleague Nic Sauriol.

We were very sensitive to the fact that the holiday season is a key time of year for many of our clients, and we did not want to do anything to disrupt their operations. On the other hand, we believe the new experience offers improvements that our clients could benefit from immediately. Ultimately, we decided to go with an A/B rollout strategy with two consoles running side by side. The diagram below shows a very high-level architecture. Both consoles are deployed separately, but use exactly the same set of IBM Cloud Platform APIs on the backend.

Rollout Architecture for cloud.ibm.com

Users in the A group see the existing experience at console.bluemix.net, while users in the B group get the enhanced console at cloud.ibm.com. However, the choice of console is entirely up to each individual user. At some point in the new year, we will retire the experience at console.bluemix.net and force a transition. But, until then, users are free to switch back and forth between both experiences.

From a technical perspective, we use the IBM Cloud Kubernetes Service to host the microservices that make up the console. By using this service, it’s very simple to spin up Kubernetes clusters to host both experiences. We can easily make use of the same build pipeline, Helm Charts, and so on, but with different code branches for the new experience.

(NOTE: Something not captured in the high-level architecture is that both consoles are actually made up of many geographically load balanced clusters placed all over the world. This is used to provide for high availability and failover. The concepts behind this are described in my previous blog Global IBM Cloud Console Architecture.)

Other Related Content

Aside from the A/B rollout blog summarized above, many teammates of mine produced an extensive set of blogs with detailed information about all of the changes found in the unified experience. I highly recommend you check these out!

Conclusion

I sincerely hope you enjoy the new experience, and would love to get your feedback (both good and bad) in order to learn and better meet your needs. So, please reach out and let me know how it goes!

Evolving the IBM Cloud Console with Microservices: A Node.js Success Story

Learn how the IBM Cloud console architecture evolved from its monolithic origins into a highly scalable, modern microservice-based system, and the role Node.js played. Continue reading