Upload
vuhanh
View
226
Download
2
Embed Size (px)
Citation preview
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Carlos Sanchiz, Solutions Architect
@xcarlosx26 #AWSSummit
Develop and test your Mobile App
faster on AWS
The best mobile apps are built on AWS
“Mobile” growing in all directions
Published mobile apps
continue to grow…
…As “mobile” platforms
expand to new domains
TV
Watch
Car
*Source: Vision Mobile
0
200
400
600
800
1000
1200
1400
1600
2011 2012 2013 2014
Published Apps in App Stores ('000s)*
iOS App Store Google Play
Apps are also getting more complex
…To cloud-connected apps From basic client apps…
Sign-in/Social
Push notifications
Usage analytics
Cloud storage
Crash analytics
Ads
Attribution
analytics Config management
Custom back ends
AWS Mobile SDKs
AWS Mobile Hub
Authenticate users
Analyze user behavior
Store and share media
Synchronize data
Deliver media
Amazon Cognito
(Sync)
Amazon Cognito
(Identity)Amazon S3
Amazon CloudFront
Store data
Amazon DynamoDB
Amazon RDS
Track retentionAmazon Mobile
Analytics
Send push notificationsAmazon SNS
Mobile Push
Server-side logic
AWS Lambda
AWS Device Farm
Test your app
Build and scale your apps on AWS
Amazon Mobile
Analytics
Introducing: The AWS Mobile Hub
1. Single integrated console
2. Pre-built features
3. Auto-provisioned services
4. Auto-generated app
Result: Build apps on AWS in minutes
Introducing: The AWS Mobile Hub
Create a project and add features
Configure how your users sign in:
• No sign-in, optional, or mandatory
Configure sign-in providers:
• Facebook, Google (Twitter, Amazon to follow)
• Your own system with sign-up
Adds a sign-in screen to your quickstart app
Powered by Amazon Cognito Identity
User sign-up and sign-in
Send push notifications to your apps
• iOS or Android
• 1:1 or topic/subscription based
Quickstart app demonstrates features
• Enable/disable notifications
• Auto-registers push tokens with SNS
• Lets you select topic subscriptions
Powered by Amazon SNS
Push notifications
Store application assets in the cloud
• Example: Resource files or media assets
Use a CDN for faster delivery (optional)
Quickstart app includes on-device cache logic
• Set max cache size
• Pin specific files to the cache
Powered by Amazon S3 and CloudFront
App content delivery
Store and query app data
• Key-value pairs
• JSON structures
Performance and scalability
• Single-digit millisecond latency
• Easy API scaling up/down
High availability
• Data is replicated across three facilities in a Region
Quickstart app includes examples
• Insert/update/delete data for tables
Powered DynamoDB
Scalable NoSQL database
Store user files such as photos
• User-only access or all-user access
Store user profile data
• Key-value pairs
• Syncs across devices where user signed in
Quickstart app includes usage examples
• Contains file browser and color selector
Powered by Amazon S3 and Amazon Cognito Sync
User data storage
Monitor app usage with analytics
• Session, monetization, and custom events
• Monitor active users, monetization, retention
Quickstart app includes all three event types
Access your dashboard from the Mobile Hub
App analytics
Powered by Amazon Mobile Analytics
Run back-end code in the cloud
• Share functions across apps
• Update on the fly without app submissions
Call directly from your mobile app
• You define inputs/outputs
Write in Java, JavaScript, or Python
You write code, we manage infrastructure
Powered by AWS Lambda
Cloud logic
Download your starter app & start coding…
Scalable and generous
free tier
Focus on metrics that
matter. Usage reports
available within 60
minutes of receiving
data from an app.
Fast
Scale to billions of
events per day from
millions of users.
Own your data
Simply and cost-effectively collect and analyze your application usage data
Data collected are not
shared, aggregated,
or reused.
Amazon Mobile Analytics
Daily/monthly active users
Sessions
Sticky factor
In-app revenue
Lifetime value (LTV)
Retention
…. and more
(9 predefined metrics with one line of code)
Testing apps with Amazon Device Farm
Automated Testing with AWS Device Farm
• Massive fleet of real iOS, Android, and Fire OS
devices in the cloud
• Execute automated tests in popular automation
frameworks – Appium, Calabash, Espresso, JUnit,
XCTest, KIF, Robotium, UI Automation
• Run built-in test suite, no scripting required
• Execute tests in parallel - results available in minutes
• Configurable test environments (language, location,
device states, etc.) for simulating real-world scenarios
• View test results - screenshots, device logs, and
performance data
• Execute tests as part of Continuous Integration or
other workflows
Your
App +
…
Select a device View historical sessionsInteract with the device
Introducing Device Farm: Remote access (beta)
Call to action
Build sample mobile application with Mobile Hub!
Test it using Device Farm!
“OutSystems provides the most trusted enterprise Rapid Application
Development (RAD) platform to accelerate digital transformation”
www.outsystems.com
2001
OutSystems
OutSystems Today
Leaders in Low-Code
Development Platforms
Talking about Low-Code…
Source: Forrester Wave Report
From Coding…
From Coding to Visual Modeling
OutSystems offer
Rapid Delivery of
Native Mobile Apps
A revolution to the mobile development space by
enabling native functionality and offline capabilities
directly from a low-code platform
OutSystems
Architecture
● Scalable front door for our application
● Flexible
○ Can proxy requests to other services
○ Can invoke AWS Lambda functions
● Easy to automate deployment from swagger spec
API Gateway
● Support for multiple languages: Java, Node.JS and Python
● No underlying server to manage
● Scalable
○ Number of concurrent functions
○ Resources allocated to each function
Lambda
● Service aggregator: Autoscaling, EC2, ELB, SQS
● Easily manage application lifecycle
○ Push new versions without downtime
○ Scale up/down based on given metric
○ Monitor application health
● Easy for developers to experiment in early phases
Elastic Beanstalk
● Support for multiple testing frameworks
● Test on devices you might never have access to
● Easy to integrate in our architecture
● Value proposition (generated apps are pre-tested)
● Automated testing in real devices
Device Farm
From zero experience to production...
● Good documentation
● SDK available for multiple programming languages
● Staging made easy with CloudFormation
● Good understanding of the underlying architecture
● Security out of the box with IAM
● Scalability is not an issue anymore
Our experience with AWS
MyFriday
How easy it is to
use DeviceFarm?
Proof of Concept
Can we use it for
QA of the apps we
generate?
Test a real world app
Test our generated apps
“Test as a Service” to our Customers
TestInDevice Taskforce
Our experience with AWS DeviceFarm
Demohttps://www.youtube.com/watch?v=FPHQ6iK60Pc&t=2200
Demohttps://www.youtube.com/watch?v=FPHQ6iK60Pc&t=2200
● César Afonso (Mobile team)
● Manuel Pata (Cloud team)
● OutSystems
○ www.outsystems.com
Come fly with us!