Geek Culture
Published in

Geek Culture

Choreo is neither aPaaS nor iPaaS

What is unique about Choreo (by WSO2) when compared with PaaS

Background

WSO2 has been building enterprise software since 2005 and the team has been working with 1000s of enterprise customers ever since. WSO2’s products cover a range of capabilities from API Management (APIM), Integration, Stream Processing, and Customer Identity and Access Management (CIAM). All these product capabilities are available to the users as installable software (binaries) that can be installed on customers' choice of infrastructures such as physical servers, virtual machines, and cloud infrastructure. In addition to these installable versions, WSO2 has offered these functionalities as a cloud (SaaS) solution via WSO2 Cloud. This SaaS offering was a scalable installation of WSO2 products on a shared cloud infrastructure which did not provide many capabilities beyond the installable components’ functionality.

WSO2 team has identified this as a limitation of the platform given the fact that most enterprises are moving towards cloud and cloud-native solutions. After several years of RnD efforts, the WSO2 team is thrilled to announce the General Availability (GA) of Choreo on 30th March 2022. The official announcement can be found here.

Choreo by WSO2 is not yet another SaaS (cloud) version of WSO2 products. It is a SaaS product that was built from the ground up to tackle the challenges experienced by the WSO2 team along with 1000s of customers when building enterprise software systems in the past. In addition to that, it also covers the modern cloud-native engineering aspects of software development such as CI/CD, AI-based development, Automation, Observability, and Scalability. You can learn more about Choreo by visiting the official website of Choreo here.

In this post, I’m going to discuss the unique features of Choreo that differentiate it from other aPaaS (application PaaS) and iPaaS (integration PaaS) solutions out there.

Introduction

The software delivery models have changed significantly over the last decade and most of the so-called enterprise applications and software that were once considered legacy, on-premise solutions have evolved into cloud-hosted, software as a service (SaaS) models. This model of offering a software application or a platform as a service (XaaS) offers many advantages to the users. In this article, we are going to discuss 2 of the most prominent models of software delivery as a service and compare them with Choreo.

  • Application Platform as a Service (aPaaS)
  • Integration Platform as a Service (iPaaS)
  • Choreo by WSO2

Let us take a closer look at these software models so that we can discuss and compare the models in the later sections of this article.

aPaaS

An Application Platform as a Service or an aPaaS is a cloud service that offers an on-demand computing platform to develop, test and deploy applications. It is a platform that allows developers to build their applications and deploy them to production and pre-production environments without worrying about the underlying complexities of managing the servers, runtime environments, operating systems, etc. It frees developers from the burden of those low-level tasks and lets them focus on building the business logic which is critical to the organization. Most of the mega cloud vendors such as AWS, Azure, and Google provide their own flavors of aPaaS solutions and there are purpose-built aPaaS solutions such as Heroku and Mendix available in the market. Some of the major benefits of aPaaS includes

  • Speed of development and deployment — With the built-in runtimes, build pipelines, and test tools, the development teams can focus on building applications and releasing them more often rather than waiting on manual deployments, and testing processes that take a long time.
  • Scalability — The underlying cloud infrastructure provides the automatic scalability of the applications as and when there are increases in demand. This is handled automatically by the aPaaS platform and the developers just need to configure the minimum and the maximum number of replicas.
  • Availability — Depending on the solution we select, these platforms are available across multiple locations and geographies. Hence developers can provide greater experiences to application consumers without spending billions of dollars on setting up data centers across the globe.
  • Flexibility — These platforms allow developers to choose from multiple programming languages and frameworks so that they can utilize the best tool for their tasks.
  • Agility — With the built-in workflows and software development lifecycles (SDLC), these platforms allow developers to build applications in an agile manner rather than following the traditional waterfall style of development approaches.

These aPaaS platforms are useful for enterprises that do not have large IT departments to maintain and manage an IT infrastructure (or they do not want to do that) but do have high demands for innovation within the IT ecosystem. These platforms require a set of skilled developers to utilize the platform and build software applications for the enterprise.

