Develop and test your Mobile App faster on AWS Carlos Sanchiz, Solutions Architect @xcarlosx26 #AWSSummit 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
The best mobile apps are built on AWS
*Source: Vision Mobile Mobile growing in all directions 1600 1400 1200 1000 800 Published mobile apps continue to grow Published Apps in App Stores ('000s)* As mobile platforms expand to new domains Watch TV 600 400 200 0 2011 2012 2013 2014 Car ios App Store Google Play
Apps are also getting more complex From basic client apps To cloud-connected apps Push notifications Sign-in/Social Ads Custom back ends Usage analytics Cloud storage Crash analytics Attribution analytics Config management
Build and scale your apps on AWS Authenticate users Amazon Cognito (Identity) Server-side logic AWS Lambda Store and share media Amazon S3 Deliver media Amazon CloudFront Synchronize data Amazon Cognito (Sync) Analyze user behavior Amazon Mobile Analytics Track retention Amazon Mobile Analytics AWS Mobile SDKs AWS Mobile Hub Send push notifications Amazon SNS Mobile Push Store data Amazon DynamoDB Amazon RDS Test your app AWS Device Farm
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
User sign-up and sign-in 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
Push notifications 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
App content delivery 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
Scalable NoSQL database 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
User data storage 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
App analytics 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 Powered by Amazon Mobile Analytics
Cloud logic 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
Download your starter app & start coding
Amazon Mobile Analytics Simply and cost-effectively collect and analyze your application usage data Fast Scalable and generous free tier Own your data Focus on metrics that matter. Usage reports available within 60 minutes of receiving data from an app. Scale to billions of events per day from millions of users. Data collected are not shared, aggregated, or reused.
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 +
Introducing Device Farm: Remote access (beta) Select a device Interact with the device View historical sessions
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
OutSystems 2001
OutSystems Today
Talking about Low-Code Leaders in Low-Code Development Platforms Source: Forrester Wave Report
From Coding
From Coding to Visual Modeling
OutSystems offer
OutSystems 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
Architecture
API Gateway 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
Lambda Support for multiple languages: Java, Node.JS and Python No underlying server to manage Scalable Number of concurrent functions Resources allocated to each function
Elastic Beanstalk 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
Device Farm 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
Our experience with AWS 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 DeviceFarm TestInDevice Taskforce Test a real world app MyFriday How easy it is to use DeviceFarm? Proof of Concept Can we use it for QA of the apps we generate? Test our generated apps Test as a Service to our Customers
Demo https://www.youtube.com/watch?v=fphq6ik60pc&t=2200
Demo https://www.youtube.com/watch?v=fphq6ik60pc&t=2200
Come fly with us! César Afonso (Mobile team) cesar.afonso@outsystems.com Manuel Pata (Cloud team) manuel.pata@outsystems.com OutSystems www.outsystems.com