A practical guide to SRE and Google’s Professional Cloud DevOps Engineer Certification

My book → ‘Google Cloud for DevOps Engineers’ from Packt publications describes the implementation details of DevOps on Google Cloud

DevOps is a set of practices that help to remove barriers (that typically exist in the form of a metaphorphic wall) between developers and system administrators. Implementing DevOps on a popular public cloud services such as Azure, AWS or OCI is aimed at a set of services or resources from the specific cloud provider, that provides tooling and infrastructure to implement critical phases of DevOps lifecycle. These phases include Continuous Integration, Continuous Delivery/Deployment, Continuous Monitoring and Continuous Feedback.

Implementing DevOps…


Photo by Tolga Ulkan on Unsplash

What is S3 Replication?

S3 Replication refers to the process of copying the contents of a S3 bucket to another S3 bucket automatically without any manual intervention, post the setup process. The destination bucket can be in the same region as the source bucket or even different region from the source bucket

What is S3 Cross Account Replication?

S3 Cross Account Replication refers to copying the contents of the S3 bucket from one account to another S3 bucket in a different account. Its possible that both the accounts may or may not be owned by the same individual or organization.

The below is a hands on tutorial to perform S3…


Data Engineering — Creating data pipeline by processing email attachments

Photo by Nicole De Khors on Burst

Email is the most primitive form of person-to-person communication in the post internet era. It’s extremely common to receive attachments as part of email. In most cases these attachments are meant to be manually processed by users for personal or professional reasons.

In the current era of cloud computing, applications hosted on different environments can communicate through APIs or exchange data through queues. On-premise and Cloud systems can also be connected through site to site VPN connection or a private dedicated connection like AWS DirectConnect.

However, even in today’s era of cloud computing; there are situations or scenarios where data…


A Pod, by definition, is analogous to a virtual machine, so we can SSH in

Photo by Orlova Maria on Unsplash

Secure Socket Shell (SSH) is a UNIX-based protocol that is used to access a remote machine or a virtual machine (VM).

Pod, by definition, is analogous to VM as it allows the containers to behave as if they are running on isolated VMs. If you are inside the cluster — the simplest way is to use kubectl exec command

But, Is it possible to SSH into a K8 Pod from outside the cluster?


Cloud Scheduler is GCP’s cron job service and Cloud SQL is GCP’s relational database.

Ever wondered if it is possible to schedule query execution against Cloud SQL using Cloud Scheduler? If so, how can we avoid plain text for database credentials? Where can we host the code? What are the minimum permissions required to achieve this? Which combination of GCP services can be used to tackle this problem? Can the entire configuration be achieved only through CLI?

This article represents an architectural approach using GCP core services with an out and out command-line approach (CLI)

Extending Cloud Scheduler core capabilities using HTTP endpoint

Problem Statement:

Cloud Scheduler is GCP’s enterprise-grade…


The most common exit codes, what they mean, and what causes them

Docker container exit code — how to use them for troubleshooting?

It’s one of the most common question that I come across: “Why is my container not running?”

Can docker container exit codes help troubleshoot this issue?

The first step in answering this question is to identify the exit code for the docker container. The exit code may give a hint as to what happened to stop the container running. This article lists the most common exit codes when working with docker containers and aims to answer two important questions:

  • What does this specific exit code mean?
  • What action caused this exit code?

This will ultimately help answer the original question…


Customize, Filter, Share & Save

Kibana is an open source analytics and visualization platform designed to work with Elasticsearch. Kibana can be used to search, view and interact with data stored in Elasticsearch indices. However — Kibana UI is so robust and exhaustive that there are multiple options to customize, filter (KQL vs Lucene vs DSL), share & save

This article is aimed at going through the available capabilities such as the below:

  1. Customize Time Range
  2. Customize Display
  3. Kibana Search Types (Free Form vs Field Based vs Filter Based search types)
  4. Available actions on a defined filter
  5. Filter Based Search — Clickable Options
  6. Advanced search…

Advocating Principle of Least Privilege

GCP resource hierarchy consists of Organization, Folders and Projects. Organization is the root of resource hierarchy, Folders are building blocks of multi-layer organizational hierarchies and Projects are the granular building blocks which consists of resources. Examples of resources includes Compute Engine VMs, App Engine Instances, Cloud Storage Buckets, Cloud Pub/Sub topics etc. Cloud IAM is used to set access control across the resource hierarchy

A typical project consists of multiple compute engine resources such as VM Instances, Disks, Snapshots and Image. Some users might require access to all the resources but majority of the use-case will involve users that need…

Sandeep Madamanchi

Hands-on with Cloud Platform Infrastructure, GCP & AWS Certified, and Supply Chain Domain Expert

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store