Most of us use cloud services even though we are unaware that we are doing so. Many social media platforms, if not all, are cloud based. A PaaS (Platform-as-a-Service) offering is a third party model in which the service provider offers software and hardware tools, usually for application development. This article discusses a selection of cloud platforms.
In the early days, only geeky end users played around with open source tools and technologies. Today, open source solutions are becoming the de facto standard for many large enterprises. Among the many open source tools, the cloud is one of the hot favourites, as it comes with many cost and operational (capex and opex) advantages.
Many cloud based platforms evolved during 2009-2010 and started incorporating many features that were offered ‘as a service’. Along with public and private cloud platforms, the hybrid cloud (a combination of the public and private cloud) offering has become popular, as it caters both to the privacy needs (the private cloud) of the organisation as well as the scalability options available when hosting in the public cloud.
In this article, I will discuss six popular cloud based open source platforms and frameworks.
WSO2: A PaaS framework maintained by Apache
In June 2013, WSO2 donated the PaaS framework, Stratos, to Apache. The main intention and goal was to foster a vendor-neutral open cloud community that supports a plethora of cloud environments and protects against cloud lock-in.
From May 2014 onwards, this was heavily supported by the likes of SUSE, Cisco, Citrix, NASA, Sungard, etc. WSO2 now provides WSO2 Private PaaS 4.0, the first comprehensive, enterprise-grade Platform-as-a-Service based on the Apache Stratos 4.0 PaaS framework, which was released in 2014.
The framework supports the growth of cloud-enabled connected businesses that demand a PaaS capable of handling the disparate applications and tools used by companies, their customers and partners. The announcement was made in conjunction with WSO2Con Europe 2014.
WSO2 in a nutshell: This is a Platform-as-a-Service (PaaS) framework from the Apache free source community.
- The Elastic Scalability feature for any type of service, using the underlying infra cloud
- Managing, logging and metering of supported services
Foundation services for:
- User management
- Storage and billing
WSO2 architecture explained: WSO2 or Stratos architecture has multiple components to it. As mentioned earlier, along with logging and metering, it has many services components that contain load balancers (which are nothing but service nodes).
These service node components are connected to the ‘real-time event bus’ and to jClouds. The latter supports many cloud platforms like OpenStack, vCloud, CloudStack and EC2. There are also components like Artifact for distribution co-ordination, an auto scaler based on rules, a CEP (complex event processor) and cloud controllers.
If you observe closely, WSO2 is nothing but micro services based architecture that supports various services. Interaction between inner architecture and outer architecture components is made easy with messaging channels, cluster based micro services and the message bus.
WSO2 has the advantage of fostering agility and flexibility with open source. This helps in recomposing code, or making changes and additions to meet specific requirements as and when they evolve. Integration of applications is also made easy.
WSO2 helps in building solutions in the following domains:
- Financial sector (open banking)
- Regulatory compliance (GDPR or General Data Protection Regulations)
WSO2 features: These are listed below.
API management: This API manager involves three components such as API Publisher, API Gateway and API Subscriber. The WSO2 API Manager is a 100 per cent open source enterprise-class solution that supports API publishing, life cycle management, application development, access control, rate limiting and analytics in one cleanly integrated system. This allows users to design, compose and publish the APIs and, hence, API discovery is made easy.
Integration: This brings digital transformation into a single package for connecting enterprise systems and data. This feature helps in:
- Optimising business processes
- Reducing costs and potential bottlenecks
- Leveraging the technology and cost savings of the cloud
- Integrating legacy systems instead of total replacements
- Building businesses that can adapt at speed to changing conditions
IAM (identity and access management): This feature helps in securing digital business by connecting and managing multiple identities. IAM can be integrated with Azure or Salesforce based cloud solutions. IAM bridges multiple, single sign-on (SSO) protocols such as OpenID Connect, SAML 2.0 and WS-Federation to provide a unified SSO experience. It provides strong authentication and enforces multi-factor authentication with SMS/email one-time passwords (OTPs), Fast Identity Online (FIDO), MePIN, Duo Security and more.
The advantages of this feature are:
- Allows easy access from anywhere
- Connects everyone to everything
- Improves productivity
- Enhances the user experience
- Single sign-on and identity federation
- Identity based governance and administration
Analytics: You can leverage streaming analytics to gain the business intelligence you need for digital transformation. WSO2 Data Analytics Server (WSO2 DAS) is a powerful open source analytics platform that analyses data streams in real-time. It offers streaming analytics capabilities, complex event processing and machine learning to help you understand events, map their impacts, identify patterns and react within milliseconds, in real-time.
The advantages are that you can:
- Monitor and analyse with operational analytics
- Create better customer experiences
- Make informed business decisions
- Extend the solutions to analyse the past, present and future
Why WSO2 is enterprise grade: WSO2 provides many enterprise grade advantages and features that no other platform or framework does. These help in easy deployment and integration.
The advantages of WSO2 are:
- Centralised metering and monitoring with a unified logging framework
- Ability to plug in any third party health checking/monitoring framework
- Cartridge model enables bringing in even legacy apps into the cloud as service nodes
- Supports DevOps tooling
- Elastic scaling (not only HTTP based services)
- Cloud bursting (scales across multiple infra clouds simultaneously)
- Multi-zone/data centre support
- Multiple tenant isolation levels (VM, LXC, Docker)
HPE Helion Stackato, a hybrid cloud solution
Stackato (which was a Cloud Foundry and Docker based PaaS) was acquired by HPE around July 2015. HPE Helion Stackato is a cloud native platform that provides enterprises the right services, tools and control to enable developers to accelerate their innovations. HPE Helion Stackato is a polyglot Platform-as-a-Service (PaaS) and also supports SaaS. This can be used to deploy applications written in a wide range of languages and Web frameworks, using a variety of data services.
Helion Stackato helps in the automatic configuration of language runtime, Web servers, application dependencies, databases and other services. Stackato can be run in any data centre using the hypervisor of choice or by using a supported cloud hosting provider. It provides IT operators with simplified deployment and cloud native services. It is infrastructure agnostic, guaranteeing compatibility across cloud infrastructures. With the Helion Service Manager, operators can easily manage application services while leveraging the Helion Control Plane to ensure the entire application life cycle.
HPE Helion Stackato provides multi-cloud integration support for enterprise level developers by using the Web console. Using this, developers can create applications from any code repos (e.g., GitHub) or any of their enterprise grade repos, enable the full build, and then test and deploy the complete pipeline. The management of the application’s life cycle has thus been made very easy. As mentioned earlier, any of the popular development languages like Java, .NET, Python, Go, Ruby and Node.js can be chosen. Also, developers can build and use plugins for the existing popular IDEs like that of MS Visual Studio, Eclipse, etc.
HPE Helion Stackato platform services: These are listed below.
Helion Control Plane (HCP): This is a core platform service that HPE Helion Stackato uses to manage service life cycles and communicate with the underlying cloud provider (IaaS) layer.
Helion Service Manager (HSM): This provides a repository of services that can be used by applications.
Helion Cloud Foundry (HCF): This is a Cloud Foundry certified elastic runtime that simplifies cloud native application development and hosting.
Helion Code Engine (HCE): This is a continuous delivery service that integrates with public or private Git repositories. HCE is a flexible and extensible continuous integration/continuous development (CI/CD) pipeline.
HPE Helion Stackato Console (HSC): This is a Web interface that’s used to manage HCF and HCE features.
The advantages of using Stackato are:
- Stackato provides an agile, robust cloud application platform
- It automates the auto scaling of the Stackato cluster using the supported cloud dashboard
- Working seamlessly together, Stackato and the supported cloud enable you to expand and reduce cloud resources based on user demand, thus reducing the setup time
- Stackato helps in improving the productivity of cloud administrators and developers
Stackato is well suited for enterprise cloud application deployments, and also helps in the application model when compared to IaaS or cloud orchestration software. It combines the flexibility offered by direct VM access on IaaS with the highly automated configuration provided by PaaS. Computing resources are shared efficiently and securely by giving each application its own Linux container (using LXC), which can be extensively customised to suit the application it is hosting.
Stackato supports the following:
- Citrix XenServer
- HP Cloud services
Cloudify was developed and designed on the principles of openness to power the IT transformation revolution. It enables organisations to design, build and deliver various business applications and network services. The latest version of Cloudify is 4.2 and it incorporates enhanced features like advanced security, control and true self-service.
Cloudify has very good orchestration support for NFV (network function virtualisation). It’s TOSCA (Topology and Orchestration Specification for Cloud Applications) based, open and pluggable architecture provides end-to-end management and orchestration (MANO) of the NFV lifecycle.
This enables telecom based organisations and operators to build best-of-breed NFV stacks and reduce the overhead costs considerably.
Cloudify 4.2 introduced a totally new concept for container orchestration with Kubernetes (Kubernetes Cloud Native Orchestration). Now onwards, Cloudify will offer Kubernetes Provider. This will allow you to utilise Cloudify as a cloud provider; so you can easily deploy a cluster as well as scale and auto scale the number of nodes natively, configure networking and load balancing, and have storage and compute customisation as well as native multi-cloud support, as and when required.
Figure 3 shows the detailed architecture of Cloudify.
Cloudify also enables ARIA TOSCA integration. In order to meet the complete standards requirements, TOSCA Simple Profile 1.0 is now supported using the ARIA plugin. The plugin allows orchestrating TOSCA CSAR packages by introducing a new ARIA node type for Cloudify, which exposes Project ARIA’s capabilities to Cloudify.
Note: ARIA (Agile Reference Implementation of Automation) is a vendor neutral and technology independent implementation of the OASIS TOSCA specification. ARIA offers a command line interface (CLI) to develop and execute TOSCA templates, and an easily consumable software development kit (SDK) for building TOSCA enabled software.
Cloudify Composer and Cloudify UI are the two main frameworks that support integration and unified login; both are interdependent and allow many enhancements.
Cloudify’s well-known features are:
- Cloudify supports cloud portability and frees businesses from vendor lock-in, ensuring more flexibility
- It provides a native cloud experience
- It helps in faster app rollout and life cycle automation, shortening the deployment time from days to minutes
- Helps in maximum cloud performance with streamlined processes, enhancing manageability and minimising error
- Helps in complete control, visibility, app-centric activity monitoring
- Cloudify is very cost-efficient and helps to optimise cloud usage
- It helps in application modelling (describes an application with all its resources)
Apart from the above list, orchestration in Cloudify enables maintaining and running identified applications. Pluggability, which is one of the core, unique features of Cloudify, provides reusable components (SDN components, NFV components, and so on) as well as abstraction for the system. And Cloudify’s security features control who has permissions to use it to execute various operations.
Cloud Foundry is an open Platform-as-a-Service (PaaS) which provides a choice of clouds, developer frameworks and application services. Cloud Foundry makes it faster and easier to build, test, deploy and scale applications.
Its features are:
- Application- and services-centric life cycle API
- High performance and dynamic routing
- Data and Web services brokers for cloud brokering
- Linux container management (LXC)
- Features like role based access (RBAC) and teams work well with standards based user
- authentication and authorisation
- Active application health monitoring and management
- Integrated real-time logging API
- Multi-provider ecosystem
OpenShift is Red Hat’s cloud computing PaaS offering. It is an application platform in the cloud where app developers and teams can build, test, deploy and run their applications.
Its features are:
- Built-in support for Node.js, Ruby, Python, PHP, Perl and Java (the standard in today’s enterprise world)
- OpenShift provides customisable cartridge functionality for extensions that allow developers to add any other language they wish
- It supports frameworks ranging from Spring and Rails, to Play, etc
- Auto scaling is one of the prominent features of OpenShift; this helps in scaling of applications by adding additional instances
- OpenShift by Red Hat is built on open source technologies (Red Hat Enterprise Linux- RHEL)
- It provides one-click deployment
Tsuru: a PaaS from Globo.com
Tsuru is an open source PaaS that was started around January 2012. It supports Mongo, MySQL, Elastic Search, Varnish, Redis, Memcached, Cassandra, etc. Tsuru also supports Go, PHP, Static, Node.js, Java, Python and Ruby platforms for development.
Tsuru can be easily and directly deployed from Git repositories. Scaling up of applications using Tsuru is easy, while its integration with Docker and Kubernetes is also picking up very fast.
Its features are:
- Simple architecture
- Easy customisation
- Completely open source
- Zero downtime
The author is a senior architect and has 17+ years of experience in the IT industry. He also has expertise in Docker, virtualisation, cloud computing, AI, ML and OpenStack. He can be contacted at firstname.lastname@example.org.