Cloud platforms · AWS and Microsoft

Data lake and BI with S3, Glue, Athena, Redshift and Power BI or QuickSight

A governed analytics platform: raw, curated and consumption layers on object storage, a catalogue with column-level access control and a semantic layer that business users can trust.

A reference architecture from EITSAA, not a named client system. Service limits, prices and product features change, so confirm current details before you commit to a design.

  • Australian Privacy Principles (APP 11)
  • ACSC Essential Eight
  • SA ISMF and ACSC ISM alignment
  • Sydney (ap-southeast-2)

Architecture

Architecture diagram. Tinted boundaries show regions, accounts, networks and trust zones. Numbered arrows match the flow below.
Data lake and BI with S3, Glue, Athena, Redshift and Power BI or QuickSight architectureCRM and SaaS to Ingest: API. Operational databases to Ingest: CDC. Files and logs to Ingest: SFTP. Ingest to Raw zone: land. Raw zone to AWS Glue: transform. AWS Glue to Curated zone: write. Lake Formation to Curated zone: governs. Athena and Redshift to Lake Formation: query. Power BI or QuickSight to Athena and Redshift: SQL, TLSSourcesAWS data account · ap-southeast-2S3 data lake (KMSencrypted)ConsumptionCRM and SaaSAPIs, exportsOperational databasesCDC via DMSFiles and logsSFTP, S3IngestAppFlow, DMS, FirehoseRaw zoneImmutable, as receivedCurated zoneParquet, partitionedAWS GlueETL jobs, Data CatalogLake FormationColumn and row permissionsAthena and RedshiftServerless SQL, warehousePower BI orQuickSightSemantic model, RLS1API1CDC1SFTP2land3transform4write5governs6query7SQL, TLSPlatform servicesAWS IAMAmazonCloudWatchAWS CloudTrailAWS KMS
  • SaaS and business systems
  • Databases and data
  • Object and file storage
  • Monitoring, audit and analytics
  • Security and identity
  • Request or data flow
  • Asynchronous or optional
  • Boundary: region, account, network or trust zone

Request and data flow

  1. Sources are ingested on a schedule or by change data capture: AppFlow for SaaS, DMS for databases and Firehose or SFTP transfer for files.

  2. Data lands unchanged in the raw zone with the load timestamp and source recorded. Raw is append-only with versioning and Object Lock for audit-critical feeds.

  3. Glue jobs or dbt validate, de-duplicate, conform keys and mask or tokenise personal data using documented rules.

  4. Curated tables are written as partitioned Parquet or Iceberg tables and registered in the Glue Data Catalog.

  5. Lake Formation grants table, column and row-level permissions to roles, so analysts see only what policy allows.

  6. Athena queries the lake serverlessly. Redshift serves heavy concurrent dashboards and pre-modelled marts.

  7. Power BI or QuickSight connects through a gateway or VPC connection to a governed semantic layer with row-level security.

Components and why they were chosen

ComponentWhat it doesWhy this choice
Amazon S3 (raw, curated, consumption)Durable, cheap storage with versioning and lifecycle.Separates storage from compute and avoids lock-in to one engine.
AWS Glue and Data CatalogServerless ETL and the shared schema catalogue.Catalogue is shared by Athena, Redshift Spectrum and EMR.
AWS Lake FormationCentral fine-grained access control and tagging.One policy point instead of bucket policies per team.
Amazon AthenaServerless SQL over S3, priced per data scanned.Ideal for ad hoc work. Partitioning and Parquet cut cost sharply.
Amazon Redshift (Serverless or provisioned)MPP warehouse for high-concurrency BI.Use when dashboards need consistent sub-second performance.
AWS DMS and Amazon AppFlowDatabase CDC and SaaS ingestion.Managed connectors reduce custom code.
Power BI or Amazon QuickSightDashboards, semantic model and row-level security.Choose Power BI where the organisation already runs Microsoft 365 and Fabric.
Microsoft Fabric (alternative)OneLake, Lakehouse, Warehouse and Power BI in one SaaS.Reasonable alternative for Microsoft-centric organisations, with Australian capacity regions.

Design decisions and trade-offs

Table format

Parquet with Apache Iceberg for tables that need updates and time travel.

Why. Open formats keep engines interchangeable and support upserts.

Trade-off. Table maintenance (compaction, snapshot expiry) must be scheduled.

Query engine

