SlideShare a Scribd company logo
1 of 56
Download to read offline
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Mobile State of the Union
AMIT PATEL
G e n e r a l M a n a g e r , A W S M o b i l e
AWS re:INVENT
N o v e m b e r 2 8 , 2 0 1 7
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
MOBILE INDUSTRY TRENDS
Time spent in apps
and growing
1.6T
hours
Source: AppAnnie
New enterprise apps
built with web
technologies
50%+
Source: AWS
JavaScript – most
commonly used
programming
language
66.7%▲
Source: Stack Overflow
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Building High Quality,
Cloud-Enabled Apps
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
THREE SIMPLE STEPS
1. Pick a Platform
Mobile Hub
2. Set Up Cloud Services
Native SDKs
3. Connect Your App
Mobile CLI AWS Amplify
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
MOBILE CLI: SETTING UP CLOUD SERVICES
> awsmobile init
> awsmobile user-signin enable
Initialize your app
Enable User Sign-in
Supported services:
• user-signin (Amazon Cognito)
• analytics (Amazon Pinpoint)
• database (Amazon DynamoDB)
• user-files (Amazon S3)
• cloud-api (API GW & AWS
Lambda)
Web app deployment support:
• hosting (Amazon S3 and
Amazon CloudFront)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
THE AWS AMPLIFY LIBRARY
JavaScript Library
- Declarative interfaces
- Convention over configuration
Categories for application
programming with Cloud services
- Auth, Analytics, Storage, API
- Caching, i18n, logging,
message bus
React/React Native extensions
- Higher-order components
- Native bridging for
mathematical operations
(Amazon Cognito User Pools)
- Open sourced – Apache 2.0
- Implemented with AWS
services, open for external
contribution
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
USING AMPLIFY TO CONNECT YOUR APP
Higher-order components
enable a functional sign-in
UI with just two lines of code
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
TESTING AND DEPLOYING YOUR WEB APP
Test your web app on real devices
for performance insights
Host your web app on S3 (served
through CloudFront)
> awsmobile publish --test
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
THE MOBILE HUB CONSOLE
Use the Mobile Hub console to add more platforms and features
> awsmobile console
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
APP DATA: HARD PROBLEMS REMAIN
Data requirements
vary across devices
and become harder
when multiple
users share data
Users want instant
access to data
Building scalable
data-driven apps
without learning
distributed systems
concepts is hard
Users want to
continue using
their apps even
with low or no
connectivity
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS AppSync
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
CREATE POWERFUL DATA-DRIVEN APPS
Real-time,
Collaborative
Apps
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
CREATE POWERFUL DATA-DRIVEN APPS
Real-time,
Collaborative
Apps
Offline
Programming
Model with
Sync
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
CREATE POWERFUL DATA-DRIVEN APPS
Real-time,
Collaborative
Apps
Offline
Programming
Model with
Sync
Get Only the
Data You Need
with GraphQL
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
CREATE POWERFUL DATA-DRIVEN APPS
Real-time,
Collaborative
Apps
Offline
Programming
Model with
Sync
Get Only the
Data You Need
with GraphQL
Access Data
from Multiple
Sources
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
CREATE POWERFUL DATA-DRIVEN APPS
Real-time,
Collaborative
Apps
Offline
Programming
Model with
Sync
Get Only the
Data You Need
with GraphQL
Access Data
from Multiple
Sources
Fine-grained
Access Control
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
APPS YOU CAN BUILD WITH APPSYNC
Collaboration Apps
- Dashboards
- Leaderboards
- Whiteboards
- …
Social Media, Chat,
and Dating Apps
Apps with Complex
Data Structures
and Types
Geo Apps
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
START BUILDING FAST
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
EASY ACCESS TO RICH DATA
{
"id": "1",
"name": "Get Milk",
"priority": "1"
},
"id": "2",
"name": "Go to gym",
"priority": "5"
},…
type Query {
getTodos: [Todo]
}
type Todo {
id: ID!
name: String
description: String
priority: Int
duedate: String
}
query {
getTodos {
id
name
priority
}
}
Model data with
application schema
Client requests what it
needs
Only that data is
returned
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Getting Started with AWS AppSync
MICHAEL PARIS
Software Development Engineer, AWS Mobile
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
EVENT APPLICATION
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS AppSync helps you build applications
faster
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
DEPLOY AN API
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
INTEGRATE WITH YOUR APPLICATION
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
RECAP
• Deployed two Amazon DynamoDB tables to hold Event and Comment
records
• Created two AWS IAM service roles giving AWS AppSync access to data
operations on those tables
• Deployed a scalable GraphQL API
• Ran a single GraphQL query that interacted with data from multiple Amazon
DynamoDB tables
• Integrated AWS AppSync with our front-end application and enabled offline
and real-time support
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS AppSync helps you build global scale and
powerful applications
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
GOING DEEPER
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
MAPTAP WITH AWS APPSYNC
Elasticsearch
DynamoDB
Browser
Mobile
device
AWS Lambda
Third-party service
Resolvers
AWS AppSync
/graphql
Subscriptions
Data Sources
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Musixmatch
FRANCESCO DELFINO
CTO & Co-Founder, Musixmatch
Founded in 2010. Head quarters in Bologna, Italy
Lyrics API available to third-party music services and
websites
Mobile apps for Android and iOS
Desktop widget (Floating Lyrics) running on
Windows, Mac, and Linux
A new way to enjoy music
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
World’s largest lyrics catalog
Worldwide coverage with more than 60 different languages
67,11% 6,15% 5,7% 2,65% 2,62% 2,39% 2,36% 1,84%
0,81% 0,72% 0,68% 0,67% 0,61% 0,52% 0,51%
…
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Available for over 90% of the lyrics requested
SYNCED LYRICS
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Available for over 90% of the lyrics requested
SYNCED LYRICS
TRANSLATIONS
Available for over 70% of the lyrics requested
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Available for over 90% of the lyrics requested
SYNCED LYRICS
TRANSLATIONS
Available for over 70% of the lyrics requested
WORD BY WORD SYNC
Available for in beta. GA Q1 2018
Musixmatch plugs in 3rd party music players
(Spotify, iTunes, Youtube etc).
Understanding the music consumption
Over a billion data points processed daily, profile user
musical preferences
Semantic analysis and structural analysis for tailored
recommendation (Q1 2018)
30 million active users per month
0
17,500,000
35,000,000
52,500,000
70,000,000
2010 2012 2014 2016
Monthly Active Visitors Download
ASIA
AMERICAS EUROPE
AFRICA
OCEANIA
Over 400k requests per minute, low at 200k
Total spending lowered over time
10x increase in the same period (sessions)
70% 71%
62%
58%
2014 2015 2016 2017
The split between EC2/PaaS services changed over time
Over 400k requests per minute, low at 200k
Total spending lowered over time
10x increase in the same period (sessions)
70% 71%
62%
58%
2014 2015 2016 2017
The split between EC2 / PaaS services changed over time
Lessons learned: don’t be scared by continuously
re-engineering your product to exploit new
possibilities
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Simplifying our app
development and backend
PROS
Vibrant ecosystem
Development tools, e.g. Expo
Leverage web skills
Easily pluggable in existing apps
Multidevice development: React Native
CONS
Too many options
Versioning problems
Development tools sometimes difficult to tweak
PROS
Vibrant ecosystem
Development tools, e.g. Expo
Leverage web skills
Easily pluggable in existing apps
Multidevice development: React Native
CONS
Too many options
Versioning problems
Development tools sometimes difficult to tweak
Our stack: Typescript, ReactXP, NGROK (for creating our own Expo-like experience)
Most users move from mobile to
desktop for editing the lyrics
We already support interprocess
communication (Floating lyrics,
deeplinks)
Enabling multidevice experience 1/2
Most users move from mobile to
desktop for editing the lyrics
We already support interprocess
communication (Floating lyrics,
deeplinks)
Enabling multidevice experience 1/2
What we needed:
Extending to multiple device requires
a real-time messaging hub
Most users move from mobile to
desktop for editing the lyrics
We already support interprocess
communication (Floating lyrics,
deeplinks)
Enabling multidevice experience 1/2
What we needed:
Extending to multiple device requires
a real-time messaging hub
What we tried:
Open Source tools: SignalR or Socket.IO
Most users move from mobile to
desktop for editing the lyrics
We already support interprocess
communication (Floating lyrics,
deeplinks)
Enabling multidevice experience 1/2
What we needed:
Extending to multiple device requires
a real-time messaging hub
What we tried:
Open Source tools: SignalR or Socket.IO
Challenges:
Dealing with mobile connection
reliability is hard
Enabling multidevice experience 2/2
User starts
on mobile
Enabling multidevice experience 2/2
Installs/launch app
on desktop
(Project Rome)
User starts
on mobile
Enabling multidevice experience 2/2
Installs/launch app
on desktop
(Project Rome)
User starts
on mobile
Player state saved
(AppSync)
Enabling multidevice experience 2/2
Installs/launch app
on desktop
(Project Rome)
User starts
on mobile
Player state saved
(AppSync)
State Sync’d to
desktop
(AppSync)
Enabling multidevice experience 2/2
Installs/launch app
on desktop
(Project Rome)
User starts
on mobile
Player state saved
(AppSync)
State Sync’d to
desktop
(AppSync)
Bidirectional in the
future
(AppSync)
Enabling multidevice experience 2/2
Installs/launch app
on desktop
(Project Rome)
User starts
on mobile
Player state saved
(AppSync)
State Sync’d to
desktop
(AppSync)
Bidirectional in the
future
(AppSync)
Type UserNowPlaying {
user_id: ID! UserPlayerState
guid: String!
protocolUri: String!
}
The custom protocol
URI contains
q_track
q_artist
duration
position
start_time
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
CODE INTEGRATION
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
APP DEMO
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Wrapping Up
AMIT PATEL
General Manager, AWS Mobile
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
START BUILDING TODAY!
AWS Mobile Hub and CLI available now
• Learn more and get started: https://aws.amazon.com/mobile/
AWS Amplify is also available now
• Find it on GitHub: https://github.com/aws/aws-amplify
AWS AppSync Preview available for registration later today
• Learn more and register: https://aws.amazon.com/appsync/
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Thank you!
1 . M B L 3 1 0 ( T u e s @ 1 2 : 1 5 p . m . ) — B u i l d i n g H y b r i d a n d W e b a p p s u s i n g
J a v a S c r i p t w i t h A W S M o b i l e
2 . M B L 4 0 4 ( T u e s @ 1 : 4 5 p . m . ) — R e a l - t i m e a n d O f f l i n e a p p l i c a t i o n
d e v e l o p m e n t u s i n g G r a p h Q L w i t h A W S A p p S y n c
3 . M B L 4 0 2 ( T u e s @ 5 : 3 0 p . m . ) — D a t a D r i v e n A p p s w i t h G r a p h Q L : A W S
A p p S y n c D e e p D i v e

More Related Content

What's hot

MBL309_User Engagement, Messaging, and Analytics Using Amazon Pinpoint from A...
MBL309_User Engagement, Messaging, and Analytics Using Amazon Pinpoint from A...MBL309_User Engagement, Messaging, and Analytics Using Amazon Pinpoint from A...
MBL309_User Engagement, Messaging, and Analytics Using Amazon Pinpoint from A...Amazon Web Services
 
DEV328_DevOps Lessons from Courser a Site Performance, Reliability, and Devel...
DEV328_DevOps Lessons from Courser a Site Performance, Reliability, and Devel...DEV328_DevOps Lessons from Courser a Site Performance, Reliability, and Devel...
DEV328_DevOps Lessons from Courser a Site Performance, Reliability, and Devel...Amazon Web Services
 
DEV329_Cisco’s Journey from Monolith to Microservices
DEV329_Cisco’s Journey from Monolith to MicroservicesDEV329_Cisco’s Journey from Monolith to Microservices
DEV329_Cisco’s Journey from Monolith to MicroservicesAmazon Web Services
 
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...Amazon Web Services
 
MBL209_Learn How MicroStrategy on AWS is Helping Vivint Solar Deliver Clean E...
MBL209_Learn How MicroStrategy on AWS is Helping Vivint Solar Deliver Clean E...MBL209_Learn How MicroStrategy on AWS is Helping Vivint Solar Deliver Clean E...
MBL209_Learn How MicroStrategy on AWS is Helping Vivint Solar Deliver Clean E...Amazon Web Services
 
