What is MicroProfile?

Cloud & Microservices

Java programming language can be enhanced with specifications. An specification is a baseline platform definition – a framework – to guide concrete implementations. 

One of these specifications is called MicroProfile. But what is MicroProfile specification, what is it used for and why might you need it? 

This blog explains all. 

What Is MicroProfile?

The MicroProfile specification is a set of Enterprise Java APIs and technologies, designed to help with the challenge of building microservices architectures in Java. 

They are intended to be used on top of Jakarta EE APIs to add specific functionalities that are needed when developing microservices. 

Wait, What Is Jakarta EE?

Jakarta EE is a set of software components that extend Java SE – the standard edition Java programming language – with ways to perform the functions particularly useful for an enterprise application. You can read our previous blog ‘What is Jakarta EE?’ for more information. 

Wait, What Are Microservices?

Microservices refer to a software architecture style where your application is structured in small code, granular modules or services. Services can then be deployed and maintained independently from each other. Read our ‘Explaining Microservices: No Nonsense Guide for Decision Makers’ for more information about microservices. 

How Does MicroProfile Help You With Microservices Applications? 

MicroProfile has ready-made APIs to deal with common challenges in microservices architecture. It means you can use MicroProfile APIs, rather than write custom code to fix some problems. For example:

  • Problem: Difficult to debug and trace issues in a microservices architecture, when there are multiple different modules or services.
    MicroProfile Solution: Open Tracing– APIs where you can build traces for remote calls (a client app creates a request for a resource from a remote service) and use them for debugging purporses.
  • Problem: Microservices architecture necessitate lots of remote calls to other remote services – these might not be available and cause problems for the end user.
  • MicroProfile Solution: Fault Tolerance– this allows you to add annotations to a remote call, so if it isn’t successful, you can provide fall back to a different service, or APIs for retrying the call.
  • Problem: More independently built services = more data and metrics in different systems. How do you keep track of them to monitor performance and usage?
  • MicroProfile Solution: Metrics– this API gathers data and metrics from different services and combines them into a centralized system. 

Who Maintains MicroProfile? 

Both MicroProfile and Jakarta EE are managed by the Eclipse Foundation, a not-for-profit software corporation that stewards many open source projects. 

MicroProfile is open source, so anyone can get involved in the project. The Eclipse Foundation manages the MicroProfile Working Group, an open forum where different vendors work together to build the brand, establish the technical roadmap, define the rules around compatibility and what makes a MicroProfile compatible implementation. 

What Is A MicroProfile Implementation? 

Like Jakarta EE, each MicroProfile API has a Technology Compatibility Kit (TCK), a test suite your software has to pass to prove it is compatible with the API.

Compatible implementations will follow the specifications and pass the TCKs. 

What Is A MicroProfile Runtime? 

MicroProfile, like Jakarta EE, is designed to work with a runtime. A runtime is a program where your application runs. It handles HTTP requests sent by its clients over the internet. A MicroProfile runtime will need to pass the TCKs to be a compatible implementation – and allow you to use your applications with MicroProfile! 

Many different vendors have created MicroProfile compatible runtimes, including Payara. Payara Micro is our lightweight solution: MicroProfile and Jakarta EE compatible and designed for containerized Jakarta EE and MicroProfile deployments.

Further Reading :

Comments (1)

Post a comment

Your email address will not be published. Required fields are marked *

Payara needs the contact information you provide to us to contact you about our products and services. You may unsubscribe from these communications at any time. For information on how to unsubscribe, as well as our privacy practices and commitment to protecting your privacy, please review our Legal & Privacy Policy.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  1. Marc Bonet

    Great info!
    Precise, concisely, clear and well structured.
    Thanks!

Related Posts

SpringBoot Actuator Health for Microprofile Developers 7 minutes
Cloud & Microservices

Spring Boot Actuator Health for MicroProfile Developers

If you worked with MicroProfile Health, you already understand the value of exposing application health information through standardized endpoints. […]

Webinar banner for “High-Frequency Trading on Jakarta EE: GC Stress Testing with Azul C4 and Payara Micro,” March 25, 2026, 2 PM GMT. Features Azul and Payara Micro logos and speaker photos of Luqman Saeed, Jakarta EE Specialist, and Simon Ritter, Deputy CTO and Java Champion. 1 minute
Cloud & Microservices

High-Frequency Trading on Jakarta EE: Join Our Upcoming Live Webinar

Modern high-frequency trading (HFT) platforms operate under extreme performance constraints, processing tens of thousands of messages per second while […]

Illustration promoting the Payara Platform Community Survey, featuring bold text on a blue background alongside a clipboard with a checklist, star ratings, and check marks, with coral and fish graphics in an underwater theme. 1 minute
Community

Help Shape the Future of Payara Platform Community – Take Our 2026 Survey

Earlier this week, we’ve launched the 2026 Payara Platform Community Survey and we’d love to hear from you. If […]