MCPcopy Index your code
hub / github.com/aws/modern-data-architecture-accelerator

github.com/aws/modern-data-architecture-accelerator @1.6.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.6.0 ↗ · + Follow
8,414 symbols 19,281 edges 1,318 files 2,088 documented · 25% updated 46d agov1.6.0 · 2026-05-22★ 6416 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Modern Data Architecture Accelerator (MDAA)

Note: All documentation in this repo is available as rendered/searchable HTML here.

The Modern Data Architecture Accelerator (MDAA) helps organizations deploy secure, compliant data analytics and AI environments on Amazon Web Services (AWS) through simple YAML configuration files. Whether you need a basic data lake, a full data science platform, SageMaker Unified Studio or a generative AI solution, MDAA provides prepackaged starter kits and reusable infrastructure components that handle security compliance out of the box. It supports teams of all sizes, from small organizations looking for code-free deployment to large enterprises building complex Lake House or Data Mesh architectures.

License Version Build

Table of Contents

Who Is This For?

  • Data and Cloud Architects: Design and govern enterprise data platforms with standardized, compliance-ready building blocks.
  • Data Engineers: Build and manage data pipelines, lakes, and warehouses with pre-configured, compliant infrastructure.
  • Data Scientists and ML Engineers: Get a ready-to-use SageMaker Unified Studio environment with governed data access so you can focus on models, not infrastructure.
  • Business Analysts: Access governed data through Athena, QuickSight, and other analytics tools deployed by your platform team.
  • Compliance Officers: Gain confidence that deployed infrastructure aligns with NIST 800-53, HIPAA, and PCI-DSS security control requirements.

Key Features

  • Security compliance built in: Modules are designed for compliance with AWS Solutions, NIST 800-53 Rev5, HIPAA, PCI-DSS, and ITSG-33 CDK Nag rulesets.
  • Configuration-driven deployment: Define your entire modern data and analytics environment in YAML files and deploy with a single CLI command. No custom code required.
  • Starter kits for common use cases: Prepackaged configurations for data lakes, data science platforms, generative AI, governed lakehouses, and healthcare data.
  • Multi-account and multi-region: Deploy across multiple AWS accounts and regions with built-in cross-account trust and governance.
  • Multi-language support: Reusable CDK L2 constructs available in TypeScript, Python, Java, and .NET via JSII (JavaScript Interop Interface). L3 constructs are currently TypeScript-only.

Architecture

MDAA is designed as a set of modules. Each module configures and deploys a set of resources which constitute the data analytics environment. Modules may have dependencies on each other, and may also leverage non-MDAA resources deployed within the environment.

While MDAA can be used to implement a comprehensive, end-to-end modern data architecture, it does not result in a closed system. MDAA may be freely integrated with non-MDAA deployed platform elements and data capabilities. Any individual module of MDAA can be replaced by a non-MDAA component, and the remaining modules will continue to function.

MDAA Architecture

Code Architecture

MDAA Code Architecture

Security

See SECURITY.md for details on MDAA's security design principles and compliance approach.

See CONTRIBUTING.md for information on reporting security issues.

Quick Start

Deploy your first data lake in minutes using the Basic DataLake starter kit. Alternatively, quickly deploy one of these other starter kits

Prerequisites

Steps

  1. Clone the repo and navigate to the Basic DataLake starter kit:
git clone https://github.com/aws/modern-data-architecture-accelerator.git
cd modern-data-architecture-accelerator/starter_kits/basic_datalake
  1. Edit mdaa.yaml to specify an organization name. This must be globally unique, as it is used in the naming of all deployed resources (including globally named resources such as S3 buckets).

  2. If required, edit mdaa.yaml to specify context: values specific to your environment.

  3. Ensure you are authenticated to your target AWS account.

  4. Bootstrap your AWS account for CDK (if not already done):

npx cdk bootstrap
  1. Deploy using npx (no installation required):
npx @aws-mdaa/cli deploy -c mdaa.yaml

Or install the CLI globally and then deploy:

npm install -g @aws-mdaa/cli
mdaa deploy -c mdaa.yaml

Estimated deployment time: ~15–20 minutes

For full deployment details, see the Basic DataLake starter kit README.

What You Just Deployed

The Basic DataLake starter kit creates a secure, encrypted Amazon S3 data lake with AWS Glue databases and crawlers, AWS Identity and Access Management (IAM) roles with least-privilege policies, and AWS Key Management Service (KMS) encryption keys, all configured for compliance with standard security rulesets.

Looking for a different starting point? See Starter Kits for other prepackaged options including data science platforms, generative AI, and more.

Implementation Guide

MDAA follows a five-phase deployment lifecycle: Architecture (define your target platform design), Configuration (author YAML config files for each module), Customization (optionally extend via code-based escape hatches), Predeployment (bootstrap AWS accounts), and Deployment (deploy via the MDAA CLI). Each phase builds on the previous one, and starter kits can accelerate the first two phases significantly.

Phase Description Time Estimate
Architecture Define your target platform design and select modules 1–2 days
Configuration Author YAML config files for each module 1–3 days
Customization Optionally extend via code-based escape hatches 0–2 days
Predeployment Bootstrap AWS accounts with CDK 2 - 10 mins
Deployment Deploy via the MDAA CLI 15 min – 1 hour

