Index ¦ Archives ¦ Atom > Author: Amit Saha

User-defined networks in Docker for inter-container communication

Problem

Let's say a program in a container wants to communicate with a service running in another docker container on the same host. The current recommended approach to do so is using a user-defined network and avoid using links.

Solution

Docker user defined network

Create an user-defined network and run both (or as many …


Monitoring Python applications with Prometheus

I recently wrote two articles on Python application monitoring with Prometheus:

The demos can be found in the python-prometheus-demo repository.

Also checkout aiohttp-prometheus.


Dissecting golang's HandlerFunc, Handle and DefaultServeMux

My aim in this post is to discuss three "concepts" in Golang that I come across while writing HTTP servers. Through this post, my aim to get rid of my own lack of understanding (at least to a certain degree) about these. Hopefully, it will be of use to others …


Doing Math with Python Humble Bundle

Humble bundle


Introducing distributed tracing in your Python application via Zipkin

Distributed tracing is the idea of tracing a network request as it travels through your services, as it would be in a microservices based architecture. The primary reason you may want to do is to troubleshoot or monitor the latency of a request as it travels through the different services …


Notes on using Golang to write gitbackup

gitbackup is a tool to backup your git repositories from GitHub and GitLab. I wrote the initial version as a project for a golang article which is in review for publication in a Linux magazine. It supports GitHub enterprise installations and custom GitLab installations in addition to repositories on github …


QueueLogger and Python JSON Logger

Using QueueLogger with Python JSON Logger

When logging from multiple processes (via multiprocessing module), using QueueHandler is one approach with Python 2.

QueueHandler however sets exc_info attribute of a LogRecord to None since it is not "pickleable" (more on this later). This becomes a problem when you use python-json-logger to …


Setup Golang 1.8 and gb on Fedora (and other Linux distributions)

This guide will be how I usually setup and get started with Go development environment on Linux. By the end of this document, we will have seen how to:

  • Install the Go 1.8 compiler and other tools (gofmt, for eaxmple), collectively referred to as go tools
  • Install gb and …

Setup Golang on Fedora 24 (and other Linux distributions)

This guide will be how I usually setup and get started with Go development environment on Linux. By the end of this document, we will have seen how to:

  • Install the Go compiler and other tools (gofmt, for eaxmple), collectively referred to as go tools
  • Setup Go workspace
  • Working with …

Presentation slides with Jupyter Notebook

I presented at the PyCon 2016 Education Summit on "Doing Math with Python" day before yesterday and a lightning talk yesterday. This is the first time, I prepared a slide deck using Jupyter Notebook + Reveal.js. I was pleased with the content creation process and the end result. So, here …

© Amit Saha. Built using Pelican. Customised theme based on the one by Giulio Fidente on github.