Cloudreach Donates the Connect iPaaS to Eclipse
In the beginning…
I built the first version of Cloudreach Connect in April 2014, when I joined the company as a developer in the Salesforce consultancy practice. Since then, a lot has changed; Cloudreach has grown quickly (when I joined we only had offices in London and Edinburgh).
Connect was a bi-product, or, some would say, a driver, of that success. The platform was originally designed to support integrations into and out of Salesforce.com. It included new features like API consolidation and a fully transactional data layer which allowed us to efficiently resolve the issue of complex distributed transactions over unreliable systems.
Salesforce.com is a front-end business system and the most typical of integrations was that into a back-end system or ERP. Often, ERP’s were located behind corporate firewalls and in corporate data centers. Security was the key concern when communicating with these business critical systems, therefore we needed a revolutionary network model to enable communication in these conditions.
As Cloudreach evolved to focus more on the public cloud space, Connect became its own product line within the company and has been lead by myself since then.
The challenges presented in the public cloud space are different to those encountered in the Salesforce.com ecosystem. Connect became a tool with which Big Data workloads and ETL processes were defined and orchestrated. We evolved the tooling and its underlying platform to support these workloads and increase support for systems typically used in this space, such as ServiceNow and Hadoop.
As time moved on, we understood that what Connect and its underlying cloud application server X2 were really good at doing was unlocking the innovative potential in our customers and that a closed commercial model was distracting us from that mission. If you look at the platform technology available today from Kubernetes to Android, we can see a clear trend. Large technology companies are working with open source communities to innovate. The public forum has proven the be the best environment in which to innovate and the technologies brought to market in this way are by far the most successful. It is for this reason we decide to join the party and donate Connect, X2, and it’s suite of supporting applications to the Eclipse Foundation.
Why Change the Name?
Though this is probably not known to most customers, most of the technology that makes Connect work is actually in the application server X2. The application server is responsible for the interaction with the public cloud, the virtualized peer to peer networking technology (think Blockchain), and the application modularisation.
Connect is actually just one of many applications built on-top of the server technology. Like any other Java application server, X2 allows you to deploy enterprise applications. In X2, these take the form of “modules” which are event driven code blocks that are triggered when certain conditions are present on public cloud infrastructure “like serverless”.
Open source is a bit different to commercial software. In commercial software, you describe your product in-function of the solutions it can provide to customers. In this respect, front-ending the technology with the “iPaaS” integration application sends a powerful message because it provides the well known integration solution as an outcome. However, in the open source arena, your customers are no longer businesses with business problems but developers with developer problems. X2 speaks more to the developer as it provides tooling and infrastructure with which new applications can be built, deployed, and managed.
Open source solutions are focused on developers and therefore we are proud that the technology will now be known as Eclipse X2.
I think that anyone who has ever written anything in Java has probably downloaded the Eclipse IDE as some point in time. I personally even used the commercial offering “VisualAge for Java by IBM”. So for Java developers, Eclipse is a household name and Eclipse X2 is built in Java and Java developers are our customers. X2 actually supports all JVM based languages and is fully compatible with the GraalVM so the language scope is much broader than just Java.
Eclipse X2 is also built on other popular Eclipse technologies like Jetty and Paho. If we add to this the recent ownership transfer for the Java Enterprise set of technologies to Eclipse via the Jakarta EE project, we can see that Eclipse was really the obvious choice.
We are very excited about this new partnership and look forward to evolving the software platform with the Foundation, its members, and community enthusiast to build the world’s first public cloud application server.
Eclipse X2 will be released with initial support for AWS and Azure, with plans already drawn out for GCP support, allowing our customers to innovate faster. The technology will live in the public cloud, very similar to serverless frameworks such as Lambda or Azure functions, and can run on anything with a JVM (from a bare metal server to a process on a container), requiring nothing but a security policy. The application server will then create and destroy resources in the public cloud automatically, based on what “application services” the application needs to run at any point in time.
This model allows developers to focus on building their application logic and forget about how to deploy, scale, version, deprecate, release, document, and test. Eclipse X2 even provides frameworks to build application introspection and performance management into the enterprise applications deployed, providing a “no-weight” apm solution for every application deployed. By providing intrinsic management of application resources based on application demand and translation to a number of public cloud technologies, X2 automatically makes the best possible use of public cloud while eliminating any vendor lock-in normally associated to the use of PaaS or FaaS services.
Eclipse X2 addresses the concerns of application lifecycle management from the build, all the way through to release and performance management. It provides a comprehensive UI/UX component library, integration into popular authentication providers (Google, Microsoft, OAuth2, Ldap, etc) and a package management solution that makes building, deploying, and maintaining complex microservices based solutions simple and scalable. The peer-to-peer networking model allows computation to be distributed between cloud and on-premise and enables the design of true multi-cloud applications which can be built to take advantage of services across different cloud service providers.
The largest criticism we faced when bringing this technology to market was that, by building applications on X2, they would be agnostic to the cloud providers but would be locked-in to Cloudreach. However, with the release to open source, we have removed this roadblock to adoption and truly hope that this technology will further our mission to increase adoption of public cloud technologies.
As the original author of Connect, X2, and the number of other technologies which we are releasing to the open source community, I can but look back on my experience as a father would look upon a child going off to college. I truly believe that a community release of this technology was the right thing to do for Cloudreach and the Java community. I am overwhelmed by the potential this announcement creates for technology and look forward to seeing the ecosystem of software components thrive in its new home with the Eclipse Foundation.
I would also like to thank the members of the Eclipse foundation that helped me navigate the structures of the community, a special thanks to Mike and Wayne as well as to all the Cloudreachers who helped me along the way.