DevOps

Jenkins X - a Cloud-Native approach to CI/CD

Jenkins X - a Cloud-Native approach to CI/CD

Jenkins X is a project which rethinks how developers should interact with CI/CD in the cloud with a focus on making development teams productive through automation, tooling and DevOps best practices.

In this blog, we explore Jenkins X, understand how it differs from Jenkins and how to go about building and deploying our first application using it.

Demystifying High Availability in Kubernetes using Kubeadm

Demystifying High Availability in Kubernetes using Kubeadm

Kubernetes allows deployment and management container-based applications at scale. One of the main advantages of Kubernetes is how it brings greater reliability and stability to the container-based distributed application, through the use of dynamic scheduling of containers.  But, how do you make sure Kubernetes itself stays up when a component or its master node goes down?

In this blog we look at the steps to ensure that your kubernetes cluster is always highly available and fault tolerant.

Exploring Upgrade Strategies for Stateful Sets in Kubernetes

Exploring Upgrade Strategies for Stateful Sets in Kubernetes

In the age of continuous delivery and agility where the software is being deployed 10s of times per day and sometimes per hour as well using container orchestration platforms, a seamless upgrade mechanism becomes a critical aspect of any technology adoption. In this blog we explore the various upgrade strategies available for Statefulsets in Kubernetes with Cassandra as the database.

Machine Learning for your Infrastructure: Anomaly Detection with Elastic + X-Pack

Machine Learning for your Infrastructure: Anomaly Detection with Elastic + X-Pack

We need a practical and scalable approach to understand the cause-effect relationship between data sources and events across complex infrastructure of VMs, containers, networks, micro-services, regions, etc. Machine learning is particularly useful for such problems where we need to identify “what changed”, since machine learning algorithms can easily analyze existing data to understand the patterns, thus making easier to recognize the cause. This is known as unsupervised learning, where the algorithm learns from the experience and identifies similar patterns when they come along again.

Let's see how you can setup Elastic + X-Pack to enable anomaly detection for your infrastructure & applications.

Tutorial: Developing complex plugins for Jenkins

Tutorial: Developing complex plugins for Jenkins

Jenkins is the most popular Continuous Integration and Continuous Delivery (CI/CD) server. Jenkins is used for managing complex CI/CD pipelines that support building, deploying and automating software.  Every team has different needs and CI/CD is a process that needs heavy customization. 

Recently, I needed to develop a complex Jenkins plug-in for a customer in the containers & DevOps space. In this process, I realized that there is lack of good documentation on Jenkins plugin development. That’s why I decided to write this blog to share my knowledge on Jenkins plugin development.

A practical guide to deploying multi-tier applications on Google Container Engine (GKE)

A practical guide to deploying multi-tier applications on Google Container Engine (GKE)

In this blog, we look at how to deploy, scale & delete a Multi-tier (Flask/Python and MySQL) Application in Google Container Engine.

Elasticsearch 101: Fundamentals & Core Components

Elasticsearch 101: Fundamentals & Core Components

Elasticsearch is currently the most popular way to implement free text search in your application. This blog post is an introduction to Elasticsearch including components and data types. It covers the some of the basic but important concepts of Clusters, different types of Nodes, Documents, Mappings, Indices, and Shards.

Surviving & thriving in the age of software accelerations

Enterprises need to adopt a new approach to software development and digital innovation. At Velotio, we are helping customers to modernize and transform their business with all of the approaches and best practices listed here in this blog. We talk in detail about how to achieve agility, cloud native development, DevOps maturity, micro-services adoption, digital transformation and build intelligent applications using data science in a secure environment.

A Primer on HTTP Load Balancing in Kubernetes using Ingress on Google Cloud Platform

A Primer on HTTP Load Balancing in Kubernetes using Ingress on Google Cloud Platform

Containerized applications and Kubernetes adoption in cloud environments is on the rise. One of the challenges while deploying applications in Kubernetes though is exposing these containerised applications to the outside world. This blog explores different options via which applications can be externally accessed with focus on  Ingress - a new feature in Kubernetes that provides an external load balancer. This blog also provides a simple hand-on tutorial on Google Cloud Platform (GCP).  

Flannel: A Network Fabric for Containers

Containers are a disruptive technology and is being adopted by startups and enterprises alike. Whenever a new infrastructure technology comes along, two areas require a lot of innovation - storage & networking. Anyone who is adopting containers would have faced challenges in these two areas.

Flannel is an overlay network that helps to connect containers across multiple hosts. This blog provides an overview of container networking followed by details of Flannel.

Cloud Native Applications — The Why, The What & The How.

Cloud Native Applications — The Why, The What & The How.

Cloud-native is an approach to build & run applications that can leverage the advantages of the cloud computing model — On demand computing power & pay-as-you-go pricing model. These applications are built and deployed in a rapid cadence to the cloud platform and offer organizations greater agility, resilience, and portability across clouds.

This blog explains the importance, the benefits and how to go about building Cloud Native Applications.