364
UTFORSKA vad vi kan och gör
UTFORSKA vad vi kan och gör

Stäng

Kompetensområden

Kontakta oss

KAFFE ELLER TÉ? Vi kan väl ses över en kopp.
Opensource

Blogg november 27, 2017

OPEN SOURCE INTEGRATION – INTEGRATION WITHOUT THE CLUTTER

In the era of microservices, containers and dev-ops and constantly trying to reduce time to deliver the one thing you won’t want to be constrained by is your integration platform. On the contrary, it should be at the forefront of technology. At its core is the principle to build once, and deploy many.

You as an enterprise should feel free to use any form of hosting and deployment model without being restrained by complicated licensing models for your integration platform. In fact, you should be certain that your integration platform will run on AWS, GCC, IBM Bluemix, on-premise Linux/Windows machines or mixture of all the above. Furthermore, you want to be able to auto-scale your platform and develop independent services that “manage” themselves who’s lifecycle run independently of each other. All of this should off course work seamlessly with modern CI/CD platforms using git/Jenkins/Ansible/docker/kubernetes etc. This is not easily done with commercial platforms without thinking of complicated licensing costs.  

An open source integration platform has further advantages. Rather than being restricted to a vendor and its features, an open source integration platform utilizes existing tools for automatic compiling, build & deploy, logging and monitoring. There is no need for complicated scripts or setups. An integration platform should provide you with all the essentials from the start. Your main concern should just be to develop and deploy.  

The above can now be realized through a packing of several existing components into a complete platform.  

  • Apache Camel is the leading integration framework and is where you develop your integrations

  • Spring boot/ Apache Karaf is your runtime environment

  • Docker is used to enable each integration to have its own lifecycle

  • Kubernetes is used for auto-scaling and auto-healing of each docker container

  • CI/CD tools are used for automatic build & deploy

  • Elastic-search is used for logging

  • Grafana/InfluxDB is used for monitoring and metrics 

Off course you as a customer will receive a complete package that is ready to be installed and configure from day one.  

Another headache with commercial platforms are related to migration of code and environments. This is no longer the case when you run each integration separate from each other inside docker. This enables migration of each integration on its own without affecting other services. You may choose to use Camel 2.2X on one service and Camel 2.3X on another.   

To summarize it, an integration platform should possess all the tools necessary for development, deployment, build & deploy, containerization, logging and monitoring from day one. Furthermore, using a microservices approach, you enable faster time to delivery by deploying each service in an automatic fashion. Check in your code in your repository and your build server will take care of the rest. These are the essentials of a modern platform rather than the exception.  

Interested in knowing more or getting started contact me at Enfo.


Souciance Rashti, Integration Architect, Enfo  
Souciance.Rashti@enfo.se