Athena for exploration, Redshift for governed marts.

Why. Pay per query for the long tail, provisioned speed for dashboards.

Trade-off. Two engines to govern; Lake Formation keeps rules consistent.

Personal information

Tokenise or mask at the curated boundary.

Why. Most analysis does not need identity.

Trade-off. Re-identification workflows need a controlled, audited path.

Transformation

SQL-first modelling (dbt on Athena or Redshift) with tests.

Why. Reviewable logic and data quality gates.

Trade-off. Needs analytics engineering discipline.

Well-architected pillars

Security

KMS-encrypted zones, Lake Formation column and row security, private connectivity and CloudTrail data events on sensitive buckets.

Reliability

S3 durability, idempotent pipelines, replayable raw zone and orchestration retries with alerts.

Performance

Partitioning, columnar formats, compaction and materialised views for dashboards.

Cost optimisation

Athena scan volume, Redshift capacity and Glue DPU hours. Governance prevents duplicate pipelines.

Operational excellence

Orchestration (Step Functions or Airflow), data quality tests and lineage, with owners per dataset.

Sustainability

Compression, lifecycle to colder tiers and pruning of unused datasets.

Network, identity and data

Networking

Glue and Redshift run inside the VPC with S3 gateway and Glue interface endpoints. BI tools connect through a data gateway or QuickSight VPC connection, not the public internet.

Identity and least privilege

Access is by role and LF-tag (for example classification=confidential). Analysts get IAM Identity Center permission sets that map to LF roles. Service roles per pipeline.

Data and encryption

Classify at ingest: public, internal, sensitive, personal. Use SSE-KMS with separate keys for raw and curated, tag columns containing personal information and apply masking. Retention and deletion rules follow the privacy policy and APP 11 destruction obligations.

Security and compliance mapping

ControlHow this design addresses it
Personal information handlingMasking, column permissions and retention schedules support APP 6, 11 and 12 (access and correction).
Regular backupsVersioning, replication and Object Lock for critical feeds. Essential Eight.
Restrict administrative privilegesData admins separated from data consumers. Essential Eight.
AuditLake Formation and CloudTrail data events give evidence of who queried what.

Mappings show how the design supports each control. They are not certifications, and EITSAA does not claim IRAP assessment or compliance for any reference architecture.

Failure modes, targets and scaling

  • Target RTOHours to rebuild curated layers from raw
  • Target RPOPer feed: near real time for CDC, daily for batch files
  • Scaling and limitsAthena and S3 scale to petabytes. Redshift concurrency scaling or Serverless handles dashboard peaks.
Failure modeMitigation
Bad source data corrupts reportsRaw is immutable. Rebuild curated from raw after the fix, with quality tests that block publish.
Runaway Athena queryWorkgroup scan limits and cost alarms.
Schema drift from a SaaS sourceSchema evolution rules and alerts on new or removed columns.
Permission mistake exposes a columnTag-based policies, automated tests for sensitive tags and access reviews.

Observability and runbooks

  • Pipeline success and freshness SLAs per dataset.
  • Row-count and null-rate quality tests with alerts.
  • Cost per workgroup and per team, and a monthly review of unused tables.

Cost drivers and levers

Storage volume, Athena data scanned, Redshift hours or RPUs, Glue DPU hours, BI licences.

  • Partition on the columns people actually filter by.
  • Convert to Parquet and compact small files.
  • Pause or autoscale Redshift.
  • Lifecycle raw data to Infrequent Access or Glacier tiers.

Implementation and fit

Phased approach

  1. Pick two or three high-value questions and the sources they need.
  2. Stand up the lake, catalogue and governance with one pipeline end to end.
  3. Model the first mart and dashboard with the business owner.
  4. Add sources by demand and retire spreadsheet reports as trust grows.

Anti-patterns to avoid

  • Dumping everything in S3 with no catalogue or owner.
  • Giving analysts direct bucket access.
  • Building a warehouse before you know the questions.
  • Duplicate extracts per team.

When to use it

  • Several source systems and recurring reporting needs.
  • Need for governed access to sensitive data.
  • AI and ML use cases that will need clean data.

When not to

  • One source and a few reports (a database and Power BI may be enough).
  • Organisations without a data owner.

More in cloud platforms

Related insights

Discuss this architecture

Tell us your systems, constraints and timeline. We reply within one business day, and the initial conversation is free.