In the Part-I of the series, we saw how we used ConfigMaps in configuring spring boot application Kubernetes. ConfigMaps are OK when we use simple configuration data that do not contain sensitive information. When using sensitive data like API Keys, passwords etc. Secrets are the preferred and recommended way. In this second part of the series, we will explore configuring spring boot on kubernetes with Secrets.
The sources for this blog post are available in my github repo.
Continue reading “Configuring Spring Boot on Kubernetes with Secrets”
When the developers plan to deploy Spring Boot application on Kubernetes, the first question comes to a spring developer’s mind is “Can I use Spring Config server?” Spring Config server is a de-facto way of doing centralized configuration of a distributed application. Yes, we can use Spring Config server, but let’s think of some constraints that Spring Config server can have in a typical Enterprise deployment:
Continue reading Configuring Spring Boot Application on Kubernetes
Over the years, I’ve come across many command line interfaces (CLI) to larger applications, each with varying levels of access and power. Having a CLI at all is a great first step for an application, as it opens up a much wider range of possibilities: administration, extension, and trust.
CLIs also promote scriptability – the ability to create and maintain repeatable scripts, and the easier it is to develop said scripts, the better. Sometimes scripts can solve issues that developers of the app never thought of. (Pro tip: find good user experience designers who know the product and are comfortable on the command line, then put them in charge of the CLI user experience. Your users will love you.
Continue reading “Offline CLI with JBoss EAP 7”
As our industry continues to adopt lean methodologies in an effort to improve the workflow of product deliverables, it’s important that the products developed using these patterns are reliable. When speaking from an application infrastructure perspective, or the Ops side of DevOps, this means that we must continue to improve resiliency, predictability, and consistency, alongside streamlining our development workflows to allow for failing fast, and failing often.When faced with a critical incident, it’s dissatisfying to find that the root cause was an environment delta that only affected a subset of your infrastructure. You begin asking questions like, “Why aren’t all our nodes configured with the same parameters? Why aren’t we running the same package versions on all of our nodes? Why is the staging environment different from production?”
Continue reading “Convergence, Immutability, and Image-based Deployments”