Just over three months ago, we launched a new portal for technical practitioners—IBM Demos.

IBM Demos is designed to let customers get hands-on experience with a broad range of IBM solutions and capabilities.

If you missed my first blog post about it, be sure to read “Three Reasons to Check Out IBM Demos“ before moving on, as this post will focus on the architecture behind the scenes.

Before I get into the details, though, a quick bit about why you might care about architecture. Obviously, as a consumer or user of a site, you just want things to work. However, in order to keep everything performant as traffic grows, the site needs to scale to continue to provide an excellent user experience.

My hope in sharing this information is that you might learn something about how to design your application on IBM Cloud AND handle the type of growth that we’ve seen—such as handling the 70,000+ users since we launched the site. It’s not just talk; we drink our own champagne so our customers can too.

So, let’s get into it.

IBM Demos is a microservices-based application that leverages a combination of open source technology, PaaS services, SaaS services, and custom development. We chose this hybrid combination to allow us to focus on our core competencies and drive business value, as opposed to trying to build everything from scratch. This is a common pattern many enterprises have adopted, and it’s easy to see why. However, before I get into the why, let me describe a bit more about the architecture itself.

While the core application is built of many microservices that each have specific functions, those microservices can be grouped into three major groups: data, back-end services, and front-end web interface.

Front-end services

We leverage Akamai’s Global Traffic Management to give our worldwide user base the best performance (and reliability) possible by balancing the web traffic across a React app running in three different IBM Cloud data centers. Each of these apps leverages Cloud Foundry to provide the runtime for the app to run, leaving the heavy lifting—from a host perspective—to the IBM Cloud infrastructure. We use Redis for session and state management across the instances as well.

Back-end services

IBM Demos also employs a variety of back-end microservices that handle the various responsibilities required to manage the content, reservations, clean up, reporting, and other functions required to provide a robust and secure service. These services are written in Node.js and also run as Cloud Foundry apps.

Data and content management

Ultimately, users visit IBM Demos for the content within it, so let’s take a quick look at how we handle the data. We leverage a managed DBaaS (Cloudant on IBM Cloud) for our operational data and to cache the content for increased performance. We also use a managed hosting provider to ease the deployment considerations for our core content authoring management system (CMS), which is based on Drupal. Rather than trying to build a complete CMS on our own, we opted to go the open source route. This let us focus on molding a preexisting solution to fit our specific use case requirements and drive forward value for our users.

While we also leverage a slew of other SaaS and open source services to provide monitoring, notifications, ChatOps, and other functionalities, I’ll leave that for a future post.

Seeing is believing—give it a try

I’ll wrap up this article the same way I did last time. While I hope you learned something about the architecture, ultimately, I hope you don’t just take my word for it and will try IBM Demos out for yourself.

When you do try out IBM Demos, you’ll also now have a much greater appreciation for the design and architecture that keeps it operating smoothly behind the scenes as well.

Please feel free to reach out to me directly with your comments or questions. As always, I’m available @TalkToErik.

Categories

More from Cloud

IBM Tech Now: October 2, 2023

< 1 min read - ​Welcome IBM Tech Now, our video web series featuring the latest and greatest news and announcements in the world of technology. Make sure you subscribe to our YouTube channel to be notified every time a new IBM Tech Now video is published. IBM Tech Now: Episode 86 On this episode, we're covering the following topics: AI on IBM Z IBM Maximo Application Suite 8.11 IBM NS1 Connect Stay plugged in You can check out the IBM Blog Announcements for a…

IBM Cloud inactive identities: Ideas for automated processing

4 min read - Regular cleanup is part of all account administration and security best practices, not just for cloud environments. In our blog post on identifying inactive identities, we looked at the APIs offered by IBM Cloud Identity and Access Management (IAM) and how to utilize them to obtain details on IAM identities and API keys. Some readers provided feedback and asked on how to proceed and act on identified inactive identities. In response, we are going lay out possible steps to take.…

IBM Cloud VMware as a Service introduces multitenant as a new, cost-efficient consumption model

4 min read - Businesses often struggle with ongoing operational needs like monitoring, patching and maintenance of their VMware infrastructure or the added concerns over capacity management. At the same time, cost efficiency and control are very important. Not all workloads have identical needs and different business applications have variable requirements. For example, production applications and regulated workloads may require strong isolation, but development/testing, training environments, disaster recovery sites or other applications may have lower availability requirements or they can be ephemeral in nature,…

IBM accelerates enterprise AI for clients with new capabilities on IBM Z

5 min read - Today, we are excited to unveil a new suite of AI offerings for IBM Z that are designed to help clients improve business outcomes by speeding the implementation of enterprise AI on IBM Z across a wide variety of use cases and industries. We are bringing artificial intelligence (AI) to emerging use cases that our clients (like Swiss insurance provider La Mobilière) have begun exploring, such as enhancing the accuracy of insurance policy recommendations, increasing the accuracy and timeliness of…