Desarrolla y prueba tu aplicación móvil más rápido en AWS

45
© 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

Transcript of Desarrolla y prueba tu aplicación móvil más rápido en AWS

© 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)

[email protected]

● Manuel Pata (Cloud team)

[email protected]

● OutSystems

○ www.outsystems.com

Come fly with us!