* [Topics](/en/topics "Topics")
* [Containers](/en/topics/containers "Containers")
* How microservices support IT integration in healthcare
How microservices support IT integration in healthcare
======================================================
Published  August 19, 2021•*6*-minute read
Copy URL
Jump to section
---------------
IntroductionChallenges of healthcare IT integrationChallenges of ESBMicroservices-based integration and DevOpsBenefits of microservices-based integration
Introduction
------------
[Microservices](/en/topics/microservices/what-are-microservices) enable developers in healthcare and other industries to create applications made from loosely coupled services, making them easier to develop, test, deploy, and upgrade. These benefits are leading healthcare developers to embrace microservices over the previous generation of IT integration technology, the Enterprise Service Bus (ESB).
[Analyst material: Red Hat Integration helps optimize application performance](/en/engage/red-hat-integration-20220427 "Red Hat Integration helps enterprises optimize application performance and business results")
The challenges of healthcare IT integration
-------------------------------------------
Like any large enterprise, a healthcare organization's IT environment is a sprawling collection of diverse systems that need to share mission-critical data. The admission/discharge transfer system (ADT), scheduling system, lab system, radiology system, and billing system, just to name a few, all need to communicate—and that data can be vital during a medical emergency.
In the digital era, healthcare providers have adopted Electronic Healthcare Records (EHR), but there is limited value to EHR unless the data can be shared between those many applications. The challenge of healthcare system integration goes back decades, to 1987 and the establishment of Health Level Seven (HL7), the global standard for transfer of clinical and administrative data between applications used in healthcare. After this common language was established, the healthcare industry needed a way to connect applications so they could communicate via HL7.
Years ago IT practitioners learned that making direct point-to-point connections between each application is not practical and becomes more challenging as the enterprise grows. In addition, although HL7 offered a universal format, there was not a common way to interpret the fields, so some data transformation was needed, as well as connectivity, to support communication between healthcare systems.
The first integration technology adopted by healthcare providers was the Interface Engine (IE), a server that acted as a hub between all systems inside a hospital. Each system would connect with the IE, which would transform the data and route it to the other systems as needed. Then the Enterprise Service Bus (ESB) emerged about 20 years ago. Similar to the IE, an ESB serves as a hub to exchange data between healthcare applications, primarily using HL7. An ESB provides data transformation, protocol conversion, routing, and support for web services, JMS, HTTP and [SOAP](/en/topics/integration/whats-the-difference-between-soap-rest) — as well as easy management and monitoring. ESB has been the most popular solution for integration (in healthcare as well as other industries) for two decades.
Red Hat resources
-----------------
[Keep reading](/en/resources "Keep reading")
Challenges of ESB
-----------------
Since the introduction of the ESB, application development has evolved significantly. One of the most important changes is the move towards agile development and DevOps, leaving ESBs behind.
The DevOps pipeline is a development lifecycle based on incremental changes and continuous automated testing. In the age of DevOps, the characteristics that once made ESB popular now serve as a hindrance. An ESB has all integrations deployed into one monolith. While that had advantages in the past, it is now the problem that makes ESB incompatible with DevOps.
In the modern development environment, ESBs present the following limitations:
* **Incompatibility with agile developers and DevOps tools:** Many of today's new developers, just out of college, are trained in a DevOps environment. These agile developers are most productive when using their preferred tools, the latest DevOps solutions on the market — but ESBs were not designed to support these tools.
* **Changes impact the entire system:** When you need to make any change to rules on an ESB, even small changes, you need to pause the entire engine, which means any application interacting with the ESB will experience disruptive and unproductive downtime. Similarly, any error introduced by the change could potentially impact all your integrations. The result is a counterproductive team mentality that resists upgrades and fixes.
* **Single point of failure:** Because all integrations are routed through the same hub, an ESB represents a single point of failure for the entire enterprise. If the ESB goes down, all your integrations go down.
* **Inability to automate testing:** Automated testing is a key component of DevOps. In the DevOps pipeline, every update is tested independently, so it does not disrupt the development process. This is accomplished through automation. However, the ESB's proprietary GUI and version control make automation impossible.
Healthcare, like other industries, has embraced the new development practices of microservices, devops, and agile. This embrace has extended to healthcare integration as well; the new applications and digital touchpoints require integration in HL7, REST, and other protocols. Microservices developers in the healthcare world want to control their integrations along with the other code they develop (e.g. data, streaming, GUI, command and control, etc) and package all changes in deployable units that travel through CICD. The limitations above inhibit this goal of CICD for integration code with other code.
Why microservices-based integration is ideal for DevOps
-------------------------------------------------------
Microservices are the future of development, and the ESB is simply not compatible. While ESBs are monolithic, microservices are the opposite—enabling developers to create applications and integrations using building blocks of loosely coupled services. By breaking applications into independent modules, it is easier to develop, test, make changes, test again, fix, deploy, test in production, upgrade and so on.
Microservices make [DevOps](/en/topics/devops) possible because they enable automated testing. Since microservices represent small components, they easily fit into containers, which can automate the testing process and facilitate [continuous integration and continuous delivery (CI/CD)](/en/topics/devops/what-is-ci-cd). On the other hand, a monolithic ESB is too large to fit into a container, and cannot be broken down into components, and therefore cannot be tested the same way.
But maybe the most important reason to adopt microservices-based integration is to support agile developers and allow them to use their favorite DevOps tools. By removing ESB from the equation, you are freeing developers to work in an agile development environment they are not only familiar with, but also prefer. Without ESBs, developers do not have to be trained on a proprietary system, but instead can focus on a more productive development approach.
In addition, microservices democratize integration by allowing developers to explore their own integration needs, rather than restricting integration to an isolated team of ESB specialists. This makes more sense because no one understands the data requirements of the application better than the application developer.
Microservices also support API management, allowing for API-based integration when necessary.
Meanwhile, microservices-based integration offers you the same advantages that you gain from an ESB, such as graphical transformation and the logic to create sophisticated rules about how data flows through your enterprise. For example, you may like the ESB's graphical development canvases, but you can find similar canvases that support microservices-based integration.
The benefits of microservices-based integration
-----------------------------------------------
Microservices-based integration delivers several bottom-line benefits including:
**Comprehensive monitoring and management:** Microservices can be monitored by state of the art tools preferred by agile developers (ie. Kibana, Elasticsearch, [Grafana](/en/topics/data-services/what-is-grafana), Prometheus, etc.) to pinpoint points of failure so you can solve issues before they become problems that impact the business.
**Automated testing:** One of the greatest advantages of microservices and DevOps is the ability to do automated testing. Each integration is treated as an independent component as it goes through the testing process, without disrupting other components of the application or other applications.
**Superior software quality:** Ultimately, more efficient processes and improved testing results in higher quality software.
**Accelerated development:** By streamlining the integration development process with DevOps and automation, and eliminating formerly manual processes, you speed up the development lifecycle.
**Greater scalability:** Because applications are composed of independent modules, each service can be scaled up independently without impacting the rest of the application.
**Advanced Innovation:** Microservices and DevOps together empower your developers to innovate integration solutions to enable your organization to introduce new services, and serve your customers better.
**Business agility:** Agile development naturally leads to business agility, the ability to react quickly to changes in the market. For example, new partners or vendors that require data sharing can be quickly onboarded as the agile development team leverages microservices to rapidly build the integrations necessary to support the business relationships.
**Improved customer experience:** Your fundamental goal is to serve your customers — the patients that depend on your healthcare services every day. By improving processes and seamlessly sharing data between systems and departments, you ultimately ensure a satisfying patient experience.
You may see the task of migrating your integration to microservices as a daunting undertaking. Why make the change? After all, your team is already familiar with the proprietary aspects of the ESB you have depended on for so many years. But therein lies the problem. What if one or two of your ESB experts leave the organization? What would it take to regain that level of skills?
The fact that it seems to be too much trouble to move beyond this monolithic ESB is the very reason to go through with it. When you break free from the limitations of the ESB, you can enjoy the benefits that come with a whole new world of integration.
Hub
The official Red Hat blog
-------------------------
Get the latest information about our ecosystem of customers, partners, and communities.
[Keep reading](/en/blog "The official Red Hat blog")
All Red Hat product trials
--------------------------
Our no-cost product trials help you gain hands-on experience, prepare for a certification, or assess if a product is right for your organization.
[Keep reading](/en/products/trials "All Red Hat product trials")
Keep reading
------------
### What is a Linux container?
Find out more about Linux containers, which are a set of 1 or more processes that are isolated from the rest of the system.
[Read the article](/en/topics/containers/whats-a-linux-container "article | what is a linux container?")
### What is container orchestration?
Container orchestration automates the deployment, management, scaling, and networking of containers.
[Read the article](/en/topics/containers/what-is-container-orchestration "article | what is container orchestration?")
### What is Kubernetes?
Kubernetes is a container orchestration platform that eliminates many manual processes involved in deploying and scaling containerized applications.
[Read the article](/en/topics/containers/what-is-kubernetes "article | what is kubernetes?")
Containers resources
--------------------
### Related content
* Blog post
  [Red Hat Named a Leader in 2025 Gartner® Magic Quadrant™ for Container Management for the Third Consecutive Year](/en/blog/red-hat-named-leader-2025-container-management)
