Skip to content

The goal is to compare Quarkus, Micronaut and Spring Boot by measuring start-up times and memory footprint.

License

Notifications You must be signed in to change notification settings

sziszo/spring-boot-vs-quarkus-vs-micronaut

Repository files navigation

spring-boot-vs-quarkus-vs-micronaut

The goal is to compare Quarkus, Micronaut and Spring Boot by measuring start-up times and memory footprint.

Prerequisite

$ pip install docker
$ pip install pandas
$ pip install pyaml
$ pip install kubernetes

Kubernetes with Docker For Mac

  1. Enable Kubernetes
  2. Setup Kubernetes Metrics Server
    1. Download the latest components.yaml
      wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml
    2. Open components.yaml and add the –kubelet-insecure-tls argument into the existing args section.
          args:
            - --cert-dir=/tmp
            - --secure-port=4443
            - --kubelet-insecure-tls
    3. Run the following command
      kubectl apply -f components.yaml

Run

To compare all kind of Todo apps in docker just execute

./build_and_monitor.py

You can specify the app-type and/or build-type to build and run only a set of application

  • app-type: type of the application (spring or quarkus or all)
  • build-type: type of the build (jvm or native or all)
./build_and_monitor.py -t {app-type} {build-type}

The applications can also be run on Docker or Kubernetes. The default platform is the Docker, but you can switch to Kubernetes with the -p flag.

./build_and_monitor.py -t {app-type} -p {platform} {build-type}

Python Scripts

  1. infra.py - sets up the environment and starts/stops postgres-db, prometheus and grafana services
    ./infra.py -p {platform} start|stop
  2. builder.py - builds and creates docker image for the specified Todo app(s)
    ./builder.py -t {app-type} {build-type}
  3. monitor.py - starts and monitors the Todo app(s) on the specified platform
    ./monitor.py -t {app-type} -b {build-type} -p {platform} start|stop

About

The goal is to compare Quarkus, Micronaut and Spring Boot by measuring start-up times and memory footprint.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published