An MSP Provider Builds a Cross-IaaS Management Platform with IBM Bluemix

Unigma, a managed infrastructure services provider (MSP), recently delivered a cloud platform for unifying infrastructure operations. The company relied on Altoros and IBM Bluemix to accelerate the process.

A need for a multi-tenant cloud management solution

Recent Gartner research revealed that 55% percent of CIOs expect their enterprises to deliver more than half of their applications as SaaS—or manage them in a public cloud infrastructure—by 2020. Many other studies confirm that most of enterprises are already having a multi-cloud strategy, combining public, hybrid, and private clouds.

Within this context, Unigma, a US-based managed infrastructure services provider, decided to develop a multi-tenant cloud management platform to unify and simplify infrastructure management. The result was a cost-effective system that accelerated cloud infrastructure management by a 5x factor, while monitoring multiple cloud infrastructures in a unified environment. Unigma was also able to save US$1,000 per month through IBM Bluemix offering a trial year for startups, and the solution provided the company with a new revenue channel.

This article shares their success story using IBM Bluemix to furnish Unigma’s customers with a robust and more cost-effective solution than others on the market.

 

Struggling with multi-cloud infrastructure

Generally, IT infrastructure administrators face a number of issues related to:

  • Viewing and correlating metrics from multiple clouds
  • Getting full control over multiple cloud accounts
  • Making troubleshooting a breeze
  • Adding as many different cloud accounts as necessary
  • Optimizing IaaS expenses as required
  • Executing operations without logging into different cloud control panels
  • Scheduling tasks for any resource
  • Saving time by automating using smart tasks

At the same time, many business requirements should also be addressed when developing a cloud infrastructure product:

  • Time to market
  • Handling spikes in traffic
  • Decreasing the cost as much as possible when there are little users in the system
  • Relying on managed services to decrease the TCO
  • Do not bother about upgrading and patching the runtime environment
  • Utilization of 3rd-party “standard” features instead of creating them internally
  • High availability of the services, etc.

unigma-logoUnigma’s management team realized that cloud management platforms are emerging quickly as cloud infrastructures proliferate within the modern enterprise. The company decided to develop a multi-tenant cloud management platform to unify and simplify infrastructure management. Unigma is an independent provider of managed infrastructure services, helping its customers to monitor, operate, and support cloud infrastructures.

altoros-logoThe company employed Altoros to work with the IBM Bluemix platform
(a Cloud Foundry distribution) to meet the challenges its customers face. Altoros is a global software development company headquartered in Sunnyvale, CA. It integrates software assembly lines into large organizations by deploying solutions offered by the Cloud Foundry ecosystem. Altoros customers are among the first to create and monetize application-driven competitive advantages with various Cloud Foundry distributions, including IBM Bluemix.

 

Platform evaluation

In addition to the general issues listed above, a few specific challenges arose as Unigma worked with the Altoros team:

  • Optimize requests and connections to cut expenses on bandwidth
  • Avoid exceeding the limit of concurrent requests to cloud APIs
  • Adapt the system to rapidly changing load
  • Guarantee a respectable level of security

So, Altoros conducted research to provide Unigma with several potential approaches. Four platform offerings came to be under consideration, with specific features as follows:

