Introducing Ostara
Tags: spring, devops, java, opensource
Published: 2023-05-16 13:09:11


![Ostara UI](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x8xpnsrv87hpb9pp8qr8.png)

(A previous version of this article introduced Ostara under its previous name, Boost, the article has been amended to reflect this)

## 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.

## Why?

The first question to ask is **<u>why even use Ostara, when excellent tools such as Spring Boot Admin already exist?</u>**

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.

## Feature Overview

* A robust and user-friendly UI for an ever-growing list of Actuator endpoints ([Full list](https://docs.ostara.dev/features/instance-features/insights))
* 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

## The Future

Some of our planned features for future releases:

* Service discovery support
* Notifications
* Custom themes
* A plugin ecosystem for custom Actuator endpoints
* Support for non-official actuator endpoints, such as [Togglz](https://www.togglz.org/documentation/spring-boot-starter.html)
* Native support for non-Spring Actuator facades such as [gohealth](https://gitlab.com/mikeyGlitz/gohealth), [express-actuator](https://github.com/rcruzper/express-actuator) and [pyctuator](https://github.com/SolarEdgeTech/pyctuator)


## Setting up Ostara

Setting up Ostara is super simple, simply head over and download the [latest release](https://github.com/krud-dev/ostara/releases/latest) for your OS and follow the [Quick Start](https://docs.ostara.dev/getting-started/quick-start) to create your first instance and begin monitoring with Ostara

## Contributions

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](https://github.com/krud-dev/ostara) to participate!

## Links

- Ostara home: https://ostara.dev

- Ostara repository: https://github.com/krud-dev/ostara

- Ostara documentation: https://docs.ostara.dev/