Anjana Fernando, Director – Developer Relations at WSO2, UK, discusses how iPaaS (Integration-Platform-as-a-Service) helps to ease workloads for software developments, what the current shortcomings are and also where the future of this tool is headed.
It has been over a decade since Marc Andreessen said that software is eating the world; since then, we have seen many practical examples that this is indeed true. In order to gain a competitive edge, all businesses must eventually digitise themselves. Companies such as Uber and Airbnb have revolutionised their respective markets in unexpected ways. Online banking is now the norm and an essential part of our day-to-day life. Going one step further, we now see online-only banks such as Ally, which completely removes the need to have physical locations. The bank can divert those costs and resources to provide users with more value. All of this is achieved by providing a better digital experience.
Accelerating software development
This comes down to how we develop software and speed time-to-market. This applies to an existing business or a new start-up idea. Whichever, it is essential to provide a digital experience that adds value to the business in a fast and effective manner. The first boost to achieving this was given by Infrastructure as a Service (IaaS) providers such as Amazon Web Services (AWS) and the Google Cloud Platform. Such platforms allowed developers to concentrate on building their software and stop worrying about deployment complexities, such as building their own data centres, handling network security, scaling, disaster recovery, and so on. Users were given the freedom to create a virtual machine with an operating system at will — and install software and libraries and perform their own deployments.
Next came the concept of Platform-as-a-Service (PaaS). This was popularised by platforms such as Heroku and Cloud Foundry. PaaS provides a higher level of abstraction, where the developer can concentrate on the programming language code that is developed, and not the runtime environment or other supporting tools required to run the software. All these dependencies are handled by the PaaS.
As businesses started turning themselves into digital platforms and providing services to customers through the Internet, some provided services to other businesses as well. For example, Google Maps through its web and mobile apps for consumers and map data and route information for businesses like Uber. APIs power such interactions, which make up a large portion of modern software needs and are core drivers behind digital transformation efforts.
Integration using APIs
Today, no one writes software from scratch anymore. It has mostly become a practice of efficiently coordinating and using APIs that have already been implemented. Let’s take a look at the Uber model, it’s known as the largest taxi company in the world, which doesn’t really own any taxis. The company has become successful by performing a useful coordination operation for its users. Drivers and users are connected through a mobile app, using APIs provided by other companies. So, the core logic of its software is solving an integration problem. We see that much of modern application development aims to solve integration problems. This is where an Integration Platform as a Service (iPaaS) comes into play.
An iPaaS is a specialised PaaS that concentrates on creating API compositions, which connect network-available services together. With the availability of a wide variety of Software as a Service (SaaS) applications (such as Google Apps, Salesforce, Netsuite and Slack), APIs allow quick integrations with each other to build useful scenarios. Of course, the result of these integrations can itself be an API that others can use, or frontend applications can consume. These APIs can be hosted in the cloud or on-premises.
Without an iPaaS, a large portion of development time is spent on repeatedly implementing the plumbing for performing service integrations. These include authentication/authorisation, data access, reliable communication, and observability. These low-level operations need more technical knowledge and more experienced and specialised developers are required for the implementations therefore, for more developers to enter this area, we need to reduce complexity.
In 2018, a survey undertaken by Blind showed that the main reason for developers’ burn-out was excessive workload. Typically, more new code means more bugs, more testing and debugging, more production issues, less stability, more time for deployment, and finally, lost revenue due to slower time to market. To overcome this, enterprises should aim to reduce the amount of code written by developers, especially non-business logic.
All the above points to increasing iPaaS adoption by developers. However, Gartner predicts that two-thirds of iPaaS vendors will not survive by 2023. Why is that? The firm believes that most iPaaS vendors will not be profitable owing to a lack of more competitive offerings. This means that most iPaaS systems are yet to provide the most optimal experience that developers need. They expect more from an iPaaS platform.
The Next Generation of iPaaS
The next generation of iPaaS aims to cover the full development lifecycle of an integration solution from design, development, test, production, to monitoring, while following a CI/CD approach to have a higher release velocity and faster time-to-market. This will also encourage developers to rapidly create solutions by writing code fast.
This can be achieved in a variety of ways such as using low-code development – a graphical modelling system that enforces self-documenting integration flows, where the graphical user interface represents a clear picture of the operations that are defined. This approach also reduces common bugs and inefficiencies that users may experience in a code-only environment. It attracts novice developers, who would prefer to work on a higher abstraction, compared to low-level code. Overall, this results in better productivity for all developers.
Furthermore, many integrations and code we write contain certain patterns. By looking at existing integrations and user behaviour and using AI, we can help developers complete programming operations through data mapping, smart connections and performance analysers that provide development time performance predictions and predictive maintenance.
Likewise, there are certain integration flows that occur naturally and more frequently. Due to this, developers will end up creating multiple similar integration flows in their projects. We can eliminate this situation by providing developers with templates of frequently used and compatible integration scenarios. This allows developers to simply concentrate on providing a set of parameters to a template and adding any additional customisations when needed. This approach ensures that developers get instant solutions to work with and avoid wasting time re-implementing a scenario that was already implemented.
Governance is a critical aspect in managing the software development process. A proper governance process makes sure that the code is tracked properly with a version control system, and that the exposed services are managed and tracked properly in a centralised manner.
An API management system should be available for creating managed APIs, which fronts the internal integration flows and other external services used by the system. Here at WSO2 we have over 15 years of experience in creating enterprise integration and API management solutions. Along with this knowhow, we recently launched the Choreo platform, an intelligent iPaaS solution that has been designed from the ground-up to fulfil the requirements of modern development needs.
- Proofpoint: why email is the top cybersecurity threat in 2021
- Supporting your remote workforce: cloud migration for your business in five steps
- SolarWinds IT Trends Report 2021: Building a Secure Future
- Snow Software on cybersecurity trends and challenges in 2021
Today current iPaaS solutions have shortcomings that are pushing developers to find more productivity and overall lower cost implementations to get their software projects off the ground. Choreo is set out to satisfy this demand by providing an intuitive code/low-code hybrid development environment for both immediate and future development needs.