For the full step-by-step guide, see the MDAA Implementation Guide. Starter kits and sample configurations provide ready-made configurations that can accelerate the early phases significantly.

Workshops and Learning Resources

Self-Paced Workshops

  • MDAA Hands-On Workshop: A guided, hands-on workshop that walks you through deploying and configuring MDAA from scratch.

Sample Configurations and Starter Kits

  • External Sample Configurations: A community-maintained repository of additional MDAA configurations for various use cases and architectures.
  • Starter Kits: Prepackaged, secure MDAA configurations for common use cases, included in this repository.

Documentation

Browse the full documentation, module references, and configuration schemas at aws.github.io/modern-data-architecture-accelerator.

Starter Kits

Starter kits provide secure, prepackaged foundations for common use cases:

Starter Kit Description Est. Deploy Time
Basic DataLake A secure S3 data lake with Glue databases and crawlers ~15–20 min
Basic DataScience Platform A standalone SageMaker AI Studio data science environment ~20–30 min
Governed Lakehouse DataZone-governed lakehouse with fine-grained access control ~20–25 min
Health Data Accelerator Healthcare data lake with DMS (Database Migration Service) integration ~30–45 min
SMUS Research Environment A SageMaker Unified Studio-enabled architecture suitable for facilitating team-based research activities ~20–25 min
SMUS Data Mesh Multi-account SageMaker Unified Studio deployment with cross-account data sharing and custom blueprints ~30–45 min

Sample Configurations

Additional sample configurations are available in a dedicated repository for easier community contribution and faster updates.

Available Modules

MDAA is implemented as a set of compliant modules deployed via a unified orchestration layer. For detailed module documentation, configuration schemas, and API references, see the MDAA Documentation Site.

Governance Modules

Data Lake Modules

Data Ops Modules

Extension points exported contracts — how you extend this code

IMdaaConfigValueTransformer (Interface)
(no doc) [19 implementers]
packages/utilities/mdaa-config/lib/transformer.ts
LayerProps (Interface)
Internal props for GAIA Lambda layer construction.
packages/constructs/L3/ai/gaia-l3-construct/lib/layer/index.ts
LocationsByTypeConfig (Interface)
(no doc)
packages/apps/utility/datasync-app/lib/datasync-config.ts
HookConfig (Interface)
(no doc)
packages/cli/lib/mdaa-cli-config-parser.ts
InfraFixtureResult (Interface)
(no doc)
integ/constructs/fixture.ts
CfnResource (Interface)
(no doc)
installer/test/test-utils.ts
IMdaaConfigTransformer (Interface)
(no doc) [6 implementers]
packages/utilities/mdaa-config/lib/transformer.ts
CognitoBrandingConfigFile (Interface)
* Type definition for AWS CLI 'describe-managed-login-branding' output. * This structure is defined by AWS and used to
packages/constructs/L3/ai/gaia-v2-l3-construct/lib/authentication/authentication.ts

Core symbols most depended-on inside this repo

resourceName
called by 315
packages/utilities/mdaa-naming/lib/resource-naming.ts
addCodeResourceSuppressions
called by 258
packages/constructs/L2/construct/lib/nag-suppressions.ts
checkCdkNagCompliance
called by 190
packages/utilities/mdaa-testing/lib/test-app.ts
transformValue
called by 161
packages/utilities/mdaa-config/lib/transformer.ts
baselineDiffTestApp
called by 145
packages/utilities/mdaa-testing/lib/diff.ts
appProvider
called by 130
packages/utilities/mdaa-testing/lib/mdaa-test-helpers.ts
addStatements
called by 128
packages/constructs/L2/iam-constructs/lib/policies.ts
toJson
called by 122
packages/constructs/L3/dataops/dataops-nifi-l3-construct/lib/cdk8s/imports/k8s.ts

Shape

Method 3,004
Function 1,917
Interface 1,609
Class 1,472
Route 397
Enum 15

Languages

TypeScript71%
Python29%

Modules by API surface

packages/constructs/L3/dataops/dataops-nifi-l3-construct/lib/cdk8s/imports/k8s.ts1,403 symbols
packages/constructs/L2/eks-constructs/imports/k8s.ts1,403 symbols
packages/constructs/L3/ai/gaia-v2-l3-construct/python-tests/test_sessions.py101 symbols
scripts/review/python-tests/test_thread_lifecycle.py78 symbols
packages/constructs/L3/ai/bedrock-knowledge-base-l3-construct/lib/bedrock-knowledge-base-l3-construct.ts77 symbols
packages/constructs/L3/ai/gaia-v2-l3-construct/python-tests/test_bot_management.py75 symbols
packages/constructs/L3/ai/gaia-v2-l3-construct/python-tests/test_feedback.py60 symbols
scripts/review/python-tests/test_mr_summary.py58 symbols
packages/cli/lib/mdaa-cli.ts58 symbols
packages/constructs/L3/dataops/dataops-project-l3-construct/lib/dataops-project-l3-construct.ts53 symbols
packages/constructs/L3/utility/ec2-l3-construct/lib/ec2-l3-construct.ts48 symbols
scripts/review/python-tests/test_post_baseline_threads.py44 symbols

Datastores touched

(mongodb)Database · 1 repos

For agents

$ claude mcp add modern-data-architecture-accelerator \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact