blog-thumb

Finding ADR Candidates

Lexical.cloud’s catalog of metadata enables comparing cloud products for solution candidacy. Labeled attributes can act as criteria for making decisions. This data can be processed, captured and visualized to supplement an ADR with a matrix of product capabilities to support decisions. Let’s dig into an example using the ADR Generator Notebook.

Architecture Decision Records (ADR)

  • are a best practice for documenting why an architecture is chosen.
  • are evidence of due diligence in the selection process.
  • are important for future maintainers of a system.

More context available in Recognizing ADR Value

Disclaimer: Data from Lexical.cloud v0.1.0 is found in the examples below. This version has a long way to go before the data is complete. In the meantime, please be forgiving of inaccuracies.

Our Example

Let’s pretend we’re searching for a SQL compliant database. We can consider where Lexical.cloud intersects Database and SQL Compliant.

As of v0.1.0, the results are:

big data data warehousing edge computing managed service mariadb mysql oracle postgresql relational db serverless sql server unstructured data
Amazon Athena Y N N N N N N N N Y N Y
Amazon Aurora N N N Y N Y N Y Y Y N N
Amazon Relational Database Service N N N Y Y Y Y Y Y N Y N
Azure Database for MySQL N N N Y N Y N N Y N N N
Azure Database for PostgreSQL N N N Y N N N Y Y N N N
Azure SQL Database N N N Y N N N N Y Y N N
Azure SQL Edge N N Y N N N N N Y N N N
Azure SQL Managed Instance N N N Y N N N N Y N N N
Google Cloud BigQuery Y Y N N N N N N N Y N Y
Google Cloud SQL N N N Y N Y N Y Y N Y N
Google Cloud Spanner N N N Y N N N N Y N N N

That’s a lot of options. Let’s add additional requirements for Serverless.

As of v0.1.0, the results are:

taxonomy big data data warehousing edge computing managed service mariadb mysql oracle postgresql relational db serverless sql server unstructured data
Amazon Athena Y N N N N N N N N Y N Y
Amazon Aurora N N N Y N Y N Y Y Y N N
Azure SQL Database N N N Y N N N N Y Y N N
Google Cloud BigQuery Y Y N N N N N N N Y N Y

That’s a more manageable list. Let’s add one last requirement for MySQL.

As of v0.1.0, the only result is Amazon Aurora:

Amazon Aurora
big data N
caching N
data management Y
data warehousing N
database migration N
document db N
edge computing N
key-value store N
managed service Y
mariadb N
mysql Y
nosql db N
oracle N
postgresql Y
relational db Y
serverless Y
sql compliant Y
sql server N
unstructured data N

Looking across all attributes for databases, we can tell what features are available. This is an opportunity to document why features are applicable (or not) for our project at this time. Remember that features and requirements will change. Capturing requirements, the above results and reasoning in one document helps clarify decisions and tradeoffs.

Thank you for reading!
More articles coming soon.