Storage State of the Union - STG201 - re:Invent 2017
Storage State of the Union - STG201 - re:Invent 2017Storage State of the Union - STG201 - re:Invent 2017
Storage State of the Union - STG201 - re:Invent 2017Amazon Web Services
 
CON208_Building Microservices on AWS
CON208_Building Microservices on AWSCON208_Building Microservices on AWS
CON208_Building Microservices on AWSAmazon Web Services
 
HLC302_Adopting Microservices in Healthcare Building a Compliant DevOps Pipel...
HLC302_Adopting Microservices in Healthcare Building a Compliant DevOps Pipel...HLC302_Adopting Microservices in Healthcare Building a Compliant DevOps Pipel...
HLC302_Adopting Microservices in Healthcare Building a Compliant DevOps Pipel...Amazon Web Services
 
DVC304_Compliance and Top Security Threats in the Cloud—Are You Protected
DVC304_Compliance and Top Security Threats in the Cloud—Are You ProtectedDVC304_Compliance and Top Security Threats in the Cloud—Are You Protected
DVC304_Compliance and Top Security Threats in the Cloud—Are You ProtectedAmazon Web Services
 
CMP314_Bringing Deep Learning to the Cloud with Amazon EC2
CMP314_Bringing Deep Learning to the Cloud with Amazon EC2CMP314_Bringing Deep Learning to the Cloud with Amazon EC2
CMP314_Bringing Deep Learning to the Cloud with Amazon EC2Amazon Web Services
 
WPS205_Is AWS GovCloud Right for your Regulated Workload
WPS205_Is AWS GovCloud Right for your Regulated WorkloadWPS205_Is AWS GovCloud Right for your Regulated Workload
WPS205_Is AWS GovCloud Right for your Regulated WorkloadAmazon Web Services
 
MCL306_Making IoT Smarter with AWS Rekognition.pdf
MCL306_Making IoT Smarter with AWS Rekognition.pdfMCL306_Making IoT Smarter with AWS Rekognition.pdf
MCL306_Making IoT Smarter with AWS Rekognition.pdfAmazon Web Services
 
ARC311_Serverless Encoding at Scale with Content Moderation via Deep Learning...
ARC311_Serverless Encoding at Scale with Content Moderation via Deep Learning...ARC311_Serverless Encoding at Scale with Content Moderation via Deep Learning...
ARC311_Serverless Encoding at Scale with Content Moderation via Deep Learning...Amazon Web Services
 
GPSTEC302_Anti-Patterns- Learning through Failure
GPSTEC302_Anti-Patterns- Learning through FailureGPSTEC302_Anti-Patterns- Learning through Failure
GPSTEC302_Anti-Patterns- Learning through FailureAmazon Web Services
 
ARC331_How I Made My Motorbike Talk
ARC331_How I Made My Motorbike TalkARC331_How I Made My Motorbike Talk
ARC331_How I Made My Motorbike TalkAmazon Web Services
 
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdf
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdfDEV305_Manage Your Applications with AWS Elastic Beanstalk.pdf
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdfAmazon Web Services
 
DEV326_DevOps Essentials An Introductory Workshop on CICD Practices
DEV326_DevOps Essentials An Introductory Workshop on CICD PracticesDEV326_DevOps Essentials An Introductory Workshop on CICD Practices
DEV326_DevOps Essentials An Introductory Workshop on CICD PracticesAmazon Web Services
 
DEV203_Launch Applications the Amazon Way
DEV203_Launch Applications the Amazon WayDEV203_Launch Applications the Amazon Way
DEV203_Launch Applications the Amazon WayAmazon Web Services
 
Oracle Enterprise Solutions on AWS - ENT326 - re:Invent 2017
Oracle Enterprise Solutions on AWS - ENT326 - re:Invent 2017Oracle Enterprise Solutions on AWS - ENT326 - re:Invent 2017
Oracle Enterprise Solutions on AWS - ENT326 - re:Invent 2017Amazon Web Services
 
GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...
GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...
GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...Amazon Web Services
 

What's hot (20)

MBL309_User Engagement, Messaging, and Analytics Using Amazon Pinpoint from A...
MBL309_User Engagement, Messaging, and Analytics Using Amazon Pinpoint from A...MBL309_User Engagement, Messaging, and Analytics Using Amazon Pinpoint from A...
MBL309_User Engagement, Messaging, and Analytics Using Amazon Pinpoint from A...
 
DEV328_DevOps Lessons from Courser a Site Performance, Reliability, and Devel...
DEV328_DevOps Lessons from Courser a Site Performance, Reliability, and Devel...DEV328_DevOps Lessons from Courser a Site Performance, Reliability, and Devel...
DEV328_DevOps Lessons from Courser a Site Performance, Reliability, and Devel...
 
DEV329_Cisco’s Journey from Monolith to Microservices
DEV329_Cisco’s Journey from Monolith to MicroservicesDEV329_Cisco’s Journey from Monolith to Microservices
DEV329_Cisco’s Journey from Monolith to Microservices
 
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...
 
MBL209_Learn How MicroStrategy on AWS is Helping Vivint Solar Deliver Clean E...
MBL209_Learn How MicroStrategy on AWS is Helping Vivint Solar Deliver Clean E...MBL209_Learn How MicroStrategy on AWS is Helping Vivint Solar Deliver Clean E...
MBL209_Learn How MicroStrategy on AWS is Helping Vivint Solar Deliver Clean E...
 
Storage State of the Union - STG201 - re:Invent 2017
Storage State of the Union - STG201 - re:Invent 2017Storage State of the Union - STG201 - re:Invent 2017
Storage State of the Union - STG201 - re:Invent 2017
 
CON208_Building Microservices on AWS
CON208_Building Microservices on AWSCON208_Building Microservices on AWS
CON208_Building Microservices on AWS
 
HLC302_Adopting Microservices in Healthcare Building a Compliant DevOps Pipel...
HLC302_Adopting Microservices in Healthcare Building a Compliant DevOps Pipel...HLC302_Adopting Microservices in Healthcare Building a Compliant DevOps Pipel...
HLC302_Adopting Microservices in Healthcare Building a Compliant DevOps Pipel...
 
DVC304_Compliance and Top Security Threats in the Cloud—Are You Protected
DVC304_Compliance and Top Security Threats in the Cloud—Are You ProtectedDVC304_Compliance and Top Security Threats in the Cloud—Are You Protected
DVC304_Compliance and Top Security Threats in the Cloud—Are You Protected
 
CMP314_Bringing Deep Learning to the Cloud with Amazon EC2
CMP314_Bringing Deep Learning to the Cloud with Amazon EC2CMP314_Bringing Deep Learning to the Cloud with Amazon EC2
CMP314_Bringing Deep Learning to the Cloud with Amazon EC2
 
WPS205_Is AWS GovCloud Right for your Regulated Workload
WPS205_Is AWS GovCloud Right for your Regulated WorkloadWPS205_Is AWS GovCloud Right for your Regulated Workload
WPS205_Is AWS GovCloud Right for your Regulated Workload
 
MCL306_Making IoT Smarter with AWS Rekognition.pdf
MCL306_Making IoT Smarter with AWS Rekognition.pdfMCL306_Making IoT Smarter with AWS Rekognition.pdf
MCL306_Making IoT Smarter with AWS Rekognition.pdf
 
ARC311_Serverless Encoding at Scale with Content Moderation via Deep Learning...
ARC311_Serverless Encoding at Scale with Content Moderation via Deep Learning...ARC311_Serverless Encoding at Scale with Content Moderation via Deep Learning...
ARC311_Serverless Encoding at Scale with Content Moderation via Deep Learning...
 
GPSTEC302_Anti-Patterns- Learning through Failure
GPSTEC302_Anti-Patterns- Learning through FailureGPSTEC302_Anti-Patterns- Learning through Failure
GPSTEC302_Anti-Patterns- Learning through Failure
 
ARC331_How I Made My Motorbike Talk
ARC331_How I Made My Motorbike TalkARC331_How I Made My Motorbike Talk
ARC331_How I Made My Motorbike Talk
 
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdf
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdfDEV305_Manage Your Applications with AWS Elastic Beanstalk.pdf
DEV305_Manage Your Applications with AWS Elastic Beanstalk.pdf
 
DEV326_DevOps Essentials An Introductory Workshop on CICD Practices
DEV326_DevOps Essentials An Introductory Workshop on CICD PracticesDEV326_DevOps Essentials An Introductory Workshop on CICD Practices
DEV326_DevOps Essentials An Introductory Workshop on CICD Practices
 
DEV203_Launch Applications the Amazon Way
DEV203_Launch Applications the Amazon WayDEV203_Launch Applications the Amazon Way
DEV203_Launch Applications the Amazon Way
 
Oracle Enterprise Solutions on AWS - ENT326 - re:Invent 2017
Oracle Enterprise Solutions on AWS - ENT326 - re:Invent 2017Oracle Enterprise Solutions on AWS - ENT326 - re:Invent 2017
Oracle Enterprise Solutions on AWS - ENT326 - re:Invent 2017
 
GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...
GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...
GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...
 

Similar to AWS AppSync Powers Mobile Apps with Real-time and Offline Data

Introduction to Mobile Development with AWS
Introduction to Mobile Development with AWSIntroduction to Mobile Development with AWS
Introduction to Mobile Development with AWSAmazon Web Services
 
Introduction to Mobile Development with AWS
Introduction to Mobile Development with AWSIntroduction to Mobile Development with AWS
Introduction to Mobile Development with AWSAmazon Web Services
 
DevOps for a Mobile World: Building an iOS or Android Mobile App in the Cloud...
DevOps for a Mobile World: Building an iOS or Android Mobile App in the Cloud...DevOps for a Mobile World: Building an iOS or Android Mobile App in the Cloud...
DevOps for a Mobile World: Building an iOS or Android Mobile App in the Cloud...Amazon Web Services
 
Nader Dabit - Introduction to Mobile Development with AWS.pdf
Nader Dabit - Introduction to Mobile Development with AWS.pdfNader Dabit - Introduction to Mobile Development with AWS.pdf
Nader Dabit - Introduction to Mobile Development with AWS.pdfAmazon Web Services
 
IOT311_Customer Stories of Things, Cloud, and Analytics on AWS
IOT311_Customer Stories of Things, Cloud, and Analytics on AWSIOT311_Customer Stories of Things, Cloud, and Analytics on AWS
IOT311_Customer Stories of Things, Cloud, and Analytics on AWSAmazon Web Services
 
AWS X-Ray: Debugging Applications at Scale - AWS Online Tech Talks
AWS X-Ray: Debugging Applications at Scale - AWS Online Tech TalksAWS X-Ray: Debugging Applications at Scale - AWS Online Tech Talks
AWS X-Ray: Debugging Applications at Scale - AWS Online Tech TalksAmazon Web Services
 
Containers on AWS - State of the Union - CON201 - re:Invent 2017
Containers on AWS - State of the Union - CON201 - re:Invent 2017Containers on AWS - State of the Union - CON201 - re:Invent 2017
Containers on AWS - State of the Union - CON201 - re:Invent 2017Amazon Web Services
 
Design, Build, and Modernize Your Web Applications with AWS
Design, Build, and Modernize Your Web Applications with AWSDesign, Build, and Modernize Your Web Applications with AWS
Design, Build, and Modernize Your Web Applications with AWSIrene Luong
 
Bringing the Superpower of Bots to Your Company with a Serverless Bot Solutio...
Bringing the Superpower of Bots to Your Company with a Serverless Bot Solutio...Bringing the Superpower of Bots to Your Company with a Serverless Bot Solutio...
Bringing the Superpower of Bots to Your Company with a Serverless Bot Solutio...Amazon Web Services
 
Increasing Productivity with End-User Computing Solutions on AWS
  Increasing Productivity with End-User Computing Solutions on AWS  Increasing Productivity with End-User Computing Solutions on AWS
Increasing Productivity with End-User Computing Solutions on AWSAmazon Web Services
 
What's New in Serverless - SRV305 - re:Invent 2017
What's New in Serverless - SRV305 - re:Invent 2017What's New in Serverless - SRV305 - re:Invent 2017
What's New in Serverless - SRV305 - re:Invent 2017Amazon Web Services
 
AWSome Day - Opening Keynote
AWSome Day - Opening KeynoteAWSome Day - Opening Keynote
AWSome Day - Opening KeynoteAdrian Hornsby
 
Keynote - AWSome Day Copenhagen
Keynote - AWSome Day Copenhagen Keynote - AWSome Day Copenhagen
Keynote - AWSome Day Copenhagen Amazon Web Services
 
10 Lessons from 10 Years of AWS
10 Lessons from 10 Years of AWS10 Lessons from 10 Years of AWS
10 Lessons from 10 Years of AWSAdrian Hornsby
 
Launch Applications the Amazon Way - AWS Online Tech Talks
Launch Applications the Amazon Way - AWS Online Tech TalksLaunch Applications the Amazon Way - AWS Online Tech Talks
Launch Applications the Amazon Way - AWS Online Tech TalksAmazon Web Services
 
Technological Accelerants for Organizational Transformation - DVC303 - re:Inv...
Technological Accelerants for Organizational Transformation - DVC303 - re:Inv...Technological Accelerants for Organizational Transformation - DVC303 - re:Inv...
Technological Accelerants for Organizational Transformation - DVC303 - re:Inv...Amazon Web Services
 
DVC303-Technological Accelerants for Organizational Transformation
DVC303-Technological Accelerants for Organizational TransformationDVC303-Technological Accelerants for Organizational Transformation
DVC303-Technological Accelerants for Organizational TransformationAmazon Web Services
 
AWS Cloud9 – Cloud IDE for Writing, Running and Debugging Code
AWS Cloud9 – Cloud IDE for Writing, Running and Debugging CodeAWS Cloud9 – Cloud IDE for Writing, Running and Debugging Code
AWS Cloud9 – Cloud IDE for Writing, Running and Debugging CodeAmazon Web Services
 
Enterprise Innovation? Yes, with AWS Cloud, AI, and IoT - WIN201 - re:Invent ...
Enterprise Innovation? Yes, with AWS Cloud, AI, and IoT - WIN201 - re:Invent ...Enterprise Innovation? Yes, with AWS Cloud, AI, and IoT - WIN201 - re:Invent ...
Enterprise Innovation? Yes, with AWS Cloud, AI, and IoT - WIN201 - re:Invent ...Amazon Web Services
 
Keys to Successfully Monitoring and Optimizing Innovative and Sophisticated C...
Keys to Successfully Monitoring and Optimizing Innovative and Sophisticated C...Keys to Successfully Monitoring and Optimizing Innovative and Sophisticated C...
Keys to Successfully Monitoring and Optimizing Innovative and Sophisticated C...Amazon Web Services
 

