Book : Designing Distributed Systems

Designing Distributed Systems by Brendan Burns.

    An introduction to distributed system concepts.
    Reusable patterns and practices for building distributed systems – sidecar, ambassadors, adapters
    Exploration of a platform for integrating applications, data sources, business partners, clients, mobile apps, social networks, and Internet of Things devices.
    Event-driven architectures for processing and reacting to events in real time.
    Additional resources for learning more about containers and container orchestration systems.
Posted in books | Leave a comment


Katacoda is a great, free, interactive learning resource which strives to teach through learning by doing, i.e. following exercises via web based terminals.

There are over 40 labs available covering topics such as TensorFlow, Traefik, Core/OS, DC/OS, Docker, Docker Swarm, Golang, Elasticsearch, Node.js and a lot more.

Posted in Uncategorized | Leave a comment

Keynote Videos from Open Source Summit in Los Angeles

I’ve picked out a few which look really interesting.

Building .NET Core Microservices with Steeltoe – Zach Brown & Matthew Horan, Pivotal

What You Should Know about Etcd v3 – Paul Burt & Elsie Phillips, CoreOS

Modular Overlay Networking Solutions with the Container Network Interface – Murali Paluru

Cilium – Container Security and Networking Using BPF and XDP – Thomas Graf, Covalent

Our Experiences Deploying Kubernetes with IPv6 – AndrĂ© Martins, Covalent IO

Unikernels and Explorations – Tiejun Chen, VMware

The Anti-Pattern Wall of 2011 has Crumbled: Stateful Applications in Containers – Steve Wong, {code}

Posted in conferences | Leave a comment

AWS Network Load Balancer (NLB)

AWS Network Load Balancer (NLB) replaces Classic Load Balancer (ELB) and provides a much needed upgrade. The top link explains the use case between ALB, NLB and Classic Load Balancer.

Snippets from the feature list, have been pasted below :

* Designed to automatically handle tens of millions of requests per second while maintaining high throughput at ultra low latency
* Network Load Balancer operates at the connection level (Layer 4), routing connections to targets
* Ideal for load balancing of TCP traffic
* Elastic IP support – Network Load Balancer also allows you the option to assign an Elastic IP per Availability Zone (subnet) thereby providing your own fixed IP in a subnet. With full control over your IP addresses, Network Load Balancer can be used in situations where IP addresses need to be hard-coded into DNS records, customer firewall rules, and so forth
* Preserve Source IP address from the client side source IP allowing the back-end to see the IP address of the client and be used by applications for processing – normal firewall rules, including VPC Security Groups, can be used on targets
* High Availability built-in
* Tool to migrate from classic ELB to NLB
* Pricing is based on Load Balancer Capacity Units, or LCUs
* Enhanced Logging – use the Flow Logs feature to record all requests sent to your load balancer
* Long-lived TCP Connections – Network Load Balancer supports long-lived TCP connections that are ideal for WebSocket type of applications that are open for months or years, making them a great fit for IoT, gaming, and messaging applications.

The blog post suggests that you no longer need to pre-warm your Load Balancer in anticipation of a surge in traffic (for example, generated from a TV advert), however i’d strongly recommend testing this first before going into production.

Posted in aws | Leave a comment

Manifest – Store and query arbitrary metadata for Docker images

Manifest is a tool which lets users store and query arbitrary metadata for Docker images.

You can also store security information with the container metadata, such as :

  • Managing QA approval status – Passed, Failed
  • Storing security profiles for an image – such as a Seccomp or AppArmor profile
  • Storing vulnerability scan reports – Passed, Failed
  • Support contacts –
  • Tracking active images – DEV, QA, PROD
  • Here is a demo :

    Posted in containers | Leave a comment

    Docker Enterprise Edition 17.06

    Define custom roles – Define granular access to resources including API operations to allow i.e. define a custom role which allows network operations and another for volume operations

    RBAC for nodes (requires an Advanced License)
    – Which users and teams can deploy to which node in the cluster
    – i.e. DEV Team can deploy to a set of systems labelled as DEV

    Mixed Swarm Clusters
    Linux and Windows workers in the same cluster

        [node.platform.os == linux]
        [node.platform.os == windows]

    Promotion Pipelines (requires an Advanced License)
    – If a container in the DEV repo, scanned with DTR, then promote to Production repo and relabel the tag

    Immutable Repos – Tag repo’s as immutable so that you can’t accidentally delete images
    – Can’t overwrite a container due to an update

    Multi-stage builds – Write a single Docker file with multiple FROM instructions
    – Results in smaller images

    New UI
    – Faster and better designed

    Public API for UCP Features

    Docker Trusted Registry (DTR) now scans Windows containers

    Support for Z Systems

    Telemetry support Included and enabled on Ubuntu Can be disabled

     docker plugin disable telemetry

    The new release includes UCP 2.2 and DTR 2.3

    And more new features …’s_New_in_Docker_EE_17.06%3F

    Posted in containers | Leave a comment

    Vitalik Buterin Keynote [Official Ethereum Singapore meetup link] Aug 16, 2017

    Updates on Metropolis, Sharding, Casper

    Posted in crypto, ethereum | Leave a comment