Check Docker Images for Vulnerabilities with Anchore Engine

When using Docker containers in production, we need to ensure that we are following best practices. In this post, we will focus on Ensure images are scanned and rebuilt to include security patches from the CIS Docker Community Benchmark which we discussed previously. The item states that you should scan your images “frequently” for any vulnerabilities and then take the necessary actions to mitigate these vulnerabilities. We will use Anchore Engine in order to accomplish this.

Continue reading “Check Docker Images for Vulnerabilities with Anchore Engine”

Setup Jenkins CI in 30 Minutes

Do you want to experiment with Jenkins CI in a local setup? In this post we will setup a local Jenkins CI server, create a build job for a simple Spring Boot Maven project and push the created Docker image to DockerHub. It will be a setup for local experimenting only, but really handy if you want to try out a Jenkins plugin for example.

Continue reading “Setup Jenkins CI in 30 Minutes”

Speed up Development with Docker Compose

Assume a new developer or test engineer is added to your team. You develop an application with obviously some kind of database and you want them to get up to speed as soon as possible. You could ask them to install the application and database themselves or you could support them with it, but this would cause a lot of effort. What if you handed them over a simple YAML file which would get them up to speed in a few minutes? In this post we will explore some of the capabilities of Docker Compose in order to accomplish this.

Continue reading “Speed up Development with Docker Compose”

How to Solve Your Java Performance Problems (Part 2)

In the first part of this post, we explained the Performance Diagnostic Methodology (PDM) and how to use it. But, the proof of the pudding is in the eating and therefore it is now time to apply the methodology. Of course, the best proof would be to apply the methodology to a real world performance issue, but instead of waiting for that, we will try to simulate some performance issues and verify whether the methodology can work.

Continue reading “How to Solve Your Java Performance Problems (Part 2)”

Create, install, upgrade, rollback a Helm Chart (part 2)

In part 1 of this post we explained how we can create a Helm Chart for our application and how to package it. In part 2 we will cover how to install the Helm package to a Kubernetes cluster, how to upgrade our Helm Chart and how to rollback our Helm Chart.

Continue reading “Create, install, upgrade, rollback a Helm Chart (part 2)”

Create, install, upgrade, rollback a Helm Chart (part 1)

In this post we will explain how we can use Helm for installing our application. In part 1 we will take a look how we can create a Helm Chart for our application and how to package it. In part 2 we will cover how to install the Helm package to a Kubernetes cluster, how to upgrade our Helm Chart and how to rollback our Helm Chart.

Continue reading “Create, install, upgrade, rollback a Helm Chart (part 1)”

Build and deploy a Spring Boot app on Minikube (part 2)

InĀ  part 1 of this post, we learned how to create a Spring Boot application, create a Docker image for it and push it to a Docker registry. At the end, we installed Minikube in an Ubuntu VM. In this second part, we will get familiar with some Kubernetes terminology, deploy the application to our Minikube cluster and update the application. The sources used for the application can be found at GitHub. The Docker registry which we use can be found here (or you can use your own Docker registry).

Continue reading “Build and deploy a Spring Boot app on Minikube (part 2)”

Build and deploy a Spring Boot app on Minikube (part 1)

In this post we will take a look how we can build a Spring Boot application, create the Docker image, deploy it to a Docker registry and deploy it to a Kubernetes cluster. This will give us the opportunity to get acquainted with the basics from building an application up to deploying it to Kubernetes. Sources can be found at GitHub.

Continue reading “Build and deploy a Spring Boot app on Minikube (part 1)”

Spring Boot Actuator in Spring Boot 2.0

In this post we will take a closer look at Spring Actuator and highlight some changes of it in Spring Boot 2.0. We will discuss some of the endpoints and will create a custom endpoint to our application. The sources can be found at GitHub.

Continue reading “Spring Boot Actuator in Spring Boot 2.0”

Spring WebFlux: a basic CRUD application (part 2)

In part 2 of this post, we will refactor the application written in part 1 in order to use a database. We will take a short look at the choices we have when selecting a database in combination with Spring WebFlux, use an embedded version of the database, refactor the sources and find solutions for the problems we encounter. The code can be found at GitHub in branch mongodb.

Continue reading “Spring WebFlux: a basic CRUD application (part 2)”