SlideShare a Scribd company logo
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Amplifying fullstack serverless apps with
AppSync & the Amplify Framework
Ed Lima
Solutions architect
AWS AppSync
M A D 3 1 2
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Fullstack
https://www.flickr.com/photos/ginnerobot/2549674908/
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Backend
Front end
CI/CD
https://www.flickr.com/photos/ginnerobot/2549674908/
© 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
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
{API}
© 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
AWS
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
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?
© 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.
Queries
query GetPost {
getPost(id: ”1”) {
id
title
}
}
mutation CreatePost {
createPost(title: “Summit”) {
id
title
}
}
subscription OnCreatePost {
onCreatePost {
id
title
}
}
Mutations Subscriptions
A query language for APIs . . .
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
© 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
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
© 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)
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS AppSync real-time reference architecture
https://github.com/aws-samples/appsync-refarch-realtime
© 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
Offline capabilities: AppSync client storage
• Offline is a write-through “store"
• Persistent storage mediums back the Apollo
normalized cache
• Local storage for web
• AsyncStorage for React Native
• SQLite on native platforms
• Database can be preloaded
• Offline client can be configured
• Wi-Fi only
• Wi-Fi and cellular
© 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
Microservices data access
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
Multiple authorization providers on a single API
• Type, operation, and field level authorization
• Default authorization mode
• Additional providers
• OpenID Connect
• Amazon Cognito User Pools
• AWS Identity and Access Management
• API key
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
Log insights
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Log insights
nanoseconds
© 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
Amplify Framework
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Amplify Framework
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Amplify Framework
✓ CLI
✓ Client libraries (native and JS support)
✓ Console – Continuous deployment and
hosting
✓ Prebuilt UI components
✓ Toolchain
✓ JS framework support
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
• Create, update, and delete cloud services
• Manage multiple environments
• GraphQL Transform
• GraphQL Codegen
Amplify Framework
CLI
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Categories
Authentication
Analytics
Interactions (chat bots)
API (REST)
API (GraphQL)
Amplify CLI
Serverless functions
Storage
XR
Push notifications
Video
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
$ amplify add auth
$ amplify push
$ amplify configure auth
$ amplify delete
$ amplify codegen add
Amplify CLI
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
$ amplify add api
–
# schema.graphql
type Post @model {
id: ID!
title: String!
}
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
@model
Top-level entity; creates DynamoDB table, resolvers, and additional schema (queries, mutations,
and subscriptions) for base type
@connection
Enables relationships between @model types
@auth
Enables set of authorization rules
@searchable
Handles streaming the data of an @model object type to Amazon Elasticsearch Service and
configures search resolvers
@versioned
Enables versioning
@function
Enables adding a Lambda function as a data source
–
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
GraphQL Transform: Mix and match data sources
type Post {
id: ID!
content: String
description: String
ups: Int
downs: Int
}
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
GraphQL Transform: Mix and match data sources
createPost
readPost
updatePost
deletePost
type Post
@model {
id: ID!
content: String
description: String
ups: Int
downs: Int
}
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
GraphQL Transform: Mix and match data sources
mutations
queries
createPost
readPost
updatePost
deletePost
type Post
@model
@auth(rules: [{allow:
owner}]){
id: ID!
content: String
description: String
ups: Int
downs: Int
}
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
GraphQL Transform: Mix and match data sources
searchPosts
mutations
queries
createPost
readPost
updatePost
deletePost
type Post
@model
@auth(rules: [{allow: owner}])
@searchable{
id: ID!
content: String
description: String
ups: Int
downs: Int
}
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
GraphQL Transform: Mix and match data sources
searchPosts
mutations
queries
createPost
readPost
updatePost
deletePost
type Post
@model
@auth(rules: [{allow:
owner}])
@searchable{
id: ID!
content: String
description: String
ups: Int
downs: Int
}
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
$ amplify add codegen [--apiId <api-id>]
// Will generate GraphQL statements
// (queries, mutations, subscriptions)
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
$ amplify env add
$ amplify env list
$ amplify env checkout
$ amplify env remove
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Multiple environments and team workflow
• Git-style interaction and project switching
• Share backends between team members or clone for sandbox isolated development
User Users
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Amplify Framework
• Connect to and interact with cloud services from web and mobile applications
• Preconfigured components forpopular front-end libraries
Client
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS Amplify client
• Opinionated
• Declarative
• Client focused
• High-level abstractions
• Best practices built in
• Built with Amplify CLI in mind
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS Amplify client
import {
Auth, API, Storage, Analytics, XR
} from ‘aws-amplify’
$ npm install aws-amplify
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS Amplify client
import {
Auth
} from ‘aws-amplify’
Auth.signIn(’myusername’, ‘mypassword’)
Auth.signOut()
Auth.currentAuthenticatedUser()
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS Amplify: Native support
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS Amplify: JS framework support
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Higher-order components
import {withAuthenticator} from ‘aws-amplify-react’
export default withAuthenticator(App)
class App extends Component {
// your code goes here
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Escape hatches
https://www.flickr.com/photos/93241698@N00/4791058431
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Amazon API Gateway
Amazon Pinpoint
AWS Lambda
AWS AppSync Amazon DynamoDBAmazon Cognito
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Amplify Framework
Common workflows
1. Deploying a Lambda function with API Gateway (REST)
2. Adding authentication
3. Deploying a GraphQL API
4. Adding analytics
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Deploying a Lambda function with API Gateway
1. Create the Lambda function & API
$ amplify add api
// chose REST with Express backend
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
2. Write code/make changes
// amplify/backend/function/<FUNCTION_NAME>/src/app.js
app.get(‘/items’, function(req, res) {
// new code goes here
})
Deploying a Lambda function with API Gateway
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
$ amplify push
3. Deploy new API
Deploying a Lambda function with API Gateway
Amazon API Gateway AWS Lambda
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
import { API } from ‘aws-amplify’
API.get(’/items’)
.then(data => console.log({ data }))
.catch(err => console.log({ err })
4. Interact with the API
Deploying a Lambda function with API Gateway
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
$ amplify add auth
// choose either default or custom configuration
1. Create the authentication service
Adding authentication
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
import { Auth } from ‘aws-amplify’
2. Import the Auth component
Adding authentication
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Auth.signUp(‘username’, ‘password’, {
attributes: { email: ‘jane@doe.com’ }
})
Auth.signIn(’myusername’, ‘mypassword’)
3. Implement Auth methods
Adding authentication
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
$ amplify add api
// chose GraphQL
1. Create the GraphQL API
Deploying a GraphQL API
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
type Todo @model {
id: ID!
name: String!
description: String!
completed: Boolean
}
2. Define annotated GraphQL schema
Deploying a GraphQL API
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
$ amplify push
3. Deploy new API
Deploying a GraphQL API
Amazon Cognito AWS AppSync Amazon DynamoDB
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
import { API, GraphqlOperation } from ‘aws-amplify’
import { listTodos } from ‘./src/graphql/queries’
API.graphql(graphqlOperation(listTodos))
.then(data => console.log({ data }))
.catch(err => console.log({ err })
4. Interact with API
Deploying a GraphQL API
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
$ amplify add analytics
$ amplify push
1. Create analytics service
Adding analytics
Amazon Pinpoint
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
2. Import Analytics API
Adding analytics
import { Analytics } from ‘aws-amplify’
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
3. Record events
Adding analytics
Analytics.record({ name: 'albumVisit’ })
Analytics.record({
name: 'albumVisit', // Attribute values must be strings
attributes: { genre: ‘nu-metal', artist: ’RATM’ }
})
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Amazon API Gateway
Amazon Pinpoint
AWS Lambda
AWS AppSync Amazon DynamoDBAmazon Cognito
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS AppSync JS SDK
• Offline ready
• Built-in helpers foroptimistic response,
subscriptions
• Usewith React Apollo / VueApollo /
Angular Apollo
• https://github.com/awslabs/aws-mobile-appsync-sdk-js
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
Fullstack DevOps for web apps
• Strong isolation barrier between projects and stages
Dedicated AWS accounts for each project and stage (sandbox, staging, prod)
• Source code (and history) for each stage readily available
Git branching used for the source code for each stage
• Minimize version mismatches between front end and backend
Front end (e.g., code) and backend (e.g., AWS CloudFormation templates) developed and
versioned together in same Git repository
• Developers in control
Developers deploy front end *and* backend
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
DevOps requirements for modern web apps
Web app
per dev
sandbox
Test web app Prod web app
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
DevOps challenges with modern web apps
Lots of moving parts complicate the following:
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS Amplify Console
Build, deploy, and host cloud-powered modern web apps
Optional deployment of backend resources +
fully managed front-end hosting
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS Amplify Console
Your app is served via Amazon's reliable content
delivery network with 144 points of presence
globally.
Set up custom domains managed in Amazon Route
53 with a single click, plus get a free HTTPS
certificate.
Connect your repository to 'git push' changes to
your front end and backend in a single workflow.
Work on new features without impacting
production. Create branch deployments linked to
each feature branch.
All deployments either rollout successfully or fail
without requiring maintenance windows.
Share yet-to-be released features with internal
stakeholders by setting a username and password.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Use cases
Use static site generators like Hugo or Jekyll to
publish a blog. SSGs perform faster than traditional
websites. Deploy SSGs with free SSL on the AWS
Amplify Console.
Add dynamic functionality using GraphQL or REST
APIs. Use the AWS Amplify Console to deploy your
front end and backend in a single workflow.
PWAs offer native app-like performance, work
offline, support push notifications, and can be
updated over the air. Use AWS Amplify to deploy
PWAs to mobile devices.
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
Community
• https://amplify.aws/community/
• https://awsappsync.dev
• https://aws-amplify.github.io/
• https://github.com/aws-amplify
• https://github.com/aws-amplify
Thank you!
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Ed Lima
@ednergizer

More Related Content

What's hot

Build sophisticated forecasting & recommendation models - AIM204 - Santa Clar...
Build sophisticated forecasting & recommendation models - AIM204 - Santa Clar...Build sophisticated forecasting & recommendation models - AIM204 - Santa Clar...
Build sophisticated forecasting & recommendation models - AIM204 - Santa Clar...
Amazon Web Services
 
AWS identity services: Enabling and securing your cloud journey - SEC203 - Ne...
AWS identity services: Enabling and securing your cloud journey - SEC203 - Ne...AWS identity services: Enabling and securing your cloud journey - SEC203 - Ne...
AWS identity services: Enabling and securing your cloud journey - SEC203 - Ne...
Amazon Web Services
 
Introduzione a blockchain e registri digitali
Introduzione a blockchain e registri digitaliIntroduzione a blockchain e registri digitali
Introduzione a blockchain e registri digitali
Amazon Web Services
 
Creare soluzioni immersive di realtà virtuale aumentata
Creare soluzioni immersive di realtà virtuale aumentataCreare soluzioni immersive di realtà virtuale aumentata
Creare soluzioni immersive di realtà virtuale aumentata
Amazon Web Services
 
Creare e gestire Data Lake e Data Warehouses
Creare e gestire Data Lake e Data WarehousesCreare e gestire Data Lake e Data Warehouses
Creare e gestire Data Lake e Data Warehouses
Amazon Web Services
 
Build a VR experience in 60 minutes - SVC222 - New York AWS Summit
Build a VR experience in 60 minutes - SVC222 - New York AWS SummitBuild a VR experience in 60 minutes - SVC222 - New York AWS Summit
Build a VR experience in 60 minutes - SVC222 - New York AWS Summit
Amazon Web Services
 
Pensi di essere pronto per i microservizi?
Pensi di essere pronto per i microservizi?Pensi di essere pronto per i microservizi?
Pensi di essere pronto per i microservizi?
Amazon Web Services
 
Amazon EC2 Strategie per l'ottimizzazione dei costi
Amazon EC2 Strategie per l'ottimizzazione dei costiAmazon EC2 Strategie per l'ottimizzazione dei costi
Amazon EC2 Strategie per l'ottimizzazione dei costi
Amazon Web Services
 
Migration to AWS: The foundation for enterprise transformation - SVC210 - New...
Migration to AWS: The foundation for enterprise transformation - SVC210 - New...Migration to AWS: The foundation for enterprise transformation - SVC210 - New...
Migration to AWS: The foundation for enterprise transformation - SVC210 - New...
Amazon Web Services
 
Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...
Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...
Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...
Amazon Web Services
 
What's new in Amazon Aurora - ADB204 - Santa Clara AWS Summit.pdf
What's new in Amazon Aurora - ADB204 - Santa Clara AWS Summit.pdfWhat's new in Amazon Aurora - ADB204 - Santa Clara AWS Summit.pdf
What's new in Amazon Aurora - ADB204 - Santa Clara AWS Summit.pdf
Amazon Web Services
 
Next generation intelligent data lakes, powered by GraphQL & AWS AppSync - MA...
Next generation intelligent data lakes, powered by GraphQL & AWS AppSync - MA...Next generation intelligent data lakes, powered by GraphQL & AWS AppSync - MA...
Next generation intelligent data lakes, powered by GraphQL & AWS AppSync - MA...
Amazon Web Services
 
AWS Summit Singapore 2019 | Mobile Apps that Engage Users and React in Real-Time
AWS Summit Singapore 2019 | Mobile Apps that Engage Users and React in Real-TimeAWS Summit Singapore 2019 | Mobile Apps that Engage Users and React in Real-Time
AWS Summit Singapore 2019 | Mobile Apps that Engage Users and React in Real-Time
Amazon Web Services
 
Grid computing in the cloud for Financial Services industry - CMP205-I - New ...
Grid computing in the cloud for Financial Services industry - CMP205-I - New ...Grid computing in the cloud for Financial Services industry - CMP205-I - New ...
Grid computing in the cloud for Financial Services industry - CMP205-I - New ...
Amazon Web Services
 
AWS IoT services - Extract value for industrial applications - SVC205 - Santa...
AWS IoT services - Extract value for industrial applications - SVC205 - Santa...AWS IoT services - Extract value for industrial applications - SVC205 - Santa...
AWS IoT services - Extract value for industrial applications - SVC205 - Santa...
Amazon Web Services
 
AWS及客戶在AI/ML的數位運行過程中得到的重要經驗與學習
AWS及客戶在AI/ML的數位運行過程中得到的重要經驗與學習AWS及客戶在AI/ML的數位運行過程中得到的重要經驗與學習
AWS及客戶在AI/ML的數位運行過程中得到的重要經驗與學習
Amazon Web Services
 
Find All the Threats: AWS Threat Detection and Remediation - SEC303 - Anaheim...
Find All the Threats: AWS Threat Detection and Remediation - SEC303 - Anaheim...Find All the Threats: AWS Threat Detection and Remediation - SEC303 - Anaheim...
Find All the Threats: AWS Threat Detection and Remediation - SEC303 - Anaheim...
Amazon Web Services
 
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
AWS Summits
 
Build accurate training data sets with Amazon SageMaker Ground Truth - AIM302...
Build accurate training data sets with Amazon SageMaker Ground Truth - AIM302...Build accurate training data sets with Amazon SageMaker Ground Truth - AIM302...
Build accurate training data sets with Amazon SageMaker Ground Truth - AIM302...
Amazon Web Services
 
Amazon SageMaker: ML for Every Developer and Data Scientist - AIM202 - Anahei...
Amazon SageMaker: ML for Every Developer and Data Scientist - AIM202 - Anahei...Amazon SageMaker: ML for Every Developer and Data Scientist - AIM202 - Anahei...
Amazon SageMaker: ML for Every Developer and Data Scientist - AIM202 - Anahei...
Amazon Web Services
 

What's hot (20)

Build sophisticated forecasting & recommendation models - AIM204 - Santa Clar...
Build sophisticated forecasting & recommendation models - AIM204 - Santa Clar...Build sophisticated forecasting & recommendation models - AIM204 - Santa Clar...
Build sophisticated forecasting & recommendation models - AIM204 - Santa Clar...
 
AWS identity services: Enabling and securing your cloud journey - SEC203 - Ne...
AWS identity services: Enabling and securing your cloud journey - SEC203 - Ne...AWS identity services: Enabling and securing your cloud journey - SEC203 - Ne...
AWS identity services: Enabling and securing your cloud journey - SEC203 - Ne...
 
Introduzione a blockchain e registri digitali
Introduzione a blockchain e registri digitaliIntroduzione a blockchain e registri digitali
Introduzione a blockchain e registri digitali
 
Creare soluzioni immersive di realtà virtuale aumentata
Creare soluzioni immersive di realtà virtuale aumentataCreare soluzioni immersive di realtà virtuale aumentata
Creare soluzioni immersive di realtà virtuale aumentata
 
Creare e gestire Data Lake e Data Warehouses
Creare e gestire Data Lake e Data WarehousesCreare e gestire Data Lake e Data Warehouses
Creare e gestire Data Lake e Data Warehouses
 
Build a VR experience in 60 minutes - SVC222 - New York AWS Summit
Build a VR experience in 60 minutes - SVC222 - New York AWS SummitBuild a VR experience in 60 minutes - SVC222 - New York AWS Summit
Build a VR experience in 60 minutes - SVC222 - New York AWS Summit
 
Pensi di essere pronto per i microservizi?
Pensi di essere pronto per i microservizi?Pensi di essere pronto per i microservizi?
Pensi di essere pronto per i microservizi?
 
Amazon EC2 Strategie per l'ottimizzazione dei costi
Amazon EC2 Strategie per l'ottimizzazione dei costiAmazon EC2 Strategie per l'ottimizzazione dei costi
Amazon EC2 Strategie per l'ottimizzazione dei costi
 
Migration to AWS: The foundation for enterprise transformation - SVC210 - New...
Migration to AWS: The foundation for enterprise transformation - SVC210 - New...Migration to AWS: The foundation for enterprise transformation - SVC210 - New...
Migration to AWS: The foundation for enterprise transformation - SVC210 - New...
 
Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...
Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...
Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...
 
What's new in Amazon Aurora - ADB204 - Santa Clara AWS Summit.pdf
What's new in Amazon Aurora - ADB204 - Santa Clara AWS Summit.pdfWhat's new in Amazon Aurora - ADB204 - Santa Clara AWS Summit.pdf
What's new in Amazon Aurora - ADB204 - Santa Clara AWS Summit.pdf
 
Next generation intelligent data lakes, powered by GraphQL & AWS AppSync - MA...
Next generation intelligent data lakes, powered by GraphQL & AWS AppSync - MA...Next generation intelligent data lakes, powered by GraphQL & AWS AppSync - MA...
Next generation intelligent data lakes, powered by GraphQL & AWS AppSync - MA...
 
AWS Summit Singapore 2019 | Mobile Apps that Engage Users and React in Real-Time
AWS Summit Singapore 2019 | Mobile Apps that Engage Users and React in Real-TimeAWS Summit Singapore 2019 | Mobile Apps that Engage Users and React in Real-Time
AWS Summit Singapore 2019 | Mobile Apps that Engage Users and React in Real-Time
 
Grid computing in the cloud for Financial Services industry - CMP205-I - New ...
Grid computing in the cloud for Financial Services industry - CMP205-I - New ...Grid computing in the cloud for Financial Services industry - CMP205-I - New ...
Grid computing in the cloud for Financial Services industry - CMP205-I - New ...
 
AWS IoT services - Extract value for industrial applications - SVC205 - Santa...
AWS IoT services - Extract value for industrial applications - SVC205 - Santa...AWS IoT services - Extract value for industrial applications - SVC205 - Santa...
AWS IoT services - Extract value for industrial applications - SVC205 - Santa...
 
AWS及客戶在AI/ML的數位運行過程中得到的重要經驗與學習
AWS及客戶在AI/ML的數位運行過程中得到的重要經驗與學習AWS及客戶在AI/ML的數位運行過程中得到的重要經驗與學習
AWS及客戶在AI/ML的數位運行過程中得到的重要經驗與學習
 
Find All the Threats: AWS Threat Detection and Remediation - SEC303 - Anaheim...
Find All the Threats: AWS Threat Detection and Remediation - SEC303 - Anaheim...Find All the Threats: AWS Threat Detection and Remediation - SEC303 - Anaheim...
Find All the Threats: AWS Threat Detection and Remediation - SEC303 - Anaheim...
 
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
 
Build accurate training data sets with Amazon SageMaker Ground Truth - AIM302...
Build accurate training data sets with Amazon SageMaker Ground Truth - AIM302...Build accurate training data sets with Amazon SageMaker Ground Truth - AIM302...
Build accurate training data sets with Amazon SageMaker Ground Truth - AIM302...
 
Amazon SageMaker: ML for Every Developer and Data Scientist - AIM202 - Anahei...
Amazon SageMaker: ML for Every Developer and Data Scientist - AIM202 - Anahei...Amazon SageMaker: ML for Every Developer and Data Scientist - AIM202 - Anahei...
Amazon SageMaker: ML for Every Developer and Data Scientist - AIM202 - Anahei...
 

Similar to Amplifying fullstack serverless apps with AppSync & the Amplify Framework - MAD312 - Chicago AWS Summit

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
Aleksandr Maklakov
 
"Integrate your front end apps with serverless backend in the cloud", Sebasti...
"Integrate your front end apps with serverless backend in the cloud", Sebasti..."Integrate your front end apps with serverless backend in the cloud", Sebasti...
"Integrate your front end apps with serverless backend in the cloud", Sebasti...
Provectus
 
Simplify your Web & Mobile applications with cloud-based serverless backends
Simplify your Web & Mobile applicationswith cloud-based serverless backendsSimplify your Web & Mobile applicationswith cloud-based serverless backends
Simplify your Web & Mobile applications with cloud-based serverless backends
Sébastien ☁ Stormacq
 
Build secure, offline, real-time-enabled mobile apps - MAD304 - Atlanta AWS S...
Build secure, offline, real-time-enabled mobile apps - MAD304 - Atlanta AWS S...Build secure, offline, real-time-enabled mobile apps - MAD304 - Atlanta AWS S...
Build secure, offline, real-time-enabled mobile apps - MAD304 - Atlanta AWS S...
Amazon Web Services
 
Simplify front end apps.pdf
Simplify front end apps.pdfSimplify front end apps.pdf
Simplify front end apps.pdf
Amazon Web Services
 
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 Summits
 
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
Amazon Web Services
 
AWS Stockholm Summit 19- Building serverless applications with GraphQL
AWS Stockholm Summit 19- Building serverless applications with GraphQLAWS Stockholm Summit 19- Building serverless applications with GraphQL
AWS Stockholm Summit 19- Building serverless applications with GraphQL
Marcia Villalba
 
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
Amazon Web Services
 
Building APIs from front to back - MAD314 - Chicago AWS Summit
Building APIs from front to back - MAD314 - Chicago AWS SummitBuilding APIs from front to back - MAD314 - Chicago AWS Summit
Building APIs from front to back - MAD314 - Chicago AWS Summit
Amazon Web Services
 
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
Heitor Lessa
 
Simplify front end apps.pdf
Simplify front end apps.pdfSimplify front end apps.pdf
Simplify front end apps.pdf
Amazon Web Services
 
Building Modern APIs with GraphQL
Building Modern APIs with GraphQLBuilding Modern APIs with GraphQL
Building Modern APIs with GraphQL
Amazon Web Services
 
AWS DevDay Berlin 2019 - Simplify your Web & Mobile apps with cloud-based ser...
AWS DevDay Berlin 2019 - Simplify your Web & Mobile appswith cloud-based ser...AWS DevDay Berlin 2019 - Simplify your Web & Mobile appswith cloud-based ser...
AWS DevDay Berlin 2019 - Simplify your Web & Mobile apps with cloud-based ser...
Darko Mesaroš
 
Websites go Serverless - AWS Summit Berlin
Websites go Serverless - AWS Summit BerlinWebsites go Serverless - AWS Summit Berlin
Websites go Serverless - AWS Summit Berlin
Boaz Ziniman
 
Introduzione a GraphQL
Introduzione a GraphQLIntroduzione a GraphQL
Introduzione a GraphQL
Commit University
 
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
Cobus Bernard
 
Serverless APIs and you
Serverless APIs and youServerless APIs and you
Serverless APIs and you
James Beswick
 
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
Heitor Lessa
 
Building A Cloud-Native Advanced Logistics Ecosystem
Building A Cloud-Native Advanced Logistics EcosystemBuilding A Cloud-Native Advanced Logistics Ecosystem
Building A Cloud-Native Advanced Logistics Ecosystem
Christian Deger
 

Similar to Amplifying fullstack serverless apps with AppSync & the Amplify Framework - MAD312 - Chicago AWS Summit (20)

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
 
"Integrate your front end apps with serverless backend in the cloud", Sebasti...
"Integrate your front end apps with serverless backend in the cloud", Sebasti..."Integrate your front end apps with serverless backend in the cloud", Sebasti...
"Integrate your front end apps with serverless backend in the cloud", Sebasti...
 
Simplify your Web & Mobile applications with cloud-based serverless backends
Simplify your Web & Mobile applicationswith cloud-based serverless backendsSimplify your Web & Mobile applicationswith cloud-based serverless backends
Simplify your Web & Mobile applications with cloud-based serverless backends
 
Build secure, offline, real-time-enabled mobile apps - MAD304 - Atlanta AWS S...
Build secure, offline, real-time-enabled mobile apps - MAD304 - Atlanta AWS S...Build secure, offline, real-time-enabled mobile apps - MAD304 - Atlanta AWS S...
Build secure, offline, real-time-enabled mobile apps - MAD304 - Atlanta AWS S...
 
Simplify front end apps.pdf
Simplify front end apps.pdfSimplify front end apps.pdf
Simplify front end apps.pdf
 
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 Stockholm Summit 19- Building serverless applications with GraphQL
AWS Stockholm Summit 19- Building serverless applications with GraphQLAWS Stockholm Summit 19- Building serverless applications with GraphQL
AWS Stockholm Summit 19- Building serverless applications with GraphQL
 
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
 
Building APIs from front to back - MAD314 - Chicago AWS Summit
Building APIs from front to back - MAD314 - Chicago AWS SummitBuilding APIs from front to back - MAD314 - Chicago AWS Summit
Building APIs from front to back - MAD314 - Chicago AWS Summit
 
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
 
Simplify front end apps.pdf
Simplify front end apps.pdfSimplify front end apps.pdf
Simplify front end apps.pdf
 
Building Modern APIs with GraphQL
Building Modern APIs with GraphQLBuilding Modern APIs with GraphQL
Building Modern APIs with GraphQL
 
AWS DevDay Berlin 2019 - Simplify your Web & Mobile apps with cloud-based ser...
AWS DevDay Berlin 2019 - Simplify your Web & Mobile appswith cloud-based ser...AWS DevDay Berlin 2019 - Simplify your Web & Mobile appswith cloud-based ser...
AWS DevDay Berlin 2019 - Simplify your Web & Mobile apps with cloud-based ser...
 
Websites go Serverless - AWS Summit Berlin
Websites go Serverless - AWS Summit BerlinWebsites go Serverless - AWS Summit Berlin
Websites go Serverless - AWS Summit Berlin
 
Introduzione a GraphQL
Introduzione a GraphQLIntroduzione a GraphQL
Introduzione a GraphQL
 
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
 
Serverless APIs and you
Serverless APIs and youServerless APIs and you
Serverless APIs and you
 
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
 
Building A Cloud-Native Advanced Logistics Ecosystem
Building A Cloud-Native Advanced Logistics EcosystemBuilding A Cloud-Native Advanced Logistics Ecosystem
Building A Cloud-Native Advanced Logistics Ecosystem
 

More from Amazon Web Services

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...
Amazon Web Services
 
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...
Amazon Web Services
 
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
Amazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
Amazon Web Services
 
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
Amazon Web Services
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
Amazon Web Services
 
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...
Amazon Web Services
 
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...
Amazon Web Services
 
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
Amazon Web Services
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
Amazon Web Services
 
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
Amazon Web Services
 
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
Amazon Web Services
 
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
Amazon Web Services
 
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
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 AWSAmazon 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 DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon 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
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
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
 

Amplifying fullstack serverless apps with AppSync & the Amplify Framework - MAD312 - Chicago AWS Summit

  • 1. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Amplifying fullstack serverless apps with AppSync & the Amplify Framework Ed Lima Solutions architect AWS AppSync M A D 3 1 2
  • 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Fullstack https://www.flickr.com/photos/ginnerobot/2549674908/
  • 3. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Backend Front end CI/CD https://www.flickr.com/photos/ginnerobot/2549674908/
  • 4. © 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…
  • 5. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
  • 6. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 7. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T {API}
  • 8. © 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”
  • 9. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T AWS 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 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
  • 11. © 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?
  • 12. © 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 }
  • 13. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Queries query GetPost { getPost(id: ”1”) { id title } } mutation CreatePost { createPost(title: “Summit”) { id title } } subscription OnCreatePost { onCreatePost { id title } } Mutations Subscriptions A query language for APIs . . .
  • 14. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 15. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
  • 16. © 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
  • 17. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T How does AWS AppSync work? , ,
  • 18. © 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
  • 19. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Pipeline resolvers
  • 20. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Real-time data broadcasting
  • 21. © 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)
  • 22. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T AWS AppSync real-time reference architecture https://github.com/aws-samples/appsync-refarch-realtime
  • 23. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Offline
  • 24. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Offline capabilities: AppSync client storage • Offline is a write-through “store" • Persistent storage mediums back the Apollo normalized cache • Local storage for web • AsyncStorage for React Native • SQLite on native platforms • Database can be preloaded • Offline client can be configured • Wi-Fi only • Wi-Fi and cellular
  • 25. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Polyglot backend data access
  • 26. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Microservices data access
  • 27. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 28. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Multiple authorization providers on a single API • Type, operation, and field level authorization • Default authorization mode • Additional providers • OpenID Connect • Amazon Cognito User Pools • AWS Identity and Access Management • API key
  • 29. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 30. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Log insights
  • 31. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Log insights nanoseconds
  • 32. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
  • 33. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 34. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Amplify Framework
  • 35. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Amplify Framework
  • 36. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Amplify Framework ✓ CLI ✓ Client libraries (native and JS support) ✓ Console – Continuous deployment and hosting ✓ Prebuilt UI components ✓ Toolchain ✓ JS framework support
  • 37. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T • Create, update, and delete cloud services • Manage multiple environments • GraphQL Transform • GraphQL Codegen Amplify Framework CLI
  • 38. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Categories Authentication Analytics Interactions (chat bots) API (REST) API (GraphQL) Amplify CLI Serverless functions Storage XR Push notifications Video
  • 39. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T $ amplify add auth $ amplify push $ amplify configure auth $ amplify delete $ amplify codegen add Amplify CLI
  • 40. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T $ amplify add api – # schema.graphql type Post @model { id: ID! title: String! }
  • 41. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T @model Top-level entity; creates DynamoDB table, resolvers, and additional schema (queries, mutations, and subscriptions) for base type @connection Enables relationships between @model types @auth Enables set of authorization rules @searchable Handles streaming the data of an @model object type to Amazon Elasticsearch Service and configures search resolvers @versioned Enables versioning @function Enables adding a Lambda function as a data source –
  • 42. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T GraphQL Transform: Mix and match data sources type Post { id: ID! content: String description: String ups: Int downs: Int }
  • 43. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T GraphQL Transform: Mix and match data sources createPost readPost updatePost deletePost type Post @model { id: ID! content: String description: String ups: Int downs: Int }
  • 44. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T GraphQL Transform: Mix and match data sources mutations queries createPost readPost updatePost deletePost type Post @model @auth(rules: [{allow: owner}]){ id: ID! content: String description: String ups: Int downs: Int }
  • 45. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T GraphQL Transform: Mix and match data sources searchPosts mutations queries createPost readPost updatePost deletePost type Post @model @auth(rules: [{allow: owner}]) @searchable{ id: ID! content: String description: String ups: Int downs: Int }
  • 46. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T GraphQL Transform: Mix and match data sources searchPosts mutations queries createPost readPost updatePost deletePost type Post @model @auth(rules: [{allow: owner}]) @searchable{ id: ID! content: String description: String ups: Int downs: Int }
  • 47. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T $ amplify add codegen [--apiId <api-id>] // Will generate GraphQL statements // (queries, mutations, subscriptions)
  • 48. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T $ amplify env add $ amplify env list $ amplify env checkout $ amplify env remove
  • 49. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Multiple environments and team workflow • Git-style interaction and project switching • Share backends between team members or clone for sandbox isolated development User Users
  • 50. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Amplify Framework • Connect to and interact with cloud services from web and mobile applications • Preconfigured components forpopular front-end libraries Client
  • 51. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T AWS Amplify client • Opinionated • Declarative • Client focused • High-level abstractions • Best practices built in • Built with Amplify CLI in mind
  • 52. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T AWS Amplify client import { Auth, API, Storage, Analytics, XR } from ‘aws-amplify’ $ npm install aws-amplify
  • 53. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T AWS Amplify client import { Auth } from ‘aws-amplify’ Auth.signIn(’myusername’, ‘mypassword’) Auth.signOut() Auth.currentAuthenticatedUser()
  • 54. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T AWS Amplify: Native support
  • 55. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T AWS Amplify: JS framework support
  • 56. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Higher-order components import {withAuthenticator} from ‘aws-amplify-react’ export default withAuthenticator(App) class App extends Component { // your code goes here
  • 57. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Escape hatches https://www.flickr.com/photos/93241698@N00/4791058431
  • 58. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Amazon API Gateway Amazon Pinpoint AWS Lambda AWS AppSync Amazon DynamoDBAmazon Cognito
  • 59. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Amplify Framework Common workflows 1. Deploying a Lambda function with API Gateway (REST) 2. Adding authentication 3. Deploying a GraphQL API 4. Adding analytics
  • 60. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Deploying a Lambda function with API Gateway 1. Create the Lambda function & API $ amplify add api // chose REST with Express backend
  • 61. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 2. Write code/make changes // amplify/backend/function/<FUNCTION_NAME>/src/app.js app.get(‘/items’, function(req, res) { // new code goes here }) Deploying a Lambda function with API Gateway
  • 62. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T $ amplify push 3. Deploy new API Deploying a Lambda function with API Gateway Amazon API Gateway AWS Lambda
  • 63. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T import { API } from ‘aws-amplify’ API.get(’/items’) .then(data => console.log({ data })) .catch(err => console.log({ err }) 4. Interact with the API Deploying a Lambda function with API Gateway
  • 64. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T $ amplify add auth // choose either default or custom configuration 1. Create the authentication service Adding authentication
  • 65. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T import { Auth } from ‘aws-amplify’ 2. Import the Auth component Adding authentication
  • 66. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Auth.signUp(‘username’, ‘password’, { attributes: { email: ‘jane@doe.com’ } }) Auth.signIn(’myusername’, ‘mypassword’) 3. Implement Auth methods Adding authentication
  • 67. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T $ amplify add api // chose GraphQL 1. Create the GraphQL API Deploying a GraphQL API
  • 68. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T type Todo @model { id: ID! name: String! description: String! completed: Boolean } 2. Define annotated GraphQL schema Deploying a GraphQL API
  • 69. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T $ amplify push 3. Deploy new API Deploying a GraphQL API Amazon Cognito AWS AppSync Amazon DynamoDB
  • 70. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T import { API, GraphqlOperation } from ‘aws-amplify’ import { listTodos } from ‘./src/graphql/queries’ API.graphql(graphqlOperation(listTodos)) .then(data => console.log({ data })) .catch(err => console.log({ err }) 4. Interact with API Deploying a GraphQL API
  • 71. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T $ amplify add analytics $ amplify push 1. Create analytics service Adding analytics Amazon Pinpoint
  • 72. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 2. Import Analytics API Adding analytics import { Analytics } from ‘aws-amplify’
  • 73. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 3. Record events Adding analytics Analytics.record({ name: 'albumVisit’ }) Analytics.record({ name: 'albumVisit', // Attribute values must be strings attributes: { genre: ‘nu-metal', artist: ’RATM’ } })
  • 74. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Amazon API Gateway Amazon Pinpoint AWS Lambda AWS AppSync Amazon DynamoDBAmazon Cognito
  • 75. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T AWS AppSync JS SDK • Offline ready • Built-in helpers foroptimistic response, subscriptions • Usewith React Apollo / VueApollo / Angular Apollo • https://github.com/awslabs/aws-mobile-appsync-sdk-js
  • 76. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 77. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Fullstack DevOps for web apps • Strong isolation barrier between projects and stages Dedicated AWS accounts for each project and stage (sandbox, staging, prod) • Source code (and history) for each stage readily available Git branching used for the source code for each stage • Minimize version mismatches between front end and backend Front end (e.g., code) and backend (e.g., AWS CloudFormation templates) developed and versioned together in same Git repository • Developers in control Developers deploy front end *and* backend
  • 78. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T DevOps requirements for modern web apps Web app per dev sandbox Test web app Prod web app
  • 79. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T DevOps challenges with modern web apps Lots of moving parts complicate the following:
  • 80. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T AWS Amplify Console Build, deploy, and host cloud-powered modern web apps Optional deployment of backend resources + fully managed front-end hosting
  • 81. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T AWS Amplify Console Your app is served via Amazon's reliable content delivery network with 144 points of presence globally. Set up custom domains managed in Amazon Route 53 with a single click, plus get a free HTTPS certificate. Connect your repository to 'git push' changes to your front end and backend in a single workflow. Work on new features without impacting production. Create branch deployments linked to each feature branch. All deployments either rollout successfully or fail without requiring maintenance windows. Share yet-to-be released features with internal stakeholders by setting a username and password.
  • 82. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Use cases Use static site generators like Hugo or Jekyll to publish a blog. SSGs perform faster than traditional websites. Deploy SSGs with free SSL on the AWS Amplify Console. Add dynamic functionality using GraphQL or REST APIs. Use the AWS Amplify Console to deploy your front end and backend in a single workflow. PWAs offer native app-like performance, work offline, support push notifications, and can be updated over the air. Use AWS Amplify to deploy PWAs to mobile devices.
  • 83. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 84. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Community • https://amplify.aws/community/ • https://awsappsync.dev • https://aws-amplify.github.io/ • https://github.com/aws-amplify • https://github.com/aws-amplify
  • 85. Thank you! S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Ed Lima @ednergizer