Migrating Java Microservices to MicroProfile — Epilogue

YK Chang
IBM Cloud
Published in
3 min readFeb 14, 2019

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.

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

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 Osowski, Hemankita (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.

Originally published at www.ibm.com on February 14, 2019.

--

--