Hybrid Deployments

Migrating Java Microservices to MicroProfile – Epilogue

Share this post:

Eclipse MicroProfile is a viable and solid option to build your next-generation microservices with enterprise Java

Over the last few months, we have written about our journey of implementing BlueCompute, which is a reference implementation for cloud-native Java microservices running on Kubernetes and based on Eclipse MicroProfile.  This sample storefront application started its life as a Spring Boot application. A few developers from our cloud solutions team took some time—some may say ventured—to re-implement it with MicroProfile technologies on Liberty, targeting a Kubernetes-based containerized environment.


The full journey in a series of blog posts

What we did, what we learned, and our impressions and thoughts are documented in this series of blog posts:

Working with MicroProfile

MicroProfile is arguably the new kid on the block.  It started with a community of leaders and vendors getting together to move the agenda forward for Enterprise Java, to optimize it for a microservices architecture in a cloud-native world. While it may be young, because of the community’s efforts and its open and collaborative nature, MicroProfile has innovated rather rapidly.

MicroProfile components
OpenTracing Health Check Metrics OpenAPI Fault Tolerance Security and Authentication Externalized Configuration REST Client and JSON Context Dependency Injection

From what we have experienced, MicroProfile is a viable and solid option to build your next-generation microservices with enterprise Java.  It is lightweight, easy to learn, and covers the whole spectrum of core technologies required for a microservices architecture:

  • Essentials to build RESTful services
  • APIs to scale to hundreds if not thousands of microservices
  • Tools you need to effectively and easily monitor and manage microservices for first-class operations.

New and experienced enterprise Java developers alike should find working with MicroProfile delightful and productive. Also, besides continuous iteration of existing specifications, the MicroProfile community is actively looking at reactive programming, integration with service meshes and more.  With its continued innovation and execution, we believe bright days are ahead for Eclipse MicroProfile.

Liberty and MicroProfile: Enterprise-grade Java runtime for the Cloud

Open Liberty We have chosen to implement BlueCompute on WebSphere Liberty, IBM’s application server architected and designed for developers and for the cloud. Along with its open source base, Open Liberty, WebSphere Liberty is one of the leading implementations of Eclipse MicroProfile and is the enterprise Java runtime for IBM Cloud, private or public. We have found that Liberty is easy to work with, and its lightweight and composable nature is particularly well-suited for containerized or cloud deployments. If you’re a Spring fan, no problem—you can run Spring or Spring Boot applications on Liberty, too. Recent innovations in Liberty have optimized Spring Boot applications for Docker as well.

With Liberty, developers are free to choose what suits them best and are empowered to innovate; operations have an enterprise-grade runtime for the cloud at their disposal. Liberty is DevOps-optimized with and for containers.  Yes, we may be opinionated, but we submit that Liberty is worth your serious consideration for enterprise Java application development.

Feedback and acknowledgments

If you have feedback on this project—where we should look next, bugs that you encountered—do not hesitate to file issues on GitHub. We will be glad to take a look at your pull requests and we can collaborate on source development too.

Before closing, I would like to thank my co-authors for this series, Rick OsowskiHemankita (Hema) Perabathini, and David Shi, as well as our technical editor extraordinaire, Dan Kehn. We hope you enjoyed our series of blog posts as much as we have enjoyed working on this project.  Exciting times are certainly still ahead for cloud-native developers and microservices architecture.

WebSphere Cloud Native Applications Architect & Developer Experience Lead

More Hybrid Deployments stories
May 7, 2019

We’ve Moved! The IBM Cloud Blog Has a New URL

In an effort better integrate the IBM Cloud Blog with the IBM Cloud web experience, we have migrated the blog to a new URL: www.ibm.com/cloud/blog.

Continue reading

May 6, 2019

Use IBM Cloud Certificate Manager to Obtain Let’s Encrypt TLS Certificates for Your Public Domains

IBM Cloud Certificate Manager now lets you obtain TLS certificates signed by Let’s Encrypt. Let’s Encrypt is an automated, ACME-protocol-based CA that issues free certificates valid for 90 days.

Continue reading

May 6, 2019

Are You Ready for SAP S/4HANA Running on Cloud?

Our clients tell us SAP applications are central to their success and strategy for cloud, with a deadline to refresh the business processes and move to SAP S/4HANA by 2025. Now is the time to assess, plan and execute the journey to cloud and SAP S/4HANA

Continue reading