Similar to AWS AppSync Powers Mobile Apps with Real-time and Offline Data (20)

Introduction to Mobile Development with AWS
Introduction to Mobile Development with AWSIntroduction to Mobile Development with AWS
Introduction to Mobile Development with AWS
 
Introduction to Mobile Development with AWS
Introduction to Mobile Development with AWSIntroduction to Mobile Development with AWS
Introduction to Mobile Development with AWS
 
DevOps for a Mobile World: Building an iOS or Android Mobile App in the Cloud...
DevOps for a Mobile World: Building an iOS or Android Mobile App in the Cloud...DevOps for a Mobile World: Building an iOS or Android Mobile App in the Cloud...
DevOps for a Mobile World: Building an iOS or Android Mobile App in the Cloud...
 
Nader Dabit - Introduction to Mobile Development with AWS.pdf
Nader Dabit - Introduction to Mobile Development with AWS.pdfNader Dabit - Introduction to Mobile Development with AWS.pdf
Nader Dabit - Introduction to Mobile Development with AWS.pdf
 
IOT311_Customer Stories of Things, Cloud, and Analytics on AWS
IOT311_Customer Stories of Things, Cloud, and Analytics on AWSIOT311_Customer Stories of Things, Cloud, and Analytics on AWS
IOT311_Customer Stories of Things, Cloud, and Analytics on AWS
 
AWS X-Ray: Debugging Applications at Scale - AWS Online Tech Talks
AWS X-Ray: Debugging Applications at Scale - AWS Online Tech TalksAWS X-Ray: Debugging Applications at Scale - AWS Online Tech Talks
AWS X-Ray: Debugging Applications at Scale - AWS Online Tech Talks
 
Containers on AWS - State of the Union - CON201 - re:Invent 2017
Containers on AWS - State of the Union - CON201 - re:Invent 2017Containers on AWS - State of the Union - CON201 - re:Invent 2017
Containers on AWS - State of the Union - CON201 - re:Invent 2017
 
Design, Build, and Modernize Your Web Applications with AWS
Design, Build, and Modernize Your Web Applications with AWSDesign, Build, and Modernize Your Web Applications with AWS
Design, Build, and Modernize Your Web Applications with AWS
 
Bringing the Superpower of Bots to Your Company with a Serverless Bot Solutio...
Bringing the Superpower of Bots to Your Company with a Serverless Bot Solutio...Bringing the Superpower of Bots to Your Company with a Serverless Bot Solutio...
Bringing the Superpower of Bots to Your Company with a Serverless Bot Solutio...
 
Increasing Productivity with End-User Computing Solutions on AWS
  Increasing Productivity with End-User Computing Solutions on AWS  Increasing Productivity with End-User Computing Solutions on AWS
Increasing Productivity with End-User Computing Solutions on AWS
 
What's New in Serverless - SRV305 - re:Invent 2017
What's New in Serverless - SRV305 - re:Invent 2017What's New in Serverless - SRV305 - re:Invent 2017
What's New in Serverless - SRV305 - re:Invent 2017
 
AWSome Day - Opening Keynote
AWSome Day - Opening KeynoteAWSome Day - Opening Keynote
AWSome Day - Opening Keynote
 
Keynote - AWSome Day Copenhagen
Keynote - AWSome Day Copenhagen Keynote - AWSome Day Copenhagen
Keynote - AWSome Day Copenhagen
 
10 Lessons from 10 Years of AWS
10 Lessons from 10 Years of AWS10 Lessons from 10 Years of AWS
10 Lessons from 10 Years of AWS
 
Launch Applications the Amazon Way - AWS Online Tech Talks
Launch Applications the Amazon Way - AWS Online Tech TalksLaunch Applications the Amazon Way - AWS Online Tech Talks
Launch Applications the Amazon Way - AWS Online Tech Talks
 
Technological Accelerants for Organizational Transformation - DVC303 - re:Inv...
Technological Accelerants for Organizational Transformation - DVC303 - re:Inv...Technological Accelerants for Organizational Transformation - DVC303 - re:Inv...
Technological Accelerants for Organizational Transformation - DVC303 - re:Inv...
 
DVC303-Technological Accelerants for Organizational Transformation
DVC303-Technological Accelerants for Organizational TransformationDVC303-Technological Accelerants for Organizational Transformation
DVC303-Technological Accelerants for Organizational Transformation
 
AWS Cloud9 – Cloud IDE for Writing, Running and Debugging Code
AWS Cloud9 – Cloud IDE for Writing, Running and Debugging CodeAWS Cloud9 – Cloud IDE for Writing, Running and Debugging Code
AWS Cloud9 – Cloud IDE for Writing, Running and Debugging Code
 
Enterprise Innovation? Yes, with AWS Cloud, AI, and IoT - WIN201 - re:Invent ...
Enterprise Innovation? Yes, with AWS Cloud, AI, and IoT - WIN201 - re:Invent ...Enterprise Innovation? Yes, with AWS Cloud, AI, and IoT - WIN201 - re:Invent ...
Enterprise Innovation? Yes, with AWS Cloud, AI, and IoT - WIN201 - re:Invent ...
 
Keys to Successfully Monitoring and Optimizing Innovative and Sophisticated C...
Keys to Successfully Monitoring and Optimizing Innovative and Sophisticated C...Keys to Successfully Monitoring and Optimizing Innovative and Sophisticated C...
Keys to Successfully Monitoring and Optimizing Innovative and Sophisticated C...
 

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 FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon 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
 
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 WorkloadsAmazon 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 sfatareAmazon 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 NodeJSAmazon 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 webAmazon 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 sfatareAmazon 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 ServiceAmazon 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
 

