What is Ostara
Ostara is a modern tool for managing and monitoring actuator-enabled microservices that aims to make the process more user-friendly and straightforward.
One of our main goals with Ostara was to create a tool that just works out of the box, without needing anything besides a functioning Actuator API on the other end.
Ostara allows you to gain insights into the performance and health of your microservices by providing real-time monitoring of critical metrics such as CPU and memory usage.
One of the key benefits of Ostara is its simplicity. The tool is designed to be easy to use and requires minimal setup. All you need is a running instance of your microservice with Actuator enabled, and you can start monitoring and managing it with Ostara.
The first question to ask is why even use Ostara, when excellent tools such as Spring Boot Admin already exist?
As Spring Boot Admin users, we had to ask ourselves this question before embarking on the development journey of Ostara.
For all its greatness, one thing Spring Boot Admin that cannot be said about Spring Boot Admin is that it's plug and play or 'off-the-shelf'.
To setup Spring Boot Admin, we start by having to create Spring project for the server itself (In our case, which is true for many, also meant we have to setup a full CI/CD flow, complete with Helm charts and Docker images in order to create a full production flow)
If we needed additional features such as authentication, notifications and so on, we would need to add them directly to the project.
All of this, despite the infinite versatility it offers (because it is essentially a blank slate), raises the startup costs of Spring Boot Admin considerably and even more so when you remember that you have to continually maintain this project as with any other project within your code ecosystem, either due to security updates to unrelated dependencies you may have needed to add, or in order to update Spring to match your main project(s).
But aren't there ready-made images of Spring Boot Admin Server? A quick Google search will show a few (often outdated) pre-built ones that people in the community have created for different scenarios, including this official
codecentric/spring-boot-admin Docker image which states:
This repository contains pre-build Docker Images containing basic and hence not production-ready builds of Spring Boot Admin.
Now onto the client, in order to register instances on Spring Boot Admin, you have to add the
spring-boot-admin-starter-client dependency to your app and point it at the admin server. From personal production experience in mature projects, this isn't always a pleasant, straightforward experience.
If your project guards Actuator's endpoints with Spring Security, you also have to configure the client to send the server the credentials it will need when registering itself.
Alternatively, if you use Spring Cloud Discovery within your ecosystem you will be able to use that in order to discover instances, dependency free, but not hassle free, as you will again have to add this to your server's project and configure on both ends.
The second part is performance. Spring Boot Admin lacks in a lot of areas when it comes to performance. The simplest example is the Thread Dump page, where if you stick around long enough without refreshing, it will eventually crash your tab.
With Ostara, we aimed for a solution that just works performantly with your existing setups, no matter their size or scale and without requiring any prior modifications in your code or environment with the only prerequisite being the presence of Spring Actuator.
A robust and user-friendly UI for an ever-growing list of Actuator endpoints (Full list)
Health monitoring of your applications and their individual instances
Neatly organize your applications and instances into different folders, with color coding and unique icons
Modify the loggers of your applications and individual instances on the fly
Evict caches from applications and individual instances on the fly
View cache statistics
View HTTP request statistics
Bean dependency visualization
Spring Integration Graph visualization
Application Security built in, interact with your secured Actuator instances with no extra code
Some of our planned features for future releases:
Service discovery support
A plugin ecosystem for custom Actuator endpoints
Support for non-official actuator endpoints, such as Togglz
Setting up Ostara
Ostara is in pre release so we would greatly appreciate any feedback, recommendations and/or requests as well as any contributions. We would also love to hear from other Spring Boot developers. Head to the repository to participate!