https://medium.com/azure-architects/azure-architecture-design-principles-and-lessons-learned-e79d700b5f39