AWS AppSync Powers Mobile Apps with Real-time and Offline Data

  • 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Mobile State of the Union AMIT PATEL G e n e r a l M a n a g e r , A W S M o b i l e AWS re:INVENT N o v e m b e r 2 8 , 2 0 1 7
  • 2. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. MOBILE INDUSTRY TRENDS Time spent in apps and growing 1.6T hours Source: AppAnnie New enterprise apps built with web technologies 50%+ Source: AWS JavaScript – most commonly used programming language 66.7%▲ Source: Stack Overflow
  • 3. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Building High Quality, Cloud-Enabled Apps
  • 4. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. THREE SIMPLE STEPS 1. Pick a Platform Mobile Hub 2. Set Up Cloud Services Native SDKs 3. Connect Your App Mobile CLI AWS Amplify
  • 5. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. MOBILE CLI: SETTING UP CLOUD SERVICES > awsmobile init > awsmobile user-signin enable Initialize your app Enable User Sign-in Supported services: • user-signin (Amazon Cognito) • analytics (Amazon Pinpoint) • database (Amazon DynamoDB) • user-files (Amazon S3) • cloud-api (API GW & AWS Lambda) Web app deployment support: • hosting (Amazon S3 and Amazon CloudFront)
  • 6. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. THE AWS AMPLIFY LIBRARY JavaScript Library - Declarative interfaces - Convention over configuration Categories for application programming with Cloud services - Auth, Analytics, Storage, API - Caching, i18n, logging, message bus React/React Native extensions - Higher-order components - Native bridging for mathematical operations (Amazon Cognito User Pools) - Open sourced – Apache 2.0 - Implemented with AWS services, open for external contribution
  • 7. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. USING AMPLIFY TO CONNECT YOUR APP Higher-order components enable a functional sign-in UI with just two lines of code
  • 8. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. TESTING AND DEPLOYING YOUR WEB APP Test your web app on real devices for performance insights Host your web app on S3 (served through CloudFront) > awsmobile publish --test
  • 9. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. THE MOBILE HUB CONSOLE Use the Mobile Hub console to add more platforms and features > awsmobile console
  • 10. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. APP DATA: HARD PROBLEMS REMAIN Data requirements vary across devices and become harder when multiple users share data Users want instant access to data Building scalable data-driven apps without learning distributed systems concepts is hard Users want to continue using their apps even with low or no connectivity
  • 11. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS AppSync
  • 12. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. CREATE POWERFUL DATA-DRIVEN APPS Real-time, Collaborative Apps
  • 13. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. CREATE POWERFUL DATA-DRIVEN APPS Real-time, Collaborative Apps Offline Programming Model with Sync
  • 14. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. CREATE POWERFUL DATA-DRIVEN APPS Real-time, Collaborative Apps Offline Programming Model with Sync Get Only the Data You Need with GraphQL
  • 15. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. CREATE POWERFUL DATA-DRIVEN APPS Real-time, Collaborative Apps Offline Programming Model with Sync Get Only the Data You Need with GraphQL Access Data from Multiple Sources
  • 16. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. CREATE POWERFUL DATA-DRIVEN APPS Real-time, Collaborative Apps Offline Programming Model with Sync Get Only the Data You Need with GraphQL Access Data from Multiple Sources Fine-grained Access Control
  • 17. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. APPS YOU CAN BUILD WITH APPSYNC Collaboration Apps - Dashboards - Leaderboards - Whiteboards - … Social Media, Chat, and Dating Apps Apps with Complex Data Structures and Types Geo Apps
  • 18. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. START BUILDING FAST
  • 19. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EASY ACCESS TO RICH DATA { "id": "1", "name": "Get Milk", "priority": "1" }, "id": "2", "name": "Go to gym", "priority": "5" },… type Query { getTodos: [Todo] } type Todo { id: ID! name: String description: String priority: Int duedate: String } query { getTodos { id name priority } } Model data with application schema Client requests what it needs Only that data is returned
  • 20. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Getting Started with AWS AppSync MICHAEL PARIS Software Development Engineer, AWS Mobile
  • 21. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EVENT APPLICATION
  • 22. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS AppSync helps you build applications faster
  • 23. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. DEPLOY AN API
  • 24. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. INTEGRATE WITH YOUR APPLICATION
  • 25. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. RECAP • Deployed two Amazon DynamoDB tables to hold Event and Comment records • Created two AWS IAM service roles giving AWS AppSync access to data operations on those tables • Deployed a scalable GraphQL API • Ran a single GraphQL query that interacted with data from multiple Amazon DynamoDB tables • Integrated AWS AppSync with our front-end application and enabled offline and real-time support
  • 26. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS AppSync helps you build global scale and powerful applications
  • 27. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. GOING DEEPER
  • 28. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. MAPTAP WITH AWS APPSYNC Elasticsearch DynamoDB Browser Mobile device AWS Lambda Third-party service Resolvers AWS AppSync /graphql Subscriptions Data Sources
  • 29. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Musixmatch FRANCESCO DELFINO CTO & Co-Founder, Musixmatch
  • 30. Founded in 2010. Head quarters in Bologna, Italy Lyrics API available to third-party music services and websites Mobile apps for Android and iOS Desktop widget (Floating Lyrics) running on Windows, Mac, and Linux A new way to enjoy music
  • 31. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. World’s largest lyrics catalog Worldwide coverage with more than 60 different languages 67,11% 6,15% 5,7% 2,65% 2,62% 2,39% 2,36% 1,84% 0,81% 0,72% 0,68% 0,67% 0,61% 0,52% 0,51% …
  • 32. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Available for over 90% of the lyrics requested SYNCED LYRICS
  • 33. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Available for over 90% of the lyrics requested SYNCED LYRICS TRANSLATIONS Available for over 70% of the lyrics requested
  • 34. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Available for over 90% of the lyrics requested SYNCED LYRICS TRANSLATIONS Available for over 70% of the lyrics requested WORD BY WORD SYNC Available for in beta. GA Q1 2018
  • 35. Musixmatch plugs in 3rd party music players (Spotify, iTunes, Youtube etc). Understanding the music consumption Over a billion data points processed daily, profile user musical preferences Semantic analysis and structural analysis for tailored recommendation (Q1 2018)
  • 36. 30 million active users per month 0 17,500,000 35,000,000 52,500,000 70,000,000 2010 2012 2014 2016 Monthly Active Visitors Download ASIA AMERICAS EUROPE AFRICA OCEANIA
  • 37. Over 400k requests per minute, low at 200k Total spending lowered over time 10x increase in the same period (sessions) 70% 71% 62% 58% 2014 2015 2016 2017 The split between EC2/PaaS services changed over time
  • 38. Over 400k requests per minute, low at 200k Total spending lowered over time 10x increase in the same period (sessions) 70% 71% 62% 58% 2014 2015 2016 2017 The split between EC2 / PaaS services changed over time Lessons learned: don’t be scared by continuously re-engineering your product to exploit new possibilities
  • 39. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Simplifying our app development and backend
  • 40. PROS Vibrant ecosystem Development tools, e.g. Expo Leverage web skills Easily pluggable in existing apps Multidevice development: React Native CONS Too many options Versioning problems Development tools sometimes difficult to tweak
  • 41. PROS Vibrant ecosystem Development tools, e.g. Expo Leverage web skills Easily pluggable in existing apps Multidevice development: React Native CONS Too many options Versioning problems Development tools sometimes difficult to tweak Our stack: Typescript, ReactXP, NGROK (for creating our own Expo-like experience)
  • 42. Most users move from mobile to desktop for editing the lyrics We already support interprocess communication (Floating lyrics, deeplinks) Enabling multidevice experience 1/2
  • 43. Most users move from mobile to desktop for editing the lyrics We already support interprocess communication (Floating lyrics, deeplinks) Enabling multidevice experience 1/2 What we needed: Extending to multiple device requires a real-time messaging hub
  • 44. Most users move from mobile to desktop for editing the lyrics We already support interprocess communication (Floating lyrics, deeplinks) Enabling multidevice experience 1/2 What we needed: Extending to multiple device requires a real-time messaging hub What we tried: Open Source tools: SignalR or Socket.IO
  • 45. Most users move from mobile to desktop for editing the lyrics We already support interprocess communication (Floating lyrics, deeplinks) Enabling multidevice experience 1/2 What we needed: Extending to multiple device requires a real-time messaging hub What we tried: Open Source tools: SignalR or Socket.IO Challenges: Dealing with mobile connection reliability is hard
  • 46. Enabling multidevice experience 2/2 User starts on mobile
  • 47. Enabling multidevice experience 2/2 Installs/launch app on desktop (Project Rome) User starts on mobile
  • 48. Enabling multidevice experience 2/2 Installs/launch app on desktop (Project Rome) User starts on mobile Player state saved (AppSync)
  • 49. Enabling multidevice experience 2/2 Installs/launch app on desktop (Project Rome) User starts on mobile Player state saved (AppSync) State Sync’d to desktop (AppSync)
  • 50. Enabling multidevice experience 2/2 Installs/launch app on desktop (Project Rome) User starts on mobile Player state saved (AppSync) State Sync’d to desktop (AppSync) Bidirectional in the future (AppSync)
  • 51. Enabling multidevice experience 2/2 Installs/launch app on desktop (Project Rome) User starts on mobile Player state saved (AppSync) State Sync’d to desktop (AppSync) Bidirectional in the future (AppSync) Type UserNowPlaying { user_id: ID! UserPlayerState guid: String! protocolUri: String! } The custom protocol URI contains q_track q_artist duration position start_time
  • 52. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. CODE INTEGRATION
  • 53. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. APP DEMO
  • 54. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Wrapping Up AMIT PATEL General Manager, AWS Mobile
  • 55. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. START BUILDING TODAY! AWS Mobile Hub and CLI available now • Learn more and get started: https://aws.amazon.com/mobile/ AWS Amplify is also available now • Find it on GitHub: https://github.com/aws/aws-amplify AWS AppSync Preview available for registration later today • Learn more and register: https://aws.amazon.com/appsync/
  • 56. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Thank you! 1 . M B L 3 1 0 ( T u e s @ 1 2 : 1 5 p . m . ) — B u i l d i n g H y b r i d a n d W e b a p p s u s i n g J a v a S c r i p t w i t h A W S M o b i l e 2 . M B L 4 0 4 ( T u e s @ 1 : 4 5 p . m . ) — R e a l - t i m e a n d O f f l i n e a p p l i c a t i o n d e v e l o p m e n t u s i n g G r a p h Q L w i t h A W S A p p S y n c 3 . M B L 4 0 2 ( T u e s @ 5 : 3 0 p . m . ) — D a t a D r i v e n A p p s w i t h G r a p h Q L : A W S A p p S y n c D e e p D i v e