3 min read

WSO2 Choreo - Delivering a Platform for Innovation

  • Asanka Abeysinghe
  • |
  • 15 Jun, 2021

Digital is the most common word we hear today. Every organization is on a digital transformation journey. Internal and external users expect a seamless digital experience from the products and services they consume. Moreover, based on a recent report published by McKinsey & Company, digital transformation programs have leapfrogged ahead by seven years in the wake of the pandemic.

The need for digital transformation, in turn, is driving a new age of software development. More and more enterprises differentiate primarily through digital experiences, transforming themselves into software companies building digital products, regardless of their core business domain.

Competing on Unique Digital Experiences

How organizations focus their software development will determine their success. In a world where most products and services can be replicated, experience has become the true differentiating factor and engagement the biggest driver of an enterprise’s value. For this reason, organizations need to put a priority on building their own unique digital experience, reflecting who they are and what they stand for—qualities that cannot simply be bought.

Jeff Lawson (Twillio CEO) takes the argument to the next level in his book 'Ask Your Developer' by saying 'Build or Die.' We agree. Increasingly, organizations are discovering that their very survival hinges on their ability to build software products that deliver a unique, engaging digital experience to their customers.

Organizations that understand the importance of software operate in a software mindset, which means everyone has to contribute. Groups with different programming skills are joining in the creation and delivery of the digital application supply chain. Some call it the democratization of software development where everyone is a developer. Capital One is a good example for this. The bank’s success story shows how they merged various development skills together when building scrum teams. 

Fostering Agility via the Cloud

At the same time, enterprises have been rethinking their strategies for delivering digital products and services; they have also been migrating from on-premises servers to the cloud to increase their agility.

Nearly two decades ago, Google invented the concept of cloud native computing powered by large volumes of commodity servers, and it has since proven to be the best way to speed the delivery of new applications and scale them to meet market demand. The cloud is now the go-to solution for rapidly delivering agile digital products and services. Cloud native computing is now its own world, with a vast array of technologies available from various alternatives such as the Cloud Native Computing Foundation (CNCF), Amazon Web Services (AWS), and Microsoft Azure.

Simply moving to the cloud is not enough to leverage the full power of cloud technologies. Hence, the modernization of applications has become a parallel exercise using cloud native concepts to ensure a maximum return on digital transformation investments.

Addressing Cloud Complexity

Unfortunately, most digital programs fail. In fact, Harvard Business Review stated that the success rate is less than 30%, resulting in up to USD 900B of waste.

What causes the high failure rate? Primarily, it’s the complexity of the problem space, converting strategy into executable units, a lack of architecture, and legacy technology. The shortage of skilled team members to handle this complexity makes it difficult to find and retain a digital workforce. Additionally, the challenge of integrating systems and subsystems and proper API design for those integrations are technological problems that many organizations find hard to solve. There are many other reasons for this complexity, such as project-based execution with fixed budgets, centralized and layered organization, and application architecture. However, API creation, integration, and management typically top the list.

Organizations stuck in this 'messy middle' find it hard to deliver the value of the digital strategies they have defined. Complicating matters further are the development teams working in silos using different tools based on their technical expertise. We call it the 'low-code and pro-code chasm.' On one side are ad hoc developers who take advantage of low-code platforms. On the other are highly skilled developers that continue to code using software languages due to the limitations of existing low-code platforms that operate by isolating development. Without a common development platform, collaborative development is nearly impossible.

Most of the problems outlined here stem from two primary challenges: the need to reduce the complexity of cloud native computing and the requirement for additional development groups to become involved. A platform that can abstract the complexity and bridge the low-code and pro-code chasm is a great solution. Traditionally, organizations spend a lot of time, effort, and investment building a cloud native platform for software development. Not every company can afford this do-it-yourself approach, never mind the resulting delays in bringing digital products to market.

Some WSO2 customers have gone even further and built their own digital innovation platforms, which address common challenges such as technology complexity, skills gaps, productivity, and agility. Working together with our customers on 1000-plus digital transformation projects, we have identified integration, API development, and security as the core technical capabilities required for most of these initiatives. This inspired us to bring a next-generation, readily available platform for digital innovation to the market: Choreo.

Choreo Overview

Choreo by WSO2 is an integration platform as a service (iPaaS) for innovation, productivity, and simplicity—designed in the cloud for the cloud. The heart of Choreo is Ballerina, the cloud native, open-source programming language introduced by WSO2. Ballerina makes producing and consuming services a breeze. It uniquely enables developers to create the same source code whether they use the text syntax, graphical syntax (utilizing low-code sequence diagrams and flowcharts), or both simultaneously. As a result, ad hoc and highly skilled developers can collaborate in creating enterprise-class apps using the same language.

Further, Choreo utilizes existing WSO2 technologies to provide API management and integration capabilities plus customer identity and access management (CIAM) functionality. As an iPaaS, Choreo provides a readily available hosted data plane and a control plane for the user. However, Choreo also supports a hybrid mode by making the data plane run in a customer’s preferred Kubernetes deployment.

Getting started with Choreo is easy. The self-service portal allows users to bring their social login using GitHub and Google credentials, or users can use their email and sign up for free access. Choreo provides a cloud-based end-to-end development environment to create, test, debug, run and manage three types of cloud native applications: services, APIs, and integrations.

A graphical editor, predefined templates, and built-in wizards provide a seamless no-code and low-code experience. At the same time, a built-in full-code editor delivers a rich pro-code development experience. Finally, the APIs exposed by each application type and external API endpoints can deploy, discover and consume each other in the Choreo marketplace. Choreo provides complete application lifecycle management using professional DevOps pipelines defined using GitOps, taking the artifacts and deploying them into Kubernetes.

The Choreo Difference

As noted earlier, only Choreo lets developers switch between a graphical editor and a textual editor to have a simultaneous low-code and pro-code experience. The visual editor represents the code semantics using sequence diagram and flowchart notations, while the textual editor provides a fully integrated development environment (IDE). The result of both coding experiences is fully open-source Ballerina code; hence, the visual or textual editor's changes get reflected to each other seamlessly.

Unlike other low-code solutions where the source code is effectively a black box, with Choreo, enterprises get lock-in free low-code that they control. Choreo stores the generated open-source Ballerina code in GitHub. Users can clone the Git repository and take the code offline, edit it using freely available open-source tools, and run it in any preferred environment.

Choreo also offers deep observability capabilities matched by few other iPaaS offerings on the market. These capabilities enable developers to view observability data at both design time and run-time to troubleshoot issues. In addition, observability data collected is fed into an analytical engine to provide business analytics.

Artificial intelligence (AI) built into Choreo guides the user through the development experience. First, Choreo learns from historical activities and performance behaviors with AI-assisted development to anticipate most of a developer's needs. Then, as developers code, it pushes the boundaries of AI to provide performance feedback, code completion, anomaly detection, and data mapping.

Business Impact

Choreo brings many business benefits. Choreo's low-code and DevOps features abstract out complexities but still let you dig deep when you want to. Choreo enables visionaries from anywhere in the organization to become creators—taking an idea from concept to reality in hours, not weeks, regardless of technical expertise. Now, enterprise teams can focus on building great digital experiences, apps, and services and let Choreo take care of all the rest.

Ultimately, Choreo accelerates your organization’s transformation by providing a platform for digital innovation and bridging the low-code pro-code chasm—all while creating a frictionless flow for professional developers. With Choreo, the dividing line between business and IT is finally being blurred.

Choreo by WSO2 is available today as a public beta at https://wso2.com/choreo.