App Connect Enterprise application as Microservice !

Background

The organization pursuing digital transformation must embrace new ways to use and deploy integration technologies, so they can move quickly in a manner appropriate to the goals of multicloud, decentralization and microservices. Challenges of a centralized ESB pattern are

  • Deployment changes could potentially destabilize other unrelated interfaces running on the centralized ESB.
  • Servers containing many integrations had to be kept running and patched live wherever possible.
  • Topologies for high availability and disaster recovery were complex and expensive.
  • For stability, servers typically ran many versions behind the current release of software reducing productivity.

Solution

A cloud-native application architecture lets developers use a platform as a means for abstracting away from underlying infrastructure dependencies. Instead of configuring, patching, and maintaining operating systems, teams focus on their software. By adopting cloud native architecture, the components such as deployment, delivery, resources, security, operations, routing are taken care by the cloud computing platforms. This architecture focuses on Dev ops (automation), Micro services, Containers.

Automation Flow

App connect enterprise is docker supported. The docker ACE runtime is lightweight. We can download the base ACE docker image from the docker hub. Base ACE docker image can also be built from the docker repository provided by ACE. Updated docker image can be built on top of the base ACE image with the updated code/configurations.

Following steps enable us to develop the services in ACE in micro services architecture with Dev ops automation.

Download the ACE docker repository https://github.com/ot4i/ace-docker. Keep it in an ubuntu system. It provides the docker files which are used to build the docker images. Build the base docker image from the provided repository. Jenkins server can be used to enable the automation. When Jenkins job is triggered, the source files are downloaded from the Git repository into the Jenkins repository. Build the bar file with the updated source files. Now, push the updated bar file into the sample folder of ACE repository available in the ubuntu system. Build the updated docker image on top of the base image. Deploy the docker image to the kubernates cluster set up in a IBM cloud or AWS or Google cloud.

Advantages

Docker container ensures effective isolation, resource sharing, Operational simplicity, Portability. A single service or a set of related services can be grouped together into a single docker container. Code changes, fixed configuration, environment configuration, runtime are updated in each container deployment. With the automation process, changes can be deployed to Test, Staging and production environments quickly and easily. Kubernates cluster makes the services highly scalable and highly available.