iPaaS

Integration Platform as a Service or iPaaS is a purpose-built platform targeting the need for enterprise integration.

According to Gartner, “Integration Platform as a Service (iPaaS) is a suite of cloud services enabling development, execution and governance of integration flows connecting any combination of on-premises and cloud-based processes, services, applications and data within individual or across multiple organizations”.

Most of the iPaaS platforms provide low code and/or no-code abstractions to build integrations fast and allow the so-called citizen integrators who do not have a strong programming background but have strong domain knowledge to utilize these platforms. These platforms hide the complexity of the underlying infrastructure and allow developers to focus on building applications by integrating systems, applications, and data.

Sometimes these platforms are called Enterprise iPaaS or EiPaaS to demonstrate the nature of the integrations whether it is an enterprise-level integration product or a product focusing on end-user integration requirements. But most of the leading iPaaS platforms can be considered EiPaaS as well since they are utilized in enterprise integration projects as well. There are many iPaaS vendors in the market including Boomi, Mulesoft, Informatica, Tibco, Celigo, and WSO2. In addition to the integration of applications, systems, and data, these platforms allow exposing these integrated services to internal and external consumers via API Management capabilities so that the business can scale. Here are a couple of advantages of an iPaaS (or EiPaaS) platform.

  • Faster time to market — Most of these platforms allow developers to build integrations with low-code and no-code experiences so that they can build applications faster and efficiently. All the building blocks and templates are pre-built and developing a complex integration will only take a few hours when compared to an aPaaS.
  • User friendly — These platforms allow not only the developers but also the non-developers such as business analysts, and domain experts to use the tool and create integrations for business use cases without worrying about writing code.
  • Direct ROI— It allows businesses to expose their internal products and services via APIs so that consumers can reach out to the business via digital mediums. At the same time, it allows partners and 3rd party developers to build digital experiences for a new array of users who were not reachable with traditional business models. These options produce the direct ROI of the tool.
  • Standardization — Without an integration platform, applications have to integrate with each other in a point-to-point manner without any common standard and it makes it harder to measure the business impact of such a system. An iPaaS allows these integrations to be done in a standardized way and monitor their operations in a standardized manner so that business leaders can make the decisions based on real data rather than depending on technical leaders’ wisdom.

In addition to these advantages, most of the iPaaS platforms provide the benefits provided by the aPaaS vendors such as availability and scalability since these solutions are running on top of a shared or a private cloud infrastructure that provides these underlying capabilities.

What is Choreo?

WSO2 team defines Choreo as a Digital Platform as a Service (DPaaS). According to the Choreo official documentation, “Choreo is a digital innovation platform that allows you to develop, deploy and manage cloud-native applications at scale. Its AI-assisted, low-code application development environment simplifies creating services, managing APIs, and building integrations while ensuring best practices and secure coding guidelines”.

This definition differentiates Choreo from the traditional iPaaS and aPaaS solutions that we discussed before. Choreo focuses on building modern enterprise applications using cloud-native engineering technologies and practices. It supports both low code and pro code development approaches while providing a real iPaaS like experience. Given below is a list of advantages that Choreo offers to the users.

  • Supports both low-code and pro-code — The improved productivity offered through the low code approach and the flexibility offered through the code-based development make Choreo a unique experience for the developers. Both citizen integrators and developers can utilize the platform to their best advantage.
  • Batteries included for cloud-native engineering — Choreo not only provides the programming interface to the developers but also provides all the underlying technologies to build cloud-native applications with industry best practices including GitOps, Observability, CI/CD, Connectors, and API management.
  • Supports rapid development — Choreo’s built-in governance features allow developers to build applications, test them and deploy that into production environments in hours not months. The entire process is streamlined and governed through the users and roles so that the quality of the product is not compromised for speed.
  • Deep observability — Distributed systems are born to fail. Failure is not an anomaly. Choreo’s deep observability features allow users to avoid failures with proper monitoring and alerts as well as recover quickly when things get failed.
  • Unique developer experience — Choreo provides a unique development experience with the source code generating visual representation at the same time and displays side by side. It also provides AI-assisted development experience by providing insights into the performance of the code while writing the code.
  • Marketplace and Developer portal — The marketplace is the place where developers within an organization as well as across organizations can share their services with others. This provides the opportunity to reuse existing services as well as make them better by getting feedback from the users. The developer portal allows teams to share the API endpoints with internal and external users who are interested in building applications using these endpoints.

