Software-Defined Integration: A New Trend or Just a Fancy Name?
Software-defined everything seems to be everywhere these days. In this article, Olga Annenko discusses software-defined integration and what it should mean to you.
Join the DZone community and get the full member experience.Join For Free
Have you ever heard of software-defined integration? If you haven’t, you are by far not in the minority. The term and the phenomenon that it describes are quite new. Even though you find some entries on the internet, most of them use the term as a catchy phrase, but in reality talk about software-defined networking.
So, what is software-defined integration, and why you should care about it in the first place? Below I will elaborate on a concrete definition of this concept, the conditions under which software-defined integration can be identified as such, and mention a few real-life implementation examples.
What Does "Software-Defined" Mean?
Recently, software-defined something has sprung up like mushrooms after the rain. More often than not, you come across software-defined networking, but there are also software-defined storage, software-defined visibility, software-defined data center, and quite many other software-defined things.
So, what concept is hiding behind the word software-defined? Webopedia gives us quite a neat (and simple) explanation:
“With software-defined everything, the computing infrastructure is virtualized and delivered as a service. In a software-defined everything environment, management and control of the networking, storage, and/or data center infrastructure are automated by intelligent software rather than by the hardware components of the infrastructure.”
So far, so good.
Software-Defined Integration and What It's Good For
Now, if we use the above definition, then we can define software-defined integration as integration that is delivered as a service. Of course, I must admit that there is nothing unusual about this concept, either. However, the real-life implementation of software-defined integration is what makes it special.
Imagine that you have a cloud-based software product or service. It can be a platform as a service such as cPaaS (communication platform as a service), it can be a SaaS application (say, for hotel management), or it can even be customer-based application integration service, like the one that many digital agencies or implementation partners offer.
Your product or service is good, you know that for sure. But there are similar products and services that are equally good. So, how do you stand out?
In these times, when everything seems to be connected to everything (and if not, then it will definitely be connected first thing the next day), the answer to how to find your competitive differentiation is quite simple: equip your product or service with wider integration capabilities than your competitors do.
This way, your cPaaS can be quickly and easily connected to leading enterprise-grade CRM systems, saving your customer development costs. Your SaaS hotel management application will provide out-of-the-box connectivity to major property management, marketing automation, workflow management, accounting, and CRM software solutions. Or, you will be able to standardize and scale your integration services to address more customers and reduce own implementation costs.
The Role of the API Economy in Software-Defined Integration
The scenarios mentioned in the previous paragraph are not just some stories made out of thin air. These are real-life examples of how technology companies use iPaaS (integration platform as a service) to build new and better products or services or to improve the existing ones.
Beware, though, as not any iPaaS is fit for this purpose. In effect, software-defined integration automates and standardizes applications integration via integration management API delivered by an iPaaS provider. As such, it enables integration specialists to reuse their integrations consistently across multiple products and systems. This means that an absolute must for an iPaaS offering to be considered for software-defined integration is the availability of its own API.
In this scenario, an iPaaS’s RESTful Application Programming Interface (API) is integrated directly into another SaaS or PaaS or integration service offering to allow any external software system or solution to interact with it directly and on an as-needed basis. This approach ensures that that offering has integration capability that is easily programmable, pervasive, and dynamic.
As a rule, such integration management API helps reduce own development and implementation costs and time considerably, which by default leads to faster time-to-market of the new or upgraded SaaS, PaaS or integration service offering.
So, a definition for software-defined integration would be something along these lines:
Software-defined integration (SDI) is an emerging concept for applications integration that is easily manageable, cost-effective, and Agile, making it ideal for the dynamic nature of today’s technology market. This concept decouples the integration functionality and integration software enabling the integration functionality to become directly embeddable and the underlying infrastructure to be abstracted for applications and integration services. An integration management API is a fundamental element for an SDI solution.
Main Features of Software-Defined Integration and Their Benefits
Based on our newly outlined definition, we can now name at least four main features of the so call SDI:
- Directly embeddable. Integration functionality of iPaaS is directly embeddable because it is decoupled from the actual integration software.
- Agile. Abstracting integration functionality from the actual integration software lets integration specialists dynamically create new products or improve existing ones to meet changing business needs or address market challenges.
- Centrally managed. The business logic of integration platform, features and functionalities, updates, and patches are centralized in the actual integration software. The integration specialists are freed from installing any updates or fixes and new features are available immediately through the integration management API.
- Dynamically configured. Software-defined integration lets developers configure, manage, secure, and optimize integration workflows very quickly via API calls.
Requirements for Delivering Software-Defined Integration
As already mentioned earlier, not any iPaaS is good for software-defined integration. Of course, the most obvious requirement is the availability of integration management API, but there are also some other crucial requirements without which it is impossible to deliver SDI.
- Multi-tenancy. This requirement should be actually regarded as default, and it’s quite obvious why. As we have already mentioned, integration functionality in SDI is decoupled from the software, and the software is managed centrally, which means that it makes sense if this one software instance is able to serve multiple tenants (or, in other words, customers).
- Isolation of resources. Derived from the multi-tenancy requirement, it can be safely concluded that with SDI, proper isolation of resources is utterly important. In the end, no one wants that their data is accidentally seen by another tenant. There are various ways to achieve good isolation, but probably the best indication of that is the application of the containers technology (Docker) in the iPaaS architecture.
- Elastic scalability. This requirement has also something to do with multi-tenancy. After all, since one environment is shared between several customers, it can happen that one customer adversely affects the rest by suddenly overloading the system or certain resources. Therefore, in addition to proper resources isolation, it is also crucial for iPaaS to be elastically scalable, preferably in an automated fashion.
- Resource-based pricing. This requirement is actually connected to the availability of integration management API. API simply doesn’t make any sense to SaaS, PaaS, or integration services providers if there iPaaS vendor doesn’t offer resource-based pricing. Which basically means that the sheer existence of API obliges iPaaS vendors to provide this type of pricing and billing.
Published at DZone with permission of Olga Annenko, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.