Today we are excited to announce the general availability of Microservice Builder, an end-to-end user experience for rapidly developing and deploying containerized Java microservices.
Microservice Builder provides multiple entry points for developers looking to create new Java microservices. They can use the Microservice Builder option on the Liberty App Accelerator, or create a new microservice project in the Bluemix UI or using the developer CLI. In all three cases, you’ll get a skeleton Maven project designed to run a MicroProfile application on WebSphere Liberty inside a Docker container. With the developer CLI, you don’t even need to have a JDK or Maven installed to build and run the project: everything runs inside containers.
Once you are done, check your code in to GitHub or GitHub Enterprise and the Microservice Builder pipeline takes over. The Jenkins-based pipeline is easy to deploy to Kubernetes using the provided Helm chart. Each generated microservice project contains the necessary Jenkinsfile to automatically trigger a build. The containerized Jenkins slave will build the application and Docker image, push the image to a Docker registry and, optionally, deploy the image to Kubernetes using the configuration also provided as part of the project. All the application artifacts, including the deployment configuration, are kept under version control.
On the runtime side, another Helm chart provides for centralized management of Liberty key and trust stores. If you instrument your application with calls to the Open Tracing API, you can visualize the interactions between microservices and identify the root cause of latency issues using the Zipkin server, also provided with the chart.
To demonstrate the capabilities of Microservice Builder, we have a sample based on the MicroProfile community’s conference application. This has been enhanced to include MicroProfile capabilities such as fault tolerance and the configuration API which are available with the Liberty beta. The application also integrates with our sample ELK (Elasticsearch-Logstash-Kibana) Helm chart that demonstrates how the Liberty
logstashCollector-1.0 feature can be used to aggregate much more than just application log files. The provided Liberty Kibana dashboard also gives a graphical overview of aspects relevant to the Java developer such as HTTP response codes, heap usage, and garbage collection stats.
We’ll follow-up with more detailed blog posts in the coming weeks but why not head over to our landing page and try out Microservice Builder for yourself?