A Detailed Guide to Canary Deployments!

While building enterprise applications, you want to ensure that your customers have a bug-free user experience. Since bugs show up whenever a new code is deployed, your deployment process should be set up to identify bugs at an advanced stage before these bugs can affect your users. 

Here’s how canary deployment comes into the picture and takes care of everything to enable a seamless and bug-free app release ensuring a flawless experience for your users. Learn and know more about Canary deployment,  its different stages, the benefits of implementing canary deployments and how they are different from blue-green deployments on AWS and ECS, here in this blog. Let’s take a look!

Continue reading “A Detailed Guide to Canary Deployments!”

Explore More on StatefulSets in K8s

Do you have a requirement to deploy a stateful application in your Kubernetes cluster? If yes, then this is the right article for you. Kubernetes has various controllers and the one we are going to be talking about today is StatefulSet Controller which will help us achieve the aforementioned task.

What is a StatefulSet?

Statefulset is a Kubernetes object that deploys and scales a group of Kubernetes pods but so does the deployment. Generally, when we have a deployment, we don’t care how pods are scheduled and what name they get, but in some cases, it is important that pods are deployed in order and have the same name through all the restarts and reschedules. This is where statefulset comes into the picture. Statefulset allocates a sticky identity[ a number starting from 0] to every pod instead of appending a random string to the pod’s name. Every pod in statefulset is started in a sequential order, so if for some reason pod-0 didn’t start, pod-1,2,3 and so on wouldn’t start as well.

Continue reading “Explore More on StatefulSets in K8s”

Know How to Get Started with Buildkite

We’re on the verge where all the small to big organisations are shipping software to customers in minutes. Earlier this was not possible, but thank’s to Continuous Integration (CI) and Continuous Delivery (CD) that made it possible.

Continuous Integration (CI) is the practice of integrating code changes from multiple contributors into a single project via automation. Continuous Delivery (CD) is the automated process to build, test, configure & deploy software into the production environment. Both methods combined make it possible to build, test & deploy everyday code changes into the production environment.

There are lots of tools in the market to implement CICD, one among which we are about to discuss today in this post.

Let me introduce you to Buildkite.

Continue reading “Know How to Get Started with Buildkite”

Know How to Access S3 Bucket without IAM Roles and Use Cases

We all have used IAM credentials to access our S3 buckets. But it’s not a very safe or recommended practice to keep our Access keys and Secrets stored in a server or hard code them in our codebase.
Even if we have to use keys, we must have some mechanism in place to rotate the keys very frequently (eg: using Hashicorp Vault). Another widely adopted method is to use IAM roles attached on the EC2 instance or the AWS service accessing the bucket.

But, what if we need access to the bucket from an on-premise Data Center where we can not attach an IAM role?

Yes, we can obviously use IAM credentials and secret tokens with the rotating mechanism. But setting up the key rotation mechanism itself could be another overhead if we do not have one already in place. What if we do not require keys or roles without making the bucket public?

In this blog, I will make an attempt to cater to this problem with another alternate and easy solution.

Continue reading “Know How to Access S3 Bucket without IAM Roles and Use Cases”

Introducing OpsTree Tomcat Image

Docker is a platform for developers and sysadmins to develop, deploy, and run applications with containers. And, as we all know Docker image is a read-only template that contains a set of instructions for creating a container that wraps up the software and its dependencies into a standardized unit for software development to run on the Docker platform.

In this post, we are going to step through describing some of the best practices and common pitfalls we encountered while developing our first Dockerfile for Tomcat.

Continue reading “Introducing OpsTree Tomcat Image”