Flexible Cloud Architectures: Decision Making Best Practices

The link to the talk for the O’Reilly page at the Software Architecture Conference in San Jose.

Abstract: (written by @lenadroid)

The ecosystem in which we are building our solutions is rapidly growing. So too do architectural best practices—they tend to change over time. It becomes challenging to make the right decision and keep track of the expanding sea of options surrounding us. While it’s relatively easy to build a system that satisfies given functional requirements, it isn’t always clear what the path is to failure-proof, manageable, flexible solutions that are ready to adjust to future changes.

Lena and Adron will look at solution architecture of distributed cloud native systems, often consisting of numerous components. They’ll cover the most common hard questions and choices that often stand before you: Given the trade-offs, in which cases should we run components on dedicated servers, on VMs, using managed services, independent cloud offerings, or maybe in containers on Kubernetes when all of them seem like a viable option? We want to conveniently manage our cloud systems, but what should we choose—Terraform, AWS CloudFormation or Azure Resource Manager, Pulumi, or maybe some container multi-cloud control plane? Cloud providers and offerings change so frequently, how do we choose one best option, or decide between using services of different clouds for respective parts of our systems, without being locked into one particular provider?

The key to making the right architectural decisions is understanding technical nuances, differences, and limitations of the components you’re evaluating—quite a challenging process. Lena and Adron cover best practices for flexible systems, their integration points, and many things “in-between code.” You’ll walk away aware of the trade-offs, benefits, limitations, and future potential of many existing options. You can form a decision-making framework that will help solution architects ask the right questions and make the right choices for architectural scenarios in the cloud native world of multi-cloud, automation, serverless, and containers and help build systems that can adjust to change and resist failure.

What you’ll learn:

  • Become aware of the trade-offs, benefits, limitations, and future potential of many existing options.
  • Form a decision-making framework to help solution architects ask the right questions and make the best choices.

Slides: