# Well-Architected Microservices

## A Bit of Background

Based on my learnings and experience working with various large enterprise customers over the years, I have been putting together a checklist of items that has helped me to build, run and scale microservices efficiently and securely.

To give it a well-formed structure, I took an inspiration from the AWS Well-Architected Framework and came up with this version to align it to the microservices world.

In some cases organizations might have already established well-defined internal tools and processes to on-board, build, and run microservices on platforms of their choice. In other cases, these need to be built to meet the specific requirements of a given organization. This transformation is a long and time consuming journey.

I hope this helps to quickly identify and address the different areas of building and running your microservices.

[Go to the Checklist](https://github.com/bbideep/well-architected-microservices/blob/main/well-architected-checklist.md)

## What is it?

The [AWS Well-Architected Framework](https://aws.amazon.com/architecture/well-architected/?wa-lens-whitepapers.sort-by=item.additionalFields.sortDate&wa-lens-whitepapers.sort-order=desc) empowers architects with design principles and architectural best practices for running workloads in the cloud. It also provides additional [lenses](https://docs.aws.amazon.com/wellarchitected/latest/userguide/lenses.html) that can be used for certain industry and domain specific workload architecture assessments.

While the Well-Architected Framework covers a much larger and broader scope, this version is intended to enable teams to focus on the specifics required to build and run microservices on a platform like Kubernetes. Although, it contains a few references to Kubernetes it is meant to be generic enough to be applied to microservices irrespective of the platform.

[Go to the Checklist](https://github.com/bbideep/well-architected-microservices/blob/main/well-architected-checklist.md)

## What it is NOT?

This is not a guidance on how to write efficient code, development best practices, or a way to teach microservices design patterns. Idea is to look at the various aspects of an overall architecture using the Well-Architected Framework pillars, but from Microservices standpoint (or Lens!).

The 'How' part of meeting the requirements/goals is beyond the scope of this framework and best left to the organizations and teams to implement.

[Go to the Checklist](https://github.com/bbideep/well-architected-microservices/blob/main/well-architected-checklist.md)

## Something to Think About

Probably, this list can be used as a Custom Lens within the AWS Well-Architected tool.

[Go to the Checklist](https://github.com/bbideep/well-architected-microservices/blob/main/well-architected-checklist.md)

## Contributions

Kindly submit an [issue](https://github.com/bbideep/well-architected-microservices/issues) or a [pull request](https://github.com/bbideep/well-architected-microservices/pulls) or simply open a [discussion](https://github.com/bbideep/well-architected-microservices/discussions) with your inputs, suggestions, or anything that I might not have thought about or covered so far.