RSS Feed Subscribe to RSS Feed

 

Blog post summary: Domain-Oriented Microservice Architecture at Uber

Domain-Oriented Microservice Architecture at Uber” is a blog post on the Uber engineering blog. There were some comments about the post not giving credit to prior art, which I think is fair, but it is a useful post none the less. Uber provide an interesting approach to classifying and organizing their (2,200!) microservices, by using the concepts of Domains, Layers, Gateways and Extensions.

This is a shortened version here (1,200 words, vs 3,800 in the original), since I tend to learn by creating summaries, but it is mostly just a copy & paste, so check out the original with diagrams etc if you’re really interested.

(more…)

Tags: , ,

Book summary: Distributed Systems Observability

“Distributed Systems Observability” is a book from Cindy Sridharan (find her on twitter, and medium), available as a free download here (registration required). At a little over 30 pages and 8,000 words, it is not a difficult read, and I definitely recommend it.

 

 

 

(more…)

Tags: , , , , , , , ,

Book summary: Chaos Engineering

Chaos Engineering“Chaos Engineering” is a book from O’Reilly (free download), written by folks from the “The Chaos team” at Netflix. It is a GREAT read for anyone interested in resilience engineering. This post is essentially a cut and paste of the most salient parts (the original is about 16,000 words; this is about 3,000), with some paraphrasing and merging/rewriting of sections for brevity.

 

 

 

(more…)

Tags: , , , , , ,

AWS Best Practices Architecting for the Cloud – Concise Summary

The following is a concise summary of Architecting for the Cloud: AWS Best Practices. The original is about 13,000 words; There is an abridged version of about 4,000 words, and this is an even more concise version, at about 1,500 words.

(more…)

Tags: ,

AWS Best Practices Architecting for the Cloud – Abridged

The following is an abridged version of Architecting for the Cloud: AWS Best Practices.This is essentially a cut and paste of the most salient parts (the original is about 13,000 words; this is about 4,000). For an even more concise version, see the concise summary (about 1,500 words).

(more…)

Tags: ,

AWS Well-Architected Framework – Abridged

This is an abridged version of the AWS Well-Architected Framework. It is essentially a cut and paste of the most salient parts (the original is about 18,000 words; this is about 4,000).

(more…)

Tags: ,

Kubernetes HelloWorld

This tutorial covers how to deploy a simple HelloWorld app on Kubernetes, and expose it externally (as you might for a UI service, for example).

I found setting up the Kube cluster deployment very straightforward, but making it externally accessible much trickier, however it boils down to just two commands:

    $ kubectl create -f boothello-deployment.yaml

    $ kubectl expose -f boothello-service.yaml

(more…)

Tags: , , , ,

Why use containers?

Containers, and the supporting orchestration platforms, are increasingly popular tools for deploying applications. This article focuses on why you would want to use a container ecosystem. While there are many reasons, including portability and reduced boot times (compared to VMs), this article concentrates on security and cost.

We will focus on Docker, since it is by far the most dominant container, and on Kubernetes, since it seems to have “won” against alternatives such as Swarm and Mesos.

(more…)

Tags: , , , , ,

Rotate, Repave, and Repair

A quick summary of this thought provoking article “The Three Rs of Enterprise Security: Rotate, Repave, and Repair“, by @justinjsmith.

(more…)

Tags:

Post Production Debugging

Monitoring and Observing Your App Post Release

Pre-release tests are essential, but the ability to debug, monitor and observe your application suite post-release is what allows you to detect, and quickly fix, the production problems that will inevitably rise.

(more…)

Tags: , , , , , , , , , ,

JWTs

This post is a quick and dirty introduction to JWTs. Honestly, there are better resources out there to learn about JWTs. See the references section below. These are just some of my own, fairly hastily written, notes…

(more…)

Tags: , ,

Proxies: Forward versus reverse proxy

What is the difference between a forward and reverse proxy?

TLDR;

  • A forward proxy is a client proxy. It manages outgoing traffic. For example, providing content restriction or facilitating anonymity.
  • A reverse proxy is a server proxy. It manages incoming traffic, providing benefits such as load balancing and rate throttling.
  • Both forward and reverse proxies can provide caching benefits.

 (Source)

(more…)

Tags: , , ,

A brief introduction to SAML

 

SAML, or Security Assertion Markup Language, is an protocol used to exchange authentication and authorization data. It is XML based and allows the sharing of identity between multiple organizations and applications.

SAML is one of the fundamental cloud identity security standards.

The primary use case of SAML is Internet Single Sign On (SSO).

(more…)

Tags: , , , , , ,

RESTful Microservices at Silicon Valley Code Camp ’15

Thanks to everyone who came to my RESTful Microservices talk at Silicon Valley Code Camp today. Great turnout and lots of good follow up questions.

You can find the complete slides on slideshare.

Tags: , , , , , , , , ,

Versioning APIs

I have blogged in the past about microservices, and the advantages that architectural style can bring. These small, focussed and, most importantly, autonomous services commonly expose their functionality via a REST interface.

Inevitably there will come a time when you need to change that interface. Yes, in an ideal world, you will come up with a perfect API first time round and it will never need to change, but requirements change or new users come on board, and we must adapt. Read on to find some approaches to dealing with changing interfaces without breaking clients.

(more…)

Tags: , , , , , , , , ,