October 30, 2019 By Erik Anderson 3 min read

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.

Was this article helpful?

More from Cloud

A clear path to value: Overcome challenges on your FinOps journey 

3 min read - In recent years, cloud adoption services have accelerated, with companies increasingly moving from traditional on-premises hosting to public cloud solutions. However, the rise of hybrid and multi-cloud patterns has led to challenges in optimizing value and controlling cloud expenditure, resulting in a shift from capital to operational expenses.   According to a Gartner report, cloud operational expenses are expected to surpass traditional IT spending, reflecting the ongoing transformation in expenditure patterns by 2025. FinOps is an evolving cloud financial management discipline…

IBM Power8 end of service: What are my options?

3 min read - IBM Power8® generation of IBM Power Systems was introduced ten years ago and it is now time to retire that generation. The end-of-service (EoS) support for the entire IBM Power8 server line is scheduled for this year, commencing in March 2024 and concluding in October 2024. EoS dates vary by model: 31 March 2024: maintenance expires for Power Systems S812LC, S822, S822L, 822LC, 824 and 824L. 31 May 2024: maintenance expires for Power Systems S812L, S814 and 822LC. 31 October…

24 IBM offerings winning TrustRadius 2024 Top Rated Awards

2 min read - TrustRadius is a buyer intelligence platform for business technology. Comprehensive product information, in-depth customer insights and peer conversations enable buyers to make confident decisions. “Earning a Top Rated Award means the vendor has excellent customer satisfaction and proven credibility. It’s based entirely on reviews and customer sentiment,” said Becky Susko, TrustRadius, Marketing Program Manager of Awards. Top Rated Awards have to be earned: Gain 10+ new reviews in the past 12 months Earn a trScore of 7.5 or higher from…

IBM Newsletters

Get our newsletters and topic updates that deliver the latest thought leadership and insights on emerging trends.
Subscribe now More newsletters