SlideShare a Scribd company logo
1 of 67
Download to read offline
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Next generation intelligent data lakes,
powered by GraphQL & AWS AppSync
Ed Lima
Sr. Solutions Architect
AWS AppSync & AWS Amplify
Amazon Web Services
M A D 3 0 9
Aaron Bawcom
Chief Architect
Candid Partners
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Agenda
• Data and APIs
• GraphQL: A query language for APIs
• AWS AppSync: Use cases and capabilities
• Data lakes, GraphQL, and AWS AppSync
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
“You can have data without information, but you
cannot have information without data.”
Daniel Keys Moran
“Data really powers everything that we do.”
Jeff Weiner
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
“A one-size-fits-all database
doesnʼt fit anyone.”
Werner Vogels
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS databases and analytics
Broad and deep portfolio, built for builders
AWS Marketplace
Amazon Redshift
Data warehousing
Amazon EMR
Hadoop + Spark
Amazon Athena
Interactive analytics
Amazon Kinesis
Data Analytics Real
time
Amazon ES
Operational analytics
Amazon RDS
MySQL, PostgreSQL, MariaDB,
Oracle, SQL Server
Amazon Aurora
MySQL, PostgreSQL
Amazon
QuickSight
Amazon
SageMaker
Amazon DynamoDB
Key value, document
Amazon ElastiCache
Redis, Memcached
Amazon Neptune
Graph
Amazon Timestream
Time series
Amazon QLDB
Ledger database
Amazon S3/
Amazon S3 Glacier
AWS Glue
ETL and Data Catalog
AWS Lake Formation
Data lakes
AWS DMS | AWS Snowball | AWS Snowmobile | Amazon Kinesis Data Firehose | Amazon Kinesis Data Streams | AWS Data Pipeline | AWS Direct Connect
Data movement
AnalyticsDatabases
Business intelligence and machine learning
Data lake
Amazon
Managed
Blockchain
AWS Blockchain
Templates
Blockchain
Amazon
Comprehend
Amazon
Rekognition
Amazon
Lex
Amazon
Transcribe
AWS DeepLens 250+ solutions
730+ Database
solutions
600+ Analytics
solutions
25+ Blockchain
solutions
20+ Data lake
solutions
30+ solutions
Amazon RDS
on VMWare
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
InternetMobile/web
apps
Databases/
data stores
Basic API technology stack
Failover
Load balancers
Web/application servers
Message buses
Workers
?API backend
?API “server”
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Basic API technology stack
Databases/
data stores
API backendAPI “server”
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
InternetMobile/web
apps
Databases/
data stores
Basic API technology stack
?API backend
?API “server”
AWS
Fail over
Load balancers
Web/application servers
Message buses
Workers
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
No servers to provision
or manage
Scales with usage
Never pay for idle Availability and fault
tolerance built in
Serverless means…
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
InternetMobile/web
apps
Basic serverless API technology stack
AWS
Serverless
business logic
Serverless
APIs
Databases/
data stores
Fail over
Load balancers
Web/application servers
Message buses
Workers
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
/posts /comments /authors
REST API
posts comments authors
GraphQL API
What is GraphQL?
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
https://2018.stateofjs.com/data-layer
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
https://2018.stateofjs.com/data-layer
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
https://2018.stateofjs.com/data-layer
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Queries MutationsTypes
Subscriptions
GraphQL schema and operations
A query language for APIs—and a runtime!
type User {
id: ID!
username: String!
firstName: String
lastName: String
daysActive: Int
}
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
A query language for APIs
Queries
query GetPost {
getPost(id: ”1”) {
id
title
}
}
mutation CreatePost {
createPost(title: “Summit”) {
id
title
}
}
subscription OnCreatePost {
onCreatePost {
id
title
}
}
Mutations Subscriptions
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS AppSync
Managed serverless
GraphQL service
Connect to data sources in
your account
Add data sync, real-time, and offline
capabilities for any data source or
API
GraphQL facade for any AWS
service
Conflict detection and
resolution in the cloud
Enterprise security features:
IAM, Amazon Cognito, OIDC,
API keys
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Who’s using AWS AppSync in production?
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
How does AWS AppSync work?
,
,
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
How does AWS AppSync work?
,
,
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
How does AWS AppSync work?
,
,
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
How does AWS AppSync work?
,
,
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
How does AWS AppSync work?
,
,
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
GraphQL data flow in AWS AppSync: Resolvers
Request template Response template
Data sources
1 2 3 4 5
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Pipeline resolvers
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Multi-auth
Type, operation, and field-level
authorization
Default authorization mode
Additional providers:
• OpenID Connect
• Amazon Cognito user pools
• AWS IAM
• API key
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Multi-auth
Type, operation, and field-level
authorization
Default authorization mode
Additional providers:
• OpenID Connect
• Amazon Cognito user pools
• AWS IAM
• API key
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Log insights
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Log insights
nanoseconds
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Real-time data broadcasting
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Real-time subscriptions
subscription onCreateMessage {
createMessage {…}
}
WebSocket URL and connection payload
Secure WebSocket connection (wss://)
AppSync Data Sources
AWS AppSync
Amazon
DynamoDB
Amazon Elasticsearch
Service
AWS Lambda
Amazon Aurora
HTTP
Local (Pub/Sub)
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Offline
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Chat applications
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Internet of Things (IoT)
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Microservices data access
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Polyglot backend data access
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
July 2019
Data Fabric
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Introduction
Chief Architect, Candid Partners
Aaron Bawcom
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Overview
- Terminology
- Data is everywhere
- Data management challenges
- The ideal solution
- Data fabric solution
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Terminology
• Data lake
• Data warehouse
• Data mart
• Universal semantic
layer
• Operational data lake
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Terminology
• Data provisioning
• Data promotion
• Storage zones
• Data governance
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Data is
everywhere
Acquisitions
Business units
Geographies
External partners
Supply chains
Products
Customer engagement
IoT
Websites
Mobile
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Data
management
challenges
Most companies only analyze 12%of the data they have
By 2020, every person will generate 1.7 megabytes in just a second
Gartner estimates that poor-quality data is costing organizations on average
$14.2 million annually
“Nearly one third of analysts spend more than 40% of their time vetting and validating their
analytics data before it can be used for strategic decision-making”
Organizations make (often erroneous) assumptions about the state of their data and continue to
experience inefficiencies, excessive costs, compliance risks, and customer satisfaction issues as a result
Corporate data grows 40% per year (Hollis Tibbetts)
Business cost of bad data may be as high as 10% to 25% of an organizations
revenue
40% of businesses lose sales due to inaccessible data
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Candid Partners Proprietary & Confidential 54
Asinglesystemtoacquire,store,
progress,refine,andmakeprovisioned
dataaccessibletosystemsofinsight,
dataanalysts,datascientists,and
decisionmakers.
view
Operations
•Helpdesk
•Workflows
•Stewardship
Catalog
•Glossary
•Dictionary
•Lineage
•Search
Universal semantic
layer
•API
•Data warehouse
Acquisition
•Database push/pull
•Streaming
•File
Promotion
•Landing, raw, consolidated,
processed, USL, and data science
Governance
•Policy
•Process
•Security
•Entitlement
The ideal
solution
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Data
acquisition
Refinement
Storage Lineage
Data fabric
solution
AccessibilityandsystemIntegration
usingcloud-nativetechnologies
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Conceptual pattern
Storage
Configuration
Metadata
Acquisition
Router Processors
Delivery
Userinterface
Efficiently acquire data
Large-scale data
transformation
governance
Bad ETL/ELT codeAPI access
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Candid Partners Proprietary & Confidential 58
Problem:
Efficiently
acquire data
Acquire data
Cost optimization
Operations
Scale
Flexibility
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Candid Partners Proprietary & Confidential 59
Configuration
YAML based with UI
RDBMS push/pull API pull
AWS Lambda, Amazon SQS
Files
AWS Transfer for SFTP, AWS Lambda, Amazon
SQS
Streaming
Amazon API Gateway, Amazon Kinesis, AWS
Lambda, AWS Service Endpoint
Solution:
Continuous data
acquisition
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Candid Partners Proprietary & Confidential 60
Problem:
Large-scale data
transformation
governance
Bad source data
Source data systems
Source data systems
ETL dependency challenges
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Candid Partners Proprietary & Confidential 61
Solution:
Create simplified
orchestration of data
transformation
Create data router
Amazon DynamoDB, AWS Lambda, Amazon
SQS
Create data processors
Amazon ECS task, AWS Lambda, AWS Glue, Amazon
DynamoDB, Amazon Aurora, Amazon S3, Amazon
Redshift
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Candid Partners Proprietary & Confidential 62
Problem:
Bad ETL/ELT code
Data transformation challenges
Difficult to conduct root-cause
analysis
Difficult ETL code engineering
and operations
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Candid Partners Proprietary & Confidential 63
Solution:
Create modernized
ETL logic using
AWS AppSync
Automated creation of GraphQL schema
Automated creation of resolvers to cloud-
native storage
Amazon DynamoDB, Amazon S3, Amazon Redshift, Amazon Aurora
Customized creation of resolvers to external
data
Simplified ETL business logic
Simplified debugging
Amazon CloudWatch
Higher-quality ETL code
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
GraphQL standardized ETL
rules:
- name: eidrProductUpdate
src: s3:/eidr/product
extract:
query: “query { … }”
variables:
id: $src.productID
transform: |
( { data, src } ) =>
return { …data, …src }
load:
mutate: “mutate (…) { … }”
variables:
input: $transform
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Candid Partners Proprietary & Confidential 65
Problem:
No unified API
provided by the
organization
Different suppliers had different
forms of EDI interfaces into the organization
Different portals were provided for different
types of users to order products
Different integrations had different “views”
of product master data
Lack of consistent order execution lead to
penalty fines paid to major customers
No external enterprise authorization and
authentication structure was available from a
consumable API
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Candid Partners Proprietary & Confidential 66
Solution:
Create a single unified
external API for e-
commerce
transactions
Continuous data
acquisition
Amazon DynamoDB
Single GraphQL
schema
AWS AppSync
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
E-commerce API
type Mutation {
orderProduct(…)
@aws_auth( cognito_groups:
[”corpECommerce"] )
}
Thank you!
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Ed Lima
@ednergizer
Aaron Bawcom
aaron.bawcom@candidpartners.com

More Related Content

What's hot

Kappa vs Lambda Architectures and Technology Comparison
Kappa vs Lambda Architectures and Technology ComparisonKappa vs Lambda Architectures and Technology Comparison
Kappa vs Lambda Architectures and Technology Comparison
Kai Wähner
 

What's hot (20)

Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration Strategies
 
Considerations for Data Access in the Lakehouse
Considerations for Data Access in the LakehouseConsiderations for Data Access in the Lakehouse
Considerations for Data Access in the Lakehouse
 
Boot camp - Migration to AWS
Boot camp - Migration to AWSBoot camp - Migration to AWS
Boot camp - Migration to AWS
 
Best Practices for Building Your Data Lake on AWS
Best Practices for Building Your Data Lake on AWSBest Practices for Building Your Data Lake on AWS
Best Practices for Building Your Data Lake on AWS
 
The Zen of DataOps – AWS Lake Formation and the Data Supply Chain Pipeline
The Zen of DataOps – AWS Lake Formation and the Data Supply Chain PipelineThe Zen of DataOps – AWS Lake Formation and the Data Supply Chain Pipeline
The Zen of DataOps – AWS Lake Formation and the Data Supply Chain Pipeline
 
Welcome & AWS Big Data Solution Overview
Welcome & AWS Big Data Solution OverviewWelcome & AWS Big Data Solution Overview
Welcome & AWS Big Data Solution Overview
 
Building with AWS Databases: Match Your Workload to the Right Database (DAT30...
Building with AWS Databases: Match Your Workload to the Right Database (DAT30...Building with AWS Databases: Match Your Workload to the Right Database (DAT30...
Building with AWS Databases: Match Your Workload to the Right Database (DAT30...
 
Tackle Your Dark Data Challenge with AWS Glue - AWS Online Tech Talks
Tackle Your Dark Data  Challenge with AWS Glue - AWS Online Tech TalksTackle Your Dark Data  Challenge with AWS Glue - AWS Online Tech Talks
Tackle Your Dark Data Challenge with AWS Glue - AWS Online Tech Talks
 
Introduction to AWS Glue
Introduction to AWS GlueIntroduction to AWS Glue
Introduction to AWS Glue
 
Module 2 - Datalake
Module 2 - DatalakeModule 2 - Datalake
Module 2 - Datalake
 
AWS Lambda를 기반으로한 실시간 빅테이터 처리하기
AWS Lambda를 기반으로한 실시간 빅테이터 처리하기AWS Lambda를 기반으로한 실시간 빅테이터 처리하기
AWS Lambda를 기반으로한 실시간 빅테이터 처리하기
 
Accelerate Your Cloud Migration Journey.pdf
Accelerate Your Cloud Migration Journey.pdfAccelerate Your Cloud Migration Journey.pdf
Accelerate Your Cloud Migration Journey.pdf
 
Kappa vs Lambda Architectures and Technology Comparison
Kappa vs Lambda Architectures and Technology ComparisonKappa vs Lambda Architectures and Technology Comparison
Kappa vs Lambda Architectures and Technology Comparison
 
Visualizing Big Data Insights with Amazon QuickSight
Visualizing Big Data Insights with Amazon QuickSightVisualizing Big Data Insights with Amazon QuickSight
Visualizing Big Data Insights with Amazon QuickSight
 
Netflix Global Cloud Architecture
Netflix Global Cloud ArchitectureNetflix Global Cloud Architecture
Netflix Global Cloud Architecture
 
Databricks Platform.pptx
Databricks Platform.pptxDatabricks Platform.pptx
Databricks Platform.pptx
 
Understand AWS Pricing
Understand AWS PricingUnderstand AWS Pricing
Understand AWS Pricing
 
AWS VS AZURE VS GCP.pptx
AWS VS AZURE VS GCP.pptxAWS VS AZURE VS GCP.pptx
AWS VS AZURE VS GCP.pptx
 
Introduction to Amazon Athena
Introduction to Amazon AthenaIntroduction to Amazon Athena
Introduction to Amazon Athena
 
AWS Backup을 이용한 데이터베이스의 백업 자동화와 편리한 복구방법
AWS Backup을 이용한 데이터베이스의 백업 자동화와 편리한 복구방법AWS Backup을 이용한 데이터베이스의 백업 자동화와 편리한 복구방법
AWS Backup을 이용한 데이터베이스의 백업 자동화와 편리한 복구방법
 

Similar to Next generation intelligent data lakes, powered by GraphQL & AWS AppSync - MAD309 - New York AWS Summit

Similar to Next generation intelligent data lakes, powered by GraphQL & AWS AppSync - MAD309 - New York AWS Summit (20)

Amplifying fullstack serverless apps with AppSync & the Amplify Framework - M...
Amplifying fullstack serverless apps with AppSync & the Amplify Framework - M...Amplifying fullstack serverless apps with AppSync & the Amplify Framework - M...
Amplifying fullstack serverless apps with AppSync & the Amplify Framework - M...
 
How to build a FullStack Airline Ticketing Web App.pdf
How to build a FullStack Airline Ticketing Web App.pdfHow to build a FullStack Airline Ticketing Web App.pdf
How to build a FullStack Airline Ticketing Web App.pdf
 
Getting Started with Microservices, Containers, and Serverless Architectures
Getting Started with Microservices, Containers, and Serverless ArchitecturesGetting Started with Microservices, Containers, and Serverless Architectures
Getting Started with Microservices, Containers, and Serverless Architectures
 
"How to build real-time backends", Martin Beeby, AWS Dev Day Kyiv 2019
"How to build real-time backends", Martin Beeby, AWS Dev Day Kyiv 2019"How to build real-time backends", Martin Beeby, AWS Dev Day Kyiv 2019
"How to build real-time backends", Martin Beeby, AWS Dev Day Kyiv 2019
 
The Scout24 Data Platform - a technical deep dive
The Scout24 Data Platform - a technical deep diveThe Scout24 Data Platform - a technical deep dive
The Scout24 Data Platform - a technical deep dive
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
[NEW LAUNCH!] Introducti[NEW LAUNCH!] Introduction to event-driven architectu...
[NEW LAUNCH!] Introducti[NEW LAUNCH!] Introduction to event-driven architectu...[NEW LAUNCH!] Introducti[NEW LAUNCH!] Introduction to event-driven architectu...
[NEW LAUNCH!] Introducti[NEW LAUNCH!] Introduction to event-driven architectu...
 
Machine learning at the edge for industrial applications - SVC302 - New York ...
Machine learning at the edge for industrial applications - SVC302 - New York ...Machine learning at the edge for industrial applications - SVC302 - New York ...
Machine learning at the edge for industrial applications - SVC302 - New York ...
 
ArmadaJS - how to build a full-stack airline ticketing web app
ArmadaJS - how to build a full-stack airline ticketing web appArmadaJS - how to build a full-stack airline ticketing web app
ArmadaJS - how to build a full-stack airline ticketing web app
 
Serverless days Stockholm - How to build a full-stack airline ticketing web app
Serverless days Stockholm - How to build a full-stack airline ticketing web appServerless days Stockholm - How to build a full-stack airline ticketing web app
Serverless days Stockholm - How to build a full-stack airline ticketing web app
 
GraphQL backend with AWS AppSync & AWS Lambda
GraphQL backend with AWS AppSync & AWS LambdaGraphQL backend with AWS AppSync & AWS Lambda
GraphQL backend with AWS AppSync & AWS Lambda
 
Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019
Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019
Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019
 
Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019
Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019
Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019
 
AWS Analytics Services - When to use what? | AWS Summit Tel Aviv 2019
AWS Analytics Services - When to use what? | AWS Summit Tel Aviv 2019AWS Analytics Services - When to use what? | AWS Summit Tel Aviv 2019
AWS Analytics Services - When to use what? | AWS Summit Tel Aviv 2019
 
AWS Analytics Services - When to use what? | AWS Summit Tel Aviv 2019
AWS Analytics Services - When to use what? | AWS Summit Tel Aviv 2019AWS Analytics Services - When to use what? | AWS Summit Tel Aviv 2019
AWS Analytics Services - When to use what? | AWS Summit Tel Aviv 2019
 
Serverless applications with AWS
Serverless applications with AWSServerless applications with AWS
Serverless applications with AWS
 
Wild Rydes: Build a full-stack serverless ride-sharing app with Lambda - MAD2...
Wild Rydes: Build a full-stack serverless ride-sharing app with Lambda - MAD2...Wild Rydes: Build a full-stack serverless ride-sharing app with Lambda - MAD2...
Wild Rydes: Build a full-stack serverless ride-sharing app with Lambda - MAD2...
 
Why serverless will revolutionize your software process.
Why serverless will revolutionize your software process.Why serverless will revolutionize your software process.
Why serverless will revolutionize your software process.
 
AWS Summit Singapore 2019 | AWS Techfest Opening Keynote
AWS Summit Singapore 2019 | AWS Techfest Opening KeynoteAWS Summit Singapore 2019 | AWS Techfest Opening Keynote
AWS Summit Singapore 2019 | AWS Techfest Opening Keynote
 
How to speed up and scale your innovation efforts - MAD203 - Chicago AWS Summit
How to speed up and scale your innovation efforts - MAD203 - Chicago AWS SummitHow to speed up and scale your innovation efforts - MAD203 - Chicago AWS Summit
How to speed up and scale your innovation efforts - MAD203 - Chicago AWS Summit
 

More from Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Next generation intelligent data lakes, powered by GraphQL & AWS AppSync - MAD309 - New York AWS Summit

  • 1. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Next generation intelligent data lakes, powered by GraphQL & AWS AppSync Ed Lima Sr. Solutions Architect AWS AppSync & AWS Amplify Amazon Web Services M A D 3 0 9 Aaron Bawcom Chief Architect Candid Partners
  • 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Agenda • Data and APIs • GraphQL: A query language for APIs • AWS AppSync: Use cases and capabilities • Data lakes, GraphQL, and AWS AppSync
  • 3. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 4. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. “You can have data without information, but you cannot have information without data.” Daniel Keys Moran “Data really powers everything that we do.” Jeff Weiner
  • 5. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T “A one-size-fits-all database doesnʼt fit anyone.” Werner Vogels
  • 6. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T AWS databases and analytics Broad and deep portfolio, built for builders AWS Marketplace Amazon Redshift Data warehousing Amazon EMR Hadoop + Spark Amazon Athena Interactive analytics Amazon Kinesis Data Analytics Real time Amazon ES Operational analytics Amazon RDS MySQL, PostgreSQL, MariaDB, Oracle, SQL Server Amazon Aurora MySQL, PostgreSQL Amazon QuickSight Amazon SageMaker Amazon DynamoDB Key value, document Amazon ElastiCache Redis, Memcached Amazon Neptune Graph Amazon Timestream Time series Amazon QLDB Ledger database Amazon S3/ Amazon S3 Glacier AWS Glue ETL and Data Catalog AWS Lake Formation Data lakes AWS DMS | AWS Snowball | AWS Snowmobile | Amazon Kinesis Data Firehose | Amazon Kinesis Data Streams | AWS Data Pipeline | AWS Direct Connect Data movement AnalyticsDatabases Business intelligence and machine learning Data lake Amazon Managed Blockchain AWS Blockchain Templates Blockchain Amazon Comprehend Amazon Rekognition Amazon Lex Amazon Transcribe AWS DeepLens 250+ solutions 730+ Database solutions 600+ Analytics solutions 25+ Blockchain solutions 20+ Data lake solutions 30+ solutions Amazon RDS on VMWare
  • 7. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
  • 8. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 9. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T InternetMobile/web apps Databases/ data stores Basic API technology stack Failover Load balancers Web/application servers Message buses Workers ?API backend ?API “server”
  • 10. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Basic API technology stack Databases/ data stores API backendAPI “server”
  • 11. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T InternetMobile/web apps Databases/ data stores Basic API technology stack ?API backend ?API “server” AWS Fail over Load balancers Web/application servers Message buses Workers
  • 12. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T No servers to provision or manage Scales with usage Never pay for idle Availability and fault tolerance built in Serverless means…
  • 13. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
  • 14. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T InternetMobile/web apps Basic serverless API technology stack AWS Serverless business logic Serverless APIs Databases/ data stores Fail over Load balancers Web/application servers Message buses Workers
  • 15. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T /posts /comments /authors REST API posts comments authors GraphQL API What is GraphQL?
  • 16. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. https://2018.stateofjs.com/data-layer
  • 17. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. https://2018.stateofjs.com/data-layer
  • 18. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. https://2018.stateofjs.com/data-layer
  • 19. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Queries MutationsTypes Subscriptions GraphQL schema and operations A query language for APIs—and a runtime! type User { id: ID! username: String! firstName: String lastName: String daysActive: Int }
  • 20. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. A query language for APIs Queries query GetPost { getPost(id: ”1”) { id title } } mutation CreatePost { createPost(title: “Summit”) { id title } } subscription OnCreatePost { onCreatePost { id title } } Mutations Subscriptions
  • 21. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
  • 22. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T AWS AppSync Managed serverless GraphQL service Connect to data sources in your account Add data sync, real-time, and offline capabilities for any data source or API GraphQL facade for any AWS service Conflict detection and resolution in the cloud Enterprise security features: IAM, Amazon Cognito, OIDC, API keys
  • 23. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Who’s using AWS AppSync in production?
  • 24. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T How does AWS AppSync work? , ,
  • 25. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T How does AWS AppSync work? , ,
  • 26. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T How does AWS AppSync work? , ,
  • 27. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T How does AWS AppSync work? , ,
  • 28. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T How does AWS AppSync work? , ,
  • 29. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T GraphQL data flow in AWS AppSync: Resolvers Request template Response template Data sources 1 2 3 4 5
  • 30. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Pipeline resolvers
  • 31. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 32. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Multi-auth Type, operation, and field-level authorization Default authorization mode Additional providers: • OpenID Connect • Amazon Cognito user pools • AWS IAM • API key
  • 33. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Multi-auth Type, operation, and field-level authorization Default authorization mode Additional providers: • OpenID Connect • Amazon Cognito user pools • AWS IAM • API key
  • 34. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Log insights
  • 35. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Log insights nanoseconds
  • 36. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 37. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Real-time data broadcasting
  • 38. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Real-time subscriptions subscription onCreateMessage { createMessage {…} } WebSocket URL and connection payload Secure WebSocket connection (wss://) AppSync Data Sources AWS AppSync Amazon DynamoDB Amazon Elasticsearch Service AWS Lambda Amazon Aurora HTTP Local (Pub/Sub)
  • 39. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 40. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Offline
  • 41. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Chat applications
  • 42. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Internet of Things (IoT)
  • 43. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Microservices data access
  • 44. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Polyglot backend data access
  • 45. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
  • 46. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T July 2019 Data Fabric
  • 47. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Introduction Chief Architect, Candid Partners Aaron Bawcom
  • 48. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Overview - Terminology - Data is everywhere - Data management challenges - The ideal solution - Data fabric solution
  • 49. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Terminology • Data lake • Data warehouse • Data mart • Universal semantic layer • Operational data lake
  • 50. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Terminology • Data provisioning • Data promotion • Storage zones • Data governance
  • 51. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Data is everywhere Acquisitions Business units Geographies External partners Supply chains Products Customer engagement IoT Websites Mobile
  • 52. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Data management challenges Most companies only analyze 12%of the data they have By 2020, every person will generate 1.7 megabytes in just a second Gartner estimates that poor-quality data is costing organizations on average $14.2 million annually “Nearly one third of analysts spend more than 40% of their time vetting and validating their analytics data before it can be used for strategic decision-making” Organizations make (often erroneous) assumptions about the state of their data and continue to experience inefficiencies, excessive costs, compliance risks, and customer satisfaction issues as a result Corporate data grows 40% per year (Hollis Tibbetts) Business cost of bad data may be as high as 10% to 25% of an organizations revenue 40% of businesses lose sales due to inaccessible data
  • 53. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Candid Partners Proprietary & Confidential 54 Asinglesystemtoacquire,store, progress,refine,andmakeprovisioned dataaccessibletosystemsofinsight, dataanalysts,datascientists,and decisionmakers. view Operations •Helpdesk •Workflows •Stewardship Catalog •Glossary •Dictionary •Lineage •Search Universal semantic layer •API •Data warehouse Acquisition •Database push/pull •Streaming •File Promotion •Landing, raw, consolidated, processed, USL, and data science Governance •Policy •Process •Security •Entitlement The ideal solution
  • 54. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Data acquisition Refinement Storage Lineage Data fabric solution AccessibilityandsystemIntegration usingcloud-nativetechnologies
  • 55. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Conceptual pattern Storage Configuration Metadata Acquisition Router Processors Delivery Userinterface Efficiently acquire data Large-scale data transformation governance Bad ETL/ELT codeAPI access
  • 56. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
  • 57. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Candid Partners Proprietary & Confidential 58 Problem: Efficiently acquire data Acquire data Cost optimization Operations Scale Flexibility
  • 58. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Candid Partners Proprietary & Confidential 59 Configuration YAML based with UI RDBMS push/pull API pull AWS Lambda, Amazon SQS Files AWS Transfer for SFTP, AWS Lambda, Amazon SQS Streaming Amazon API Gateway, Amazon Kinesis, AWS Lambda, AWS Service Endpoint Solution: Continuous data acquisition
  • 59. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Candid Partners Proprietary & Confidential 60 Problem: Large-scale data transformation governance Bad source data Source data systems Source data systems ETL dependency challenges
  • 60. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Candid Partners Proprietary & Confidential 61 Solution: Create simplified orchestration of data transformation Create data router Amazon DynamoDB, AWS Lambda, Amazon SQS Create data processors Amazon ECS task, AWS Lambda, AWS Glue, Amazon DynamoDB, Amazon Aurora, Amazon S3, Amazon Redshift
  • 61. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Candid Partners Proprietary & Confidential 62 Problem: Bad ETL/ELT code Data transformation challenges Difficult to conduct root-cause analysis Difficult ETL code engineering and operations
  • 62. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Candid Partners Proprietary & Confidential 63 Solution: Create modernized ETL logic using AWS AppSync Automated creation of GraphQL schema Automated creation of resolvers to cloud- native storage Amazon DynamoDB, Amazon S3, Amazon Redshift, Amazon Aurora Customized creation of resolvers to external data Simplified ETL business logic Simplified debugging Amazon CloudWatch Higher-quality ETL code
  • 63. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T GraphQL standardized ETL rules: - name: eidrProductUpdate src: s3:/eidr/product extract: query: “query { … }” variables: id: $src.productID transform: | ( { data, src } ) => return { …data, …src } load: mutate: “mutate (…) { … }” variables: input: $transform
  • 64. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Candid Partners Proprietary & Confidential 65 Problem: No unified API provided by the organization Different suppliers had different forms of EDI interfaces into the organization Different portals were provided for different types of users to order products Different integrations had different “views” of product master data Lack of consistent order execution lead to penalty fines paid to major customers No external enterprise authorization and authentication structure was available from a consumable API
  • 65. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Candid Partners Proprietary & Confidential 66 Solution: Create a single unified external API for e- commerce transactions Continuous data acquisition Amazon DynamoDB Single GraphQL schema AWS AppSync
  • 66. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T E-commerce API type Mutation { orderProduct(…) @aws_auth( cognito_groups: [”corpECommerce"] ) }
  • 67. Thank you! S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Ed Lima @ednergizer Aaron Bawcom aaron.bawcom@candidpartners.com