• Prometheus on ECS - Proof of Concept

    Two companies that I worked for recently used ECS (Elastic Container Service) as container orchestration tool.
    If you have ever used it you know that it has somewhat limited observability out of the box.
    You have two options to spin containers on ECS:

    • Fargate which is serveless container engine
    • EC2 instances managed by you and your team

    With Fargate you don’t really need to have insights into infrastructure spinning containers, it’s serveless.
    More robust and less expensive solution is to host your own fleet of EC2 instances that join ECS cluster. With that approach you need to manage them and know what’s going on there.

    In this blog post I will outline possible prometheus integration with ECS using terraform. My main goal was to improve observability by introducing node monitoring with node-exporter + cadvisor and ingesting application metrics exposed by ephemeral containers.

  • Terragrunt upgrade to terraform 0.12

    For past six months I’ve been working with terragrunt which is a thin wrapper for terraform that provides extra tools for working with multiple terraform modules.
    Idea behind is awesome - make repository of modules which follows best practices and show how to write IaC properly. In this post I will outline upgrading and write some commands that helped me to automate this process.

  • How to run cheap Kubernetes cluster on AWS? pt1

    Kubernetes

    After containerization boom started, people realized that scheduling it is not as easy as it should be. That’s why I have interest in mesos, docker swarm, rancher, nomad and k8s. There’s a need for a system that will take care of correct scheduling, priorities, eviction, logs, simple cluster scaling, upgrades, deployment methods, permissions and so on… My first experience with prod grade k8s cluster was during time I worked for Spreaker/Voxnest. When I joined we had 1.4 and throughout the years it was updated to 1.12 (AFAIR). I’ve learned a lot, our relation (mine and k8s :D) had ups and downs but I was mostly satisfied and amazed by it.

    Kubernetes is cool technology, really complex but have long list of benefits! I don’t want to get into details of why I think it’s superior technology to run containers today but just to name few generic ones:

    • it has massive adoption in big tech companies
    • a lot of development is going on, and I mean a lot
    • big and helpful community
    • enormous ecosystem

    Or let github stars tell you the truth ;)

    1. kubernetes >57k
    2. rancher >12k
    3. nomad >5k
    4. docker swarm >5k
    5. mesos >4k
  • Updating this blog

    I haven’t been around here for quite some time. I know that you - random internet person - don’t really care so let’s get to the point. My blog was created with simplicity in mind but when I’ve returned after break I had to do improvements.
    In this post I will explain what was done to improve it!

  • How traceroute works

    Traceroute is a diagnostic program that will show route of the packets in the network.

    When you request a HTTP site like this blog, you request will traverse network to the destination and server there will generate response for you. It is not guaranteed that every request you will send to the same website will follow the same route.

    If you want to know which path that packet took then you will use traceroute.

    Traceroute for you, for you and for you! Traceroute for everybody!

  • Service Discovery with mesos-dns

    In previous post I used mesos-dns to provide service discovery for cluster on mesos, which is

    DNS-based service discovery for Mesos

    How does it work?

    From time to time mesos-dns query mesos-master (so frameworks does not need to update it) and retrives data about running tasks so it can creatie appropriate DNS entries.

    Any docker container that we run on marathon will be pingable via A record, any ephemeral port given by marathon will be visable via SRV record.

    mesos-dns-architecture

  • Cassandra on Marathon

    Recently all I talk about is mesos and mesos on mesos ;)

    Apache Mesos abstracts CPU, memory, storage, and other compute resources away from machines (physical or virtual), enabling fault-tolerant and elastic distributed systems to easily be built and run effectively.

    Sounds fantastic and because I’m true fan of docker I went with marathon

    which is a cluster-wide init and control system for services in cgroups or Docker containers

  • SSH tunneling classics

    Far, far away, behind NAT and firewall

    Well you might heard this story or be in my shoes in the past.

    Basically, you got ssh connection to a server but there is no internet and every service that you would like to connect to is blocked. But if you got ssh then you good, no worries!

  • Hello world and Dell Latitude E5440 configuration

    Hello world!

    YAB is on the web. I had hard time picking right technology, what I wanted is blog as simple as it can get. At the end of the day Jekyll won over chirp and octopress.

    exit 0

    Installation of Jessie left me with two problems and right after that I want to restore my default setup.