I have started playing around with docker containers lately and was looking for a solution for container orchestration. I stumbled upon Kubernetes and started exploring it and I must say that it’s surely worth a try.
Kubernetes as per website is container orchestration at planet scale. The statement is so true when you understand that Kubernetes is derived from the same architecture used by Google for managing their containers ( which is a massive billion per week !!! )
We started dockerizing our applications ( since we have been breaking our monolith into microservices ) and have seen that docker is the best way to support a containerized and automated continuous integration with microservices.
In this post, I am going to show the details on how to have a spring boot application created as a docker container and run using docker.
Following are the points we are going to cover
I have already written different posts on ELK stack ( Elasticsearch, Logstash and Kibana), the super-heroic application log monitoring setup. If you are not familiar with them, please check my posts here. We were using SCP to copy files from the application server to the log server and the logs were then read by the Logstash component. As the application moved to microservices-based architecture, we started having more and more servers running small services and setting up the SCP from each server to ELK server became a pain.
Time for Filebeat
This is where Filebeat came to the rescue. To quote about Filebeat from the official website.
We have got our application running in the cloud and wanted to implement SSL ( https ) for the requests. We had previously thought it as an expensive affair as the certificate authority like verisign charges decent amount per year. That’s when we came across letsencrypt.org which is a opensource and free certificate authority sponsored by tech giants like cisco.
They provide easy and intuitive methods to generate free certificates for any number for websites and sub domains. In this post, I am going to explain implementing https for a site running tomcat 8.