Este documento resume os principais serviços da AWS para desenvolvimento móvel em 3 frases:
A AWS oferece diversos serviços para identidade, armazenamento de dados, backend serverless, engajamento de usuários e testes em dispositivos reais. O Mobile Hub e os SDKs facilitam a integração com serviços como Cognito, DynamoDB, Lambda e Pinpoint. O documento apresenta casos de uso desses serviços e como eles podem suportar diferentes tipos de aplicativos móveis.
3. AWS Services for Mobile App Development
Cognito
Identity
Device FarmAWS Lambda
API Gateway SES
Mobile Hub
Android SDK
iOS SDK
JavaScript SDK
DynamoDB
Amazon RDS
S3
CloudFront
Amazon EMR
Amazon
Kinesis
Amazon
Redshift
Pinpoint
Analytics
Desenvolvimento
de Apps
Serverless
Backend
Gestor de
Identidade
Ferramentas
de Testes
e Dev
Data Storage
e Conteúdo
Mobile
Analytics
Email +
Push
Analytics e
Big Data
CodeCommit
CodeDeploy
CodePipeline
Cognito
Sync
Pinpoint
Messaging
4. Tópicos
Tudo que você precisa para desenvolver aplicativos móveis
• Porque AWS para desenvolvimento móvel
• Comece rápido [Mobile Hub]
• Mobile Backend [EC2, ECS, Serverless - Lambda e API Gateway]
• Autorização e controle de acesso [Cognito]
• Engajamento com usuário e Analytics [AMA, SNS, SES, Pinpoint]
• Teste em dispositivos reais [Device Farm]
6. As empresas estão usando a AWS hoje para…
Aplicações Web Aplicativos Móveis Internet das Coisas
Aplicações de Negócio Jogos Healthcare Analytics
Media e Entretenimento
…Disaster Recovery, Backup, Desktop Virtuais e mais…
7. Escalabilidade e alta
disponibilidade
Agilidade
Segurança e
compliance
Integração com apps
e fontes de dados
existentes
Facilidade para
desenvolver, deploy
e gerenciar
Gestão de
identidades
Engajamento com
usuário, Analytics
e Insights
Aplicativos únicos
em termos de
experiência
Maiores prioridades para as empresas
B2C, B2E e B2B apps
9. O Mobile Hub e os SDKs da AWS simplificam a
integração com os produtos que você deseja
Autenticar o usuário
Analizar o comportamento
do usuário
Armazenar e compartilhar media
Sincrinizar dados
Entregar media
Amazon Cognito Sync
Amazon Cognito
Identity
Amazon Cognito User Pools
Amazon S3
Amazon CloudFront
Armazenar dados
Amazon DynamoDB
Amazon RDS
Send targeted messages
Executar lógica server-side
AWS Lambda
Amazon API Gateway
Amazon Lex
Conversar utilizando chatbotsAmazon Pinpoint
Analytics
AWS Mobile SDKs
AWS Mobile Hub
Amazon Pinpoint
Messaging
Amazon SNS
Testar em dispositivos reais
AWS Device Farm
10. Suporte para vários tipos de aplicativos
UnityXamarin React Native (Beta)
iOS Android WindowsJavaScript
14. AWS Mobile Hub
Os projetos do mobile hub incluem:
Suporte ao Xcode ou Android Studio
Utiliza seus recursos AWS
Código de exemplo
Snippets
SDKs
Instruções detalhadas de integração
16. Soluções arquiteturais
Cliente-servidor
Aplicação web 3 camadas
Arquitetura orientada à serviços
(SOA)
Arquitetura orientada a
mensageria
Cliente Servidor
Cliente Web Aplicação BD
Cliente
Service
Service
Service
Serviço
Publisher Subscriber
Dando um passo a frente…
17. Microserviços
Unidades de código auto contidas
de fácil desenvolvimento e
manutenção. Seguem o paradigma
JSON/REST/HTTPS.
Serverless
Desenvolva, execute e escale
aplicativos e microserviços sem
provisionar e gerenciar
servidores.
Para o Backend, estamos dando um passo a
frente
Cliente
Microserviços
18. Autenticação e
autorização
de usuários
APIs REST
eMicroserviços
Segurança e
Compliance
Fácil de desenvolver
e manter
Escalável e
Monitorável
Sem servidores
para gerenciar
Híbrido
Componentes e
pacotes
Pague pelo
que usa
Base dos Microserviços Serverless
19. AWS Lambda Amazon API Gateway Amazon Cognito
Crie seus Microserviços Serverless na AWS usando
21. Caso de uso – App para força de vendas
Gerencie o pipeline de vendas utilizando diversas fontes
de dados
Amazon API
Gateway
Aplicação Móvel
oferecendo visão
360°
Conectores SaaS
<AWS Lambda>
22. AWS Lambda
Execute seu código sem
gerenciar infraestrutura
Baixo custo Escalável
e Monitorável
Fácil de desenvolver
e manter
23. Modelo de Programação do AWS Lambda
Chamadas Síncronas
Mensagens Publish-and-subscribe
Chamadas por Triggers
Baseado em filas
26. Identidade é missão crítica para seu aplicativo
Segurança Geração de receitaPersonalização
Conheça seus usuários
Monitore o
engajamento
Armazene e gerencie
os dados do usuário
Personalize a
experiência do usuário
Proteja dados
sensíveis
Proteja processos
críticos do negócio
Identidade do usuário
27. Amazon Cognito Identity
Facebook
Corporate
ID
Etc.
Sign in with
Seu pool de usuários
Você pode adicionar facilmente o registro e
login de usuários no seu aplicativo móvel e
web com um serviço que escala até
centenas de milhões de usuários.
Identidades Federadas
Seus usuários podem se autenticar com
serviços de tercerios, como o Facebook e
provedores SAML, e você pode controlar o
acesso aos recursos AWS do seu
aplicativo.
SAML
Sign in
Username
Password
Submit
Or
Start as a
guest
28. Associação de dispositivos
Associe os dispositivos com
seus usuários
1
Como eu reduzo a interação do
usuário, não solicitando o
segundo fator de autenticação
toda vez?
Como eu atrelo um dispositivo
à um usuário por necessidade
do meu negócio?2
29. Federação com provedores de identidade terceiros
Username
Password
Sign In
SAML
Identity Provider
Example: Active
Directory with ADFS
Amazon Cognito
2. Get AWS credentials
API Gateway
Your APIs
DynamoDB S3
Lambda
31. Escalável e com free
tier generoso
Foque em métricas que
importam. Relatórios de
uso com menos de 60
minutos de delay.
Rápido
Escale para bilhões de
eventos por dia e
milhões de usuários.
Seja dono de
seus dados
Analize os dados de uso do seu aplicativo de maneira simples e econômica
Os dados coletados
não são
compartilhados,
agregados ou
reusados.
Meça com Amazon Mobile Analytics
33. Amazon SNS
Mensageria rápida, flexível e global para qualquer dispositivo ou endpoint
Global e rápido
com escala
massiva
Use através de Java,
Python, PHP, Node.js,
Objective-C ou .NET
Envie
mensagens
para qualquer
dispositivo ou
endpoint
Suporte à multiplas
plataformas e
frameworks
Envie bilhões de
mensagens por dia com
mínima latência pelo
mundo
Envie notificações via
push notification, email,
HTTP ou SMS; or
mensagens para o
Amazon SQS ou AWS
Lambda
34. Amazon SNS
Cross-Platform
Mobile Push
Internet
Apple APNS
Google GCM
Amazon ADM
Windows WNS and
MPNS
Baidu CP
Com Amazon SNS, devenvolvedores podem enviar push notifications para
multiplas plataformas e atingir clientes ao redor do mundo
Amazon SNS Mobile Push
Android Phones and Tablets
Apple iPhones and iPads
Kindle Fire Devices
Android Phones and Tablets in China
iOS
Windows Desktop and Windows Phone
Devices
36. Amazon Pinpoint – Engajamento efetivo
Aumente o engajamento utilizando tanto dados do uso do aplicativo
quanto de fora dele
Segmente e
direcione
Comunique e
engaje
Meça as
melhorias
Analise o
comportamento
do usuário
37. Capacidades do Amazon Pinpoint
Notificações complexas, in-app e
notificações silenciosas
Eventos e atributos customizados
Exportação automática para o S3 e o
Kinesis Firehose
Análise segmentada e de funil
Push notification direcionado
Campanhas agendadas e recorrentes
Análise da campanha e do aplicativo
Teste A/B
Período de silêncio e limites
38. Publicitário
• Ótima experiência pelo console
• Crie notificações completas
• Segmentação dinâmica do usuário
• Analytics através do console
Multiplos casos de uso e perfis suportados
Desenvolvedor
• Experiência detalhada da API
• Automação direcionada
• Instrumente os aplicativos com
atributos personalizados
• Notificações silenciosas
Experiência completa através do console para o publicitário e
suporte via SDK e API para o desenvolvedor
39. Engajamento com o Amazon Pinpoint
Dispositivo do
usuário
(via AWS Mobile SDK)
Amazon SNS
Amazon Mobile
Analytics
Push Notifications
Eventos do
aplicativoExportação de dados e
análise
Mensagens de engajamento
Amazon Dartboard
Sistema
(via AWS SDK)
Publicitário
(via Console)
41. Teste seus aplicativos em dispositivos reais com o AWS
Device Farm
Testes automatizados
Teste seus aplicativos
paralelamente em diversos
dispositivos físicos disponíveis na
AWS
Acesso remoto
Interaja com dispositivos
reais diretamente do seu
browser
Suporte à diversos
frameworks de
automação de teste
Automação
42. Teste automatizados com o AWS Device Farm
Escolha o aplicativos, dispositivos
e o framework de testes
Teste seu aplicativos em
telefones e tablets reais
Obtenha o resultado para
eliminar bugs e
melhorar a performance
do seu aplicativo
43. Acesso remoto com o AWS Device Farm
Selecione o dispositivo baseado
no fabricante, modelo e versão do
sistema operacional
O dispositivo é
apresentado no seu
browser
Faça gestos e interaja com o
dispositivo para reproduzir os
problemas encontrados por
usuários e realizar testes
de funcionalidades
45. “Os serviços da AWS permitiram ao
time focar mais no desenvolvimento
dos produtos”
O Titans Group é lider em serviços
de telefonia e provedores de
internet, com operação em 40
operadores em 17 países
Um dos principais produtos é um
aplicativo de sincronização de
arquivos para mobile
“A AWS também
trouxe visibilidade
inédita dos custos e
ROI de infraestutura”
- Antonio Graeff, CTO
46. O Desafio
Solução de storage com alta
durabilidade, disponibilidade e
confiança para armazenar as
informações dos usuários
Garantir a escalabilidade
Interessante do ponto de vista de
custo
Enterprises are building a range of applications
New greenfield apps and workloads, hybrid applications that integrate with existing apps and infrastructure
B2C, B2B, B2C apps
Games
Cloud has become the new normal as companies of every size are now deploying new applications to the cloud by default, and looking to migrate as many of their existing applications as they can as quickly as possible
In a 2015 study, IDC found that the five-year TCO of developing, deploying, and managing critical applications on AWS delivered a 64.3% savings and 560% ROI when compared with deploying the same resources on-premises or in hosted environments
A large number of startups, enterprises, and government organizations that are running mission critical applications on AWS – including large web sites, e-commerce applications, SAP deployments, scientific analysis, and financial services risk simulations. Overall, customers have told us that AWS has provided them with strong operational performance over many years – and in many cases higher uptime than they achieved in their own datacenters with the same applications.
development and test workloads: Lionsgate running SAP
New applications: MLB statscast, GE crowdsourcing apps
enterprises moving websites and digital properties, analytics, and mobile applications : Navy and Unilever
Business-critical applications. For example, [Conde Nast] has moved their legal, HR, and finance applications all to AWS
migrating entire datacenters to AWS: Conde Nast, News Corp
Finally all-in Netflix, Intuit
Customer choice… you choose the best architecture for your applications and workloads—and then run on AWS
Client-server applications
Multi-tier applications
SOA approach
Messaging-oriented applications
Microservices: Atomic self-contained unit of code that maps to a specific business function and are easy to develop, manage and share: Process events triggered from S3, database or Kinesis streams. Encrypt a document, transcode content, send an email, get status on shipping, create a new account in SalesForce
Serverless: Build microservices and not infrastructure. Develop, run and scale apps and microservices without provisioning and managing servers and worrying about infrastructure
REST APIs
No servers to manage
Easy to develop, deploy and manage
Pay for what you use
Composition and packaging of microservices into apps and workloads
Support for user authentication and authorization—example, Oauth servers or social identity providers
Security and compliance—metering of APIs, execution of serverless microservices under the right policies and context
Continuous scaling and monitoring
Hybrid—integration with resources and APIs that are on-premise
Lambda for serverless microservices
API Gateway to create, publish, manage, monitor and meter APIs
Cognito for user authentication and authorization, identity federation and integration with social identity providers
Amazon API Gateway lets you simultaneously run multiple versions of the same API, allowing you to quickly iterate, test, and release new versions.
Amazon API Gateway tightly integrates with AWS Lambda to allow you to create completely server-less APIs. With Amazon API Gateway, you create REST APIs that your mobile and web applications can use to call publicly available AWS services through your code running in AWS Lambda.
With Amazon CloudFront integration, API Gateway allows to you take advantage of the worldwide network of edge locations to provide your end users with the lowest possible latency for API requests and responses. Amazon API Gateway also helps you manage traffic through throttling, so that back-end operations can withstand traffic spikes. Additionally, Amazon API Gateway helps you improve the performance of your APIs by caching the output of API calls to avoid calling your backend systems unnecessarily.
After your API is deployed, Amazon API Gateway provides you with a dashboard to visually monitor calls to your services using Amazon CloudWatch, so you see performance metrics and information on API calls, data latency, and error rates.
API Gateway provides you with tools to authorize access to your APIs and control service operation access. You can use AWS administration and security tools, such as AWS IAM and Amazon Cognito, to authorize access to your APIs. Amazon API Gateway can verify signed API calls on your behalf using the same technology AWS uses for its own APIs. If you already use OAuth tokens or other authorization mechanisms, Amazon API Gateway can use AWS Lambda to execute a custom authorizer to help you verify incoming requests.
Customer choice… you choose the best architecture for your applications and workloads—and then run on AWS
Client-server applications
Multi-tier applications
SOA approach
Messaging-oriented applications
Microservices: Atomic self-contained unit of code that maps to a specific business function and are easy to develop, manage and share: Process events triggered from S3, database or Kinesis streams. Encrypt a document, transcode content, send an email, get status on shipping, create a new account in SalesForce
Serverless: Build microservices and not infrastructure. Develop, run and scale apps and microservices without provisioning and managing servers and worrying about infrastructure
Customer choice… you choose the best architecture for your applications and workloads—and then run on AWS
Client-server applications
Multi-tier applications
SOA approach
Messaging-oriented applications
Microservices: Atomic self-contained unit of code that maps to a specific business function and are easy to develop, manage and share: Process events triggered from S3, database or Kinesis streams. Encrypt a document, transcode content, send an email, get status on shipping, create a new account in SalesForce
Serverless: Build microservices and not infrastructure. Develop, run and scale apps and microservices without provisioning and managing servers and worrying about infrastructure
Customer choice… you choose the best architecture for your applications and workloads—and then run on AWS
Client-server applications
Multi-tier applications
SOA approach
Messaging-oriented applications
Microservices: Atomic self-contained unit of code that maps to a specific business function and are easy to develop, manage and share: Process events triggered from S3, database or Kinesis streams. Encrypt a document, transcode content, send an email, get status on shipping, create a new account in SalesForce
Serverless: Build microservices and not infrastructure. Develop, run and scale apps and microservices without provisioning and managing servers and worrying about infrastructure
With Amazon Mobile Analytics, you can measure app usage and app revenue. By tracking key trends such as new vs. returning users, app revenue, user retention, and custom in-app behavior events, you can make data-driven decisions to increase engagement and monetization for your app.
Mobile Analytics with Redshift can create a richer context to evaluate your users, gain deeper insights, and identify opportunities.
Your business and customers are unique, and you want combine the right information to get a comprehensive view.
Through the combination of the two:
You can correlate mobile events with augmented information from areas like Sales, Marketing and operations to understand what is working and what is not.
You can identify high value user segments and target them with SNS push notifications.
You can run a lot more granular queries to correlate different dimensions captured in your app (ex. user retention for iPad versus iPhones).
You can run ad-hoc queries on demand, analyze and visualize your data using the Redshift partner ecosystem.
You can define custom KPIs and track user behavior across those KPIs in a customized dashboard.
Redshift also integrates with many great solutions in the industry today, like Tableau, Microstrategy, Looker, Birst, and many others. If you have a solution you are already using for BI and analysis, there is a great chance it will just work with Redshift. If you aren’t using a tool today, then many of these options provide a great way for you to drill through and analyze data in a rich and intuitive way customized to your business and your context.
- SNS is a Publish Subscribe based messaging platform that handles billions of messages a day.
- You can send messages to many different types of endpoints, either one at a time or in a multicast/broadcast
– Access to SNS is available via our Server-side SDKs and our Mobile SDK
Prior to launching Worldwide SMS, SNS could send messages to only US phone numbers and required an explicit opt-in
Amazon SNS Mobile Push is a managed, scalable, cross-platform push intermediary service. It abstracts the complexity of different push notification services and allows developers to send push notifications across different mobile endpoints. You can subscribe to topics and and send messages which are then relayed to apple, google, Windows, or Baidu notifications services
Use our service plugins and API to automatically initiate tests and get results from IDEs and continuous integration environments like Android Studio and Jenkins.
Run our built-in test suite (no scripting required) or customize your tests by selecting from open-source test frameworks like Appium, Calabash, and Espresso
AWS Device Farm is simple to get started:
1. Choose a device from 100s of different makes and models.
2. Swipe, gesture, and interact with the device through your web browser as if the device was in your hand. Install apps and change settings on the fly.
3. Analyze historical session data like logs, performance data, screenshots, and video.
Key benefits
Android and iOS (Native, hybrid, web)
Scale: 100s of unique physical devices, many instances
Security: Full HW and SW isolation
Flexibility: Support for many popular frameworks
Reports: Results, screenshots, logs, performance
Integration: Jenkins, Android Studio, SDKs, CLI
Pay for what you use
AWS Device Farm is simple to get started:
1. Choose a device from 100s of different makes and models.
2. Swipe, gesture, and interact with the device through your web browser as if the device was in your hand. Install apps and change settings on the fly.
3. Analyze historical session data like logs, performance data, screenshots, and video.
Key benefits
Android and iOS (Native, hybrid, web)
Scale: 100s of unique physical devices, many instances
Security: Full HW and SW isolation
Flexibility: Support for many popular frameworks
Reports: Results, screenshots, logs, performance
Integration: Jenkins, Android Studio, SDKs, CLI
Pay for what you use
O Titans Group é lider em serviços de telefonia e provedores de internet, com operação em 40 operadores em 17 países… um principais produtos chamado “X” é um aplicativo de sincronização de arquivos para mobile e desktop
Titans Group precisava garantir que a solução de storage do produto atendesse os requisitos mais exigentes do ponto de vista de durabilidade, disponibilidade e confidencialidade das informações dos usuários.
Também era preciso garantir a escalabilidade tanto do ponto de vista técnico quanto do ponto de vista de custo.
Utilzado S3: 99,999999999% de durabilidade, 99,99% de disponibilidade e recursos de criptografia.
Foco no desenvolvimento das aplicações.
Lições: deduplicação, diff binário, upload e download direto para S3.
Outros serviços da AWS: EC2, EBS, ELB, RDS, VPC, auto-scaling, ElasticCache, SNS, SES.
Mais de 18 milhões de usuários em 17 países.