Considered pointAWSIBM BluemixHerokuPivotal Web Services (PWS)
Architecture and footprintApps in plain virtual machinesApps in containers or/and virtual machinesApps in plain virtual machinesApps in containers
Scalability (change # of app instances)MinutesSecondsMinutesFrom seconds to minutes
12-factor complianceSome in-app configuration filesFully compliant bindingsNeeds additional apps developmentPartially compliant, needs additional settings
The app goes liveHours, days, or weeksMinutes. One click from the Bluemix CatalogHours, days, or weeksMinutes. One click from the PWS
Industry-specific built-in servicesMarketplace options only (a limited small number of built-in services)Integrations, connectors, app templates. Various types of both built-in services and developed by partnersNoneA limited number of integrations and connectors
API managementNone. Build your ownAPI Connect, a built-in toolNone. Build your own3rd party tool, 3scale API Gateway
LoggingRetrieves logs from each VMBuilt-in loggingRetrieves logs from each VMBuilt-in logging
Support for cloud environmentsAWS only– SoftLayer
– Private/hybrid cloud (co-location)
– Bare metal servers
– GPU computing
Heroku onlyAWS only
Heavy open-source contributorNone. Employees are not allowed to contribute to any open-source communityA founding member of the Cloud Foundry Foundation.
Regular code contributions to the key infrastructure project.
NoneA founding member of the Cloud Foundry Foundation.
Regular code contributions to the key infrastructure project

The investigation showed that the optimal solution would need to rely on microservices and the 12-factor app paradigm, which implies implementing each component of the system as an independent, stateless service running on the platform.

 

IBM Bluemix selected

Pivotal Web Services (PWS) and the IBM Bluemix platform were shortlisted during the evaluation period. Both address a full list of requirements mentioned above, both are fully compliant with the 12-factor paradigm, and both are based on the CLoud Foundry PaaS.

Cloud Foundry, as a platform for building and running cloud-native applications and services, is built according to a set of well-defined principles to remove complexity from the end user. Its appeal also stems from its open approach in three dimensions:

  • Cloud Foundry is infrastructure-agnostic
  • It has polyglot language support
  • It is open-sourced, yet supported by a mature ecosystem and a multi-organization foundation (including IBM, VMware, Pivotal, HPE, SAP, etc.)

In addition to four levels of high availability (HA), zero-downtime application updates, and attachable backing services, Cloud Foundry offers a number of built-in capabilities and integration points for key enterprise concerns:

  • Resiliency and fault tolerance through self-healing and redundancy
  • User access and authentication management
  • Security and auditing
  • Application life-cycle management, including aggregated streaming of logs and metrics
  • Release engineering, including provisioning VMs, containers, middleware, and databases with BOSH—an open source tool for release engineering, deployment, lifecycle management, and monitoring of distributed systems.

Bluemix got the edge because its marketplace provides a wide range of built-in extra-featured services, which allow the extension of an application’s functionality in a lean manner, with little development resources and expenses involved. It was specifically important for Unigma, as its product roadmap outlines plans to implement functionality to provide an intelligent help and support system that could be implemented using IBM Watson Conversation and event-driven IT process execution (e.g., backup, restore, migrate, run additional service, etc.) that can be enabled by the OpenWhisk service.

IBM Bluemix also enables DevOps / developers to run applications, straight containers, serverless architectures, VMs and bare-metal machines, a capability that is quite valuable for extreme loads and high-speed applications for which containers are not enough.

 

The solution

Cloud Foundry and IBM Bluemix enabled Unigma and Altoros to address the challenges described earlier by implementing the following system architecture.

unigma-adopting-ibm-bluemix-and-cloud-foundry-architecture

The solution features six modules:

  1. Administrative dashboard. Allows for adding users and cloud resources, as well as adjusting billing settings (e.g., a user can change a payment method).
  2. Cloud workers module. Defines three groups of workers, responsible for:
    • Extracting data from a number of resources (VMs, load balancers, cloud datastores, web apps, etc.) and storing it in a centralized database (Cassandra)
    • Extracting statistics about the usage of cloud resources
    • Extracting billing information and storing it in a MySQL database
  3. Monitoring module. Allows for tracking and analyzing how efficiently cloud resources are used and creating notifications with guidelines on how to react to a health status of the resource.
  4. Automation module. Executes smart tasks across all the cloud resources at preset time intervals. Thus, a user can launch or terminate a VM, or start / restart / stop / resize / terminate an instance.
  5. Cost analytics module. Analyzes how much one spends on using a particular cloud resource and provides recommendations on how to cut down on expenses.
  6. Reporting module. Enables users to generate a variety of reports.

Deployed to Bluemix, the application features two manifest versions—for development and production environments. The solution is a web application comprising a number of independent microservices. The key components are:

  • Three background workers that upload metrics from the IaaS systems—Google, Azure, and AWS
  • A monitoring microservice
  • An API Gateway
  • A data service

ibm-bluemix-apps-key-components-microservices-v11

In addition to deploying the Unigma application to IBM Bluemix using a Java buildpack, the following services were also utilized:

  • Compose for RabbitMQ
  • ClearDB MySQL Database
  • Payeezy
  • Content Delivery (CDN)
  • Single Sign On
  • Active Deploy

unigma-ibm-bluemix-utilized-services-v11

The decision was also made to extract monitoring statistics straight from the APIs, so that cloud workers do not store any outdated statuses/data. For now, the background workers are running for one instance only, but with different memory settings for each of user accounts.

Alongside network / architecture / data security, the team implemented an API Gateway with single sign-on between the microservices. Using Spring Boot / Spring Security, engineers at Altoros created a separate module that contains the web client code and securely proxies all calls to different components. This helped ensure overall app security at the network level and minimize risks of a cross-site scripting (XSS) attack.

unigma-instances-v11

To optimize requests and bandwidth usage, developers at Altoros created a pool of connections and combined requests in batches.

unigma-monitoring-v11

The platform enables Unigma’s customers to monitor cloud infrastructures and build reports in a unified dashboard. Integrated with a number of cloud computing platforms (e.g., Microsoft Azure, Amazon AWS, etc.), the solution also facilitates administrative and DevOps work.

unigma-monitoring-in-a-unified-dashboard-v11
 

The result

Relying on the Bluemix platform, microservices, and support from Altoros, Unigma was able to accelerate product delivery, releasing the system in just 6 months. The developed system provided the customer with an additional revenue channel, enabling to focus on core activities (providing cloud services).

Relying on managed services and re-usable blocks instead of creating them internally also decreased TCO. The event-driven nature of the platforms helps to cut infrastructures costs when there are little users in the system or less services are used. In addition to high availability of the services, Unigma spent very little time on operating the runtime in both development and production environments.

unigma-ibm-bluemix-cloud-foundry-graphs-v11

Unigma was also able to save US$1,000 per month through IBM Bluemix offering a trial year for startups.

Additionally, customers of Unigma benefit from monitoring multi-cloud infrastructures in a unified environment, cutting time spent on infrastructure operations by a factor of 5.

 

What’s next?

Three additional features are now being implemented by Unigma and Altoros to bring more business value to the solution:

  • Cost-saving logic to estimate the efficiency of using cloud accounts and deliver recommendations on optimal cloud infrastructures
  • unigma-cost-saving-logic-v11

  • A cost calculator that will aid users in finding offers and pricing that fit their needs
  • An intelligent support chatbot that utilizes the IBM Watson Conversation service to quickly build, test, and deploy the chatbot or a virtual agent across devices, messaging platforms, or even on a physical robot. The service has a visual dialog builder to enable natural conversations between applications and users. The solution also features built-in cognitive analysis of text and provides user with typical answers

unigma-support-chatbot-ibm-watson-v17

The team at Altoros is also implementing a wizard responsible for executing event-driven processes to monitor system events and drive intelligent decision making (e.g., backup, restore, migrate, run additional service, etc.).

For that purpose, the IBM OpenWhisk service has been employed, providing a distributed compute service to execute application logic in response to events and allowing developers to compose solutions using modern abstraction and chaining, which can be created, accessed, updated, and deleted via a CLI.

unigma-wizard-ibm-openwhisk-v17

For details of the project, visit Unigma or contact us. Dig into our website to learn more about IBM Bluemix, Watson services, or event-driven development with OpenWhisk.


This post was written by Sophie Turol and Alex Khizhnyak.