* Blog post
  [Zero trust starts here: Validated patterns for confidential container deployment](/en/blog/validated-patterns-confidential-container-deployment)
* Blog post
  [Deploy sensitive workloads with OpenShift confidential containers](/en/blog/deploy-sensitive-workloads-with-openshift-confidential-containers)
* Blog post
  [Confidential containers on Microsoft Azure with Red Hat OpenShift Sandboxed Containers 1.10 and Red Hat Build of Trustee](/en/blog/confidential-containers-microsoft-azure-red-hat-openshift-sandboxed-containers-110-and-red-hat-build-trustee)
### Related articles
* [What is a Linux container?](/en/topics/containers/whats-a-linux-container)
* [What is container orchestration?](/en/topics/containers/what-is-container-orchestration)
* [What is a service mesh?](/en/topics/microservices/what-is-a-service-mesh)
* [Stateful vs stateless applications](/en/topics/cloud-native-apps/stateful-vs-stateless)
* [What is Kubernetes?](/en/topics/containers/what-is-kubernetes)
* [Red Hat OpenShift on VMware](/en/technologies/cloud-computing/openshift/vmware)
* [What is KubeVirt?](/en/topics/virtualization/what-is-kubevirt)
* [Why use Red Hat Ansible Automation Platform with Red Hat OpenShift?](/en/technologies/cloud-computing/openshift/ansible-on-openshift)
* [What is Podman Desktop?](/en/topics/containers/what-is-podman-desktop)
* [What is Podman?](/en/topics/containers/what-is-podman)
* [What is application integration?](/en/topics/cloud-native-apps/application-integration)
* [What is the Kubernetes Java client?](/en/topics/cloud-computing/what-is-kubernetes-java-client)
* [What are hosted control planes?](/en/topics/containers/what-are-hosted-control-planes)
* [What is kubernetes security?](/en/topics/containers/kubernetes-security)
* [Red Hat OpenShift for developers](/en/technologies/cloud-computing/openshift/developers)
* [Containers vs VMs](/en/topics/containers/containers-vs-vms)
* [Edge computing with Red Hat OpenShift](/en/technologies/cloud-computing/openshift/edge-computing)
* [How Kubernetes can help AI/ML](/en/topics/cloud-computing/how-kubernetes-can-help-ai)
* [What is Kubeflow?](/en/topics/cloud-computing/what-is-kubeflow)
* [What are microservices?](/en/topics/microservices/what-are-microservices)
* [OpenShift vs. OpenStack: What are the differences?](/en/technologies/cloud-computing/openshift/openshift-vs-openstack)
* [What is container security?](/en/topics/security/container-security)
* [What are sandboxed containers](/en/topics/containers/sandboxed-containers)
* [What is Buildah?](/en/topics/containers/what-is-buildah)
* [Kubernetes vs OpenStack](/en/topics/openstack/kubernetes-vs-openstack)
* [What are validated patterns?](/en/topics/cloud-computing/what-are-validated-patterns)
* [Kubernetes on AWS: Self-Managed vs. Managed Applications Platforms](/en/topics/containers/kubernetes-on-aws)
* [What is an image builder?](/en/topics/linux/what-is-an-image-builder)
* [What is middleware?](/en/topics/middleware/what-is-middleware)
* [Red Hat OpenShift vs. OKD](/en/topics/containers/red-hat-openshift-okd)
* [Red Hat OpenShift vs. Kubernetes: What's the difference?](/en/technologies/cloud-computing/openshift/red-hat-openshift-kubernetes)
* [Spring on Kubernetes with Red Hat OpenShift](/en/technologies/cloud-computing/openshift/spring)
* [What is Apache Kafka?](/en/topics/integration/what-is-apache-kafka)
* [Why run Apache Kafka on Kubernetes?](/en/topics/integration/why-run-apache-kafka-on-kubernetes)
* [What is high availability and disaster recovery for containers?](/en/topics/containers/high-availability-containers)
* [What is a golden image?](/en/topics/linux/what-is-a-golden-image)
* [What are Red Hat OpenShift cloud services?](/en/technologies/cloud-computing/openshift/what-are-red-hat-openshift-cloud-services)
* [Why choose Red Hat for middleware?](/en/topics/middleware/why-choose-red-hat-middleware)
* [VNF and CNF, what’s the difference?](/en/topics/cloud-native-apps/vnf-and-cnf-whats-the-difference)
* [What is a container registry?](/en/topics/cloud-native-apps/what-is-a-container-registry)
* [What is Skopeo?](/en/topics/containers/what-is-skopeo)
* [What are Red Hat OpenShift Operators?](/en/technologies/cloud-computing/openshift/what-are-openshift-operators)
* [Using Helm with Red Hat OpenShift](/en/technologies/cloud-computing/openshift/helm)
* [Kubernetes security best practices](/en/topics/containers/kubernetes-security-best-practices)
* [What is an API?](/en/topics/api/what-are-application-programming-interfaces)
* [Orchestrating Windows containers on Red Hat OpenShift](/en/technologies/cloud-computing/openshift/windows-containers-on-red-hat-openshift)
* [What is a Kubernetes operator?](/en/topics/containers/what-is-a-kubernetes-operator)
* [Red Hat OpenShift application services](/en/technologies/cloud-computing/openshift/application-services)
* [What is an independent software vendor (ISV)?](/en/topics/digital-transformation/isv-partners)
* [High performance computing with Red Hat OpenShift](/en/technologies/cloud-computing/openshift/high-performance-computing)
* [Advantages of Kubernetes-native security](/en/topics/containers/advantages-of-kubernetes-native-security)
* [What is a Kafka service?](/en/topics/integration/what-is-a-kafka-service)
* [What is KubeLinter?](/en/topics/containers/what-is-kubelinter)
* [What is streaming data?](/en/topics/integration/what-is-streaming-data)
* [Intro to Kubernetes security](/en/topics/containers/intro-kubernetes-security)
* [Container and Kubernetes compliance considerations](/en/topics/containers/compliance)
* [Do banking APIs benefit from cloud technology?](/en/topics/api/banking-api)
* [What is a service registry?](/en/topics/integration/what-is-a-service-registry)
* [What is an event mesh?](/en/topics/integration/what-is-an-event-mesh)
* [Kubernetes cluster management](/en/technologies/cloud-computing/openshift/kubernetes-cluster-management)
* [Red Hat OpenShift on IBM IT infrastructure](/en/technologies/cloud-computing/openshift/what-is-red-hat-openshift-on-IBM-IT-infrastructure)
* [Red Hat OpenShift for business leaders](/en/technologies/cloud-computing/openshift/business-leaders)
* [Cost management for Kubernetes on Red Hat OpenShift](/en/technologies/cloud-computing/openshift/cost-management)
* [How to deploy Red Hat OpenShift](/en/technologies/cloud-computing/openshift/deploy-red-hat-openshift)
* [Why choose Red Hat for Kubernetes?](/en/topics/containers/why-choose-red-hat-kubernetes)
* [Kubernetes-native Java development with Quarkus](/en/technologies/cloud-computing/openshift/quarkus)
* [What is enterprise Kubernetes?](/en/topics/containers/what-is-enterprise-kubernetes)
* [What makes Red Hat OpenShift the right choice for IT operations?](/en/technologies/cloud-computing/openshift/it-operations)
* [What makes Red Hat OpenShift the right choice for SAP?](/en/technologies/cloud-computing/openshift/sap)
* [What is Kubernetes role-based access control (RBAC)](/en/topics/containers/what-kubernetes-role-based-access-control-rbac)
* [What is containerization?](/en/topics/cloud-native-apps/what-is-containerization)
* [What is change data capture?](/en/topics/integration/what-is-change-data-capture)
* [What was CoreOS and CoreOS container Linux](/en/technologies/cloud-computing/openshift/what-was-coreos)
* [Why Red Hat for APIs?](/en/topics/api/why-choose-red-hat-apis)
* [Learning Kubernetes basics](/en/topics/containers/learning-kubernetes-tutorial)
* [What is service-oriented architecture?](/en/topics/cloud-native-apps/what-is-service-oriented-architecture)
* [What is the Kubernetes API?](/en/topics/containers/what-is-the-kubernetes-api)
* [What is Kubernetes cluster management?](/en/topics/containers/what-is-kubernetes-cluster-management)
* [What is a REST API?](/en/topics/api/what-is-a-rest-api)
* [What is a Kubernetes deployment?](/en/topics/containers/what-is-kubernetes-deployment)
* [Why choose the Red Hat build of Quarkus?](/en/topics/cloud-native-apps/why-choose-red-hat-quarkus)
* [Introduction to Kubernetes architecture](/en/topics/containers/kubernetes-architecture)
* [What is CaaS?](/en/topics/cloud-computing/what-is-caas)
* [Introduction to Kubernetes patterns](/en/topics/cloud-native-apps/introduction-to-kubernetes-patterns)
* [What is a Kubernetes cluster?](/en/topics/containers/what-is-a-kubernetes-cluster)
* [What is Quarkus?](/en/topics/cloud-native-apps/what-is-quarkus)
* [What is Jaeger?](/en/topics/microservices/what-is-jaeger)
* [What is event-driven architecture?](/en/topics/integration/what-is-event-driven-architecture)
* [What is API monetization?](/en/topics/api/what-is-api-monetization)
* [REST vs. SOAP](/en/topics/integration/whats-the-difference-between-soap-rest)
* [Why choose Red Hat for integration?](/en/topics/integration/why-choose-red-hat-integration)
* [What is Clair?](/en/topics/containers/what-is-clair)
* [What is GraphQL?](/en/topics/api/what-is-graphql)
* [What is API management?](/en/topics/api/what-is-api-management)
* [What does an API gateway do?](/en/topics/api/what-does-an-api-gateway-do)
* [What is etcd?](/en/topics/containers/what-is-etcd)
* [What is API security?](/en/topics/security/api-security)
* [What is container-native virtualization?](/en/topics/containers/what-is-container-native-virtualization)
* [What is Knative?](/en/topics/microservices/what-is-knative)
* [What is API design?](/en/topics/api/what-is-api-design)
* [Why choose Red Hat for microservices?](/en/topics/microservices/why-choose-red-hat-microservices)
* [Why choose Red Hat for containers?](/en/topics/containers/why-choose-red-hat-containers)
* [What is Docker?](/en/topics/containers/what-is-docker)
* [What is a Kubernetes pod?](/en/topics/containers/what-is-kubernetes-pod)
* [What is integration?](/en/topics/integration/what-is-integration)
[More about this topic](/en/topics/containers "More about this topic")