You can learn more about Choreo by visiting the official documentation here.

The figure below depicts the overlapping features of each solution.

Figure: aPaaS, iPaaS, and Choreo feature comparison

Comparison of aPaaS, iPaaS and Choreo (DPaaS)

Developer productivity

  • aPaaS — Infrastructure is offered by the platform to select from multiple runtimes to build applications. Requires developers to build applications and then configure the pipelines to deploy into the production and pre-production environments.
  • iPaaS — Provides a higher-level, domain-specific language (DSL) to develop applications quickly. Citizen integrators with not much development experience can build applications using the provides low-code, no-code interfaces. Separate deployment environments need to be managed by the developers.
  • Choreo — Provides support for low-code/no-code as well as pro-code developers to choose based on the experience of the team. The Underlying infrastructure is provided to manage source code, and deploy applications to production and pre-production environments with a few button clicks.

Time to market

  • aPaaS — This may take from a few weeks to a few months. In addition to the application development time, it will take time to configure the build pipelines, multiple environments, security controls, observability, and monitoring.
  • iPaaS — This may take a couple of weeks. Reduced application development time compared to aPaaS due to the DSL-based approach. It will take additional time to configure multiple environments and build pipelines.
  • Choreo — This may take a few days to a week. The application development time can be the same as iPaaS. Time will be saved on setting up environments and build pipelines since these are already pre-configured in Choreo along with security, observability, and monitoring.

Flexibility

  • aPaaS — Provides more choices to select from when selecting programming languages, runtime environments, infrastructure platforms and other tools. This is good if you have multiple teams who wish to develop applications with different technologies.
  • iPaaS — Not much choice. Need to use the technology and tools provided by the platform. Sometimes easier since there is no need to argue about the choices.
  • Choreo — Not much choice. Same as iPaaS. Need to use the available tools.

In addition to the aforementioned differences, there can be differences in terms of pricing model, location availability of infrastructure, and other areas.

Common advantages of aPaaS, iPaaS, and Choreo

  • Availability — Since most of these platforms utilize cloud infrastructure to run, these solutions are highly available with enough redundancy.
  • Scalability — Most solutions provide automatic scalability based on usage so that users do not need to worry about scaling applications manually.
  • Easier Infrastructure Management — Most of the infrastructure management is offloaded to the vendor and the user only needs to manage the applications and the related tools.
  • Compliance — Since these platforms are managed by the vendor, they could make the solutions comply with the required standards depending on the business domains they involve in. Some examples are PCI DSS, FEDRAMP, SOC2, and HIPAA.

--

--

--

A new tech publication by Start it up (https://medium.com/swlh).

Recommended from Medium

First day at Makers

HOPR on Polkadot

Building For “Universal”

Kotlin Coroutines MVVM Retrofit UnitTestCases — Part1

What is cloud computing with AWS?

Write C extensions for Python: A binary tree example

Building Scalable and highly customizable reporting tool with Crystal Report

Crystal Report tool Logo image

How we built a 10K email list for our online course

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Chanaka Fernando

Chanaka Fernando

Writes about Microservices, APIs, and Integration. Author of “Designing Microservices Platforms with NATS”

More from Medium

Accelerate — Software Delivery Performance

Zachman in a Nuthsell: Framework and Examples

How to Measure System Reliability

Study case: managing an engineering team