SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
Desenvolvendo aplicações
Móveis com a Nuvem da AWS
José Papo
AWS Tech Evangelist
@josepapo
5 bilhões de celulares no mundo
Mais de 1 milhão de apps nas App Stores
32 bilhões de apps serão baixadas em 2012
50 bilhões de dólares em apps e músicas
O problema
Uma em cada 4 apps móveis
baixadas só é usada uma vez
Como melhorar suas chances?
Recursos sociais como leaderboards,
achievements, troféus, etc
Integração com outros serviços e
geolocalização
Personalização de conteúdo e
preferências do usuário
Suportando as principais aplicações Móveis
O que realmente
precisamos é…
…capacidade ajustável
http://www.flickr.com/photos/purecaffeine/30268245
Escalabilidade simples e automática
App de Vídeos com Amazon EC2:
De 50 a 5,000 servidores em 3 dias!
NúmerodeInstânciasEC2
5,000
0
Segunda Terça Quarta Quinta Sexta Sábado Domingo
Compute Storage
AWS Global Infrastructure
Database
App Services
Deployment & Administration
Networking
Infraestrutura Global
8 Regiões no Mundo
Conteúdo Dinâmico da
Aplicação Móvel
Amazon EC2
Servidores on-demand
Exemplo
Servidor Micro
On-demand 100% - A partir de 15 dólares
Reservado 100% - A partir de 6,5 dólares
Bancos de Dados
Relacional e NoSQL
Opções de Bancos de Dados
Relacional NoSQL
Conteúdo Estático da
Aplicação Móvel
Amazon S3
Armazenamento Elástico
Q4 2007 Q4 2008 Q4 2009 Q4 2010 Q4 2011 Q2 2012
14 Bilhões 40 Bilhões
102 Bilhões
262 Bilhões
762 Bilhões
Crescimento do Amazon S3
Número de Objetos Armazenados no Amazon S3 1
Trilhão
1b  Tb
SLA
99,999999999%
Durabilidade
Amazon S3
Amazon CloudFront
Rede de Distribuição de Conteúdo Flexível
Locais Edge AWS (CloudFront & Route 53)
Exemplos de aplicações
móveis na Nuvem
SDKs para os principais smartphones
REST
SOAP
DynamoDBKeySchemaElement *kse = [[[DynamoDBKeySchemaElement alloc]
initWithAttributeName:@"userNo"
andAttributeType:@"N"] autorelease];
DynamoDBKeySchema *ks = [[[DynamoDBKeySchema alloc]
initWithHashKeyElement:kse] autorelease];
DynamoDBProvisionedThroughput *pt = [[[DynamoDBProvisionedThroughput alloc] init]
autorelease];
pt.readCapacityUnits = [NSNumber numberWithInt:10];
pt.writeCapacityUnits = [NSNumber numberWithInt:5];
DynamoDBCreateTableRequest *request = [[DynamoDBCreateTableRequest alloc]
initWithTableName:TEST_TABLE_NAME
andKeySchema:ks
andProvisionedThroughput:pt];
DynamoDBCreateTableResponse *response = [[AmazonClientManager ddb]
createTable:request];
[request release];
AmazonDynamoDBClient ddb = UserPreferenceDemoActivity.clientManager.ddb();
KeySchemaElement kse = new KeySchemaElement().withAttributeName(
"userNo").withAttributeType(ScalarAttributeType.N);
KeySchema ks = new KeySchema().withHashKeyElement(kse);
ProvisionedThroughput pt = new ProvisionedThroughput()
.withReadCapacityUnits(10l).withWriteCapacityUnits(5l);
CreateTableRequest request = new CreateTableRequest()
.withTableName(PropertyLoader.getInstance().getTestTableName())
.withKeySchema(ks).withProvisionedThroughput(pt);
ddb.createTable(request);
RegisterDeviceRequest registerDeviceRequest = new RegisterDeviceRequest(
this.endpoint, this.useSSL, uid, key);
ResponseHandler handler = new ResponseHandler();
response = this.processRequest(registerDeviceRequest, handler);
if (response.requestWasSuccessful()) {
AmazonSharedPreferencesWrapper.registerDeviceId(
this.sharedPreferences, uid, key);
}
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
[self presentModalViewController:imagePicker animated:YES];
AmazonS3Client *s3 = [[[AmazonS3Client alloc]
initWithAccessKey:MY_ACCESS_KEY_ID withSecretKey:MY_SECRET_KEY]
autorelease];
S3PutObjectRequest *por = [[[S3PutObjectRequest alloc]
initWithKey:MY_PICTURE_NAME inBucket:MY_PICTURE_BUCKET] autorelease];
por.contentType = @"image/jpeg";
por.data = imageData;
[s3 putObject:por];
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, PHOTO_SELECTED);
AmazonS3Client s3Client = new AmazonS3Client( new BasicAWSCredentials(
MY_ACCESS_KEY_ID, MY_SECRET_KEY ) );
PutObjectRequest por = new PutObjectRequest( Constants.getPictureBucket(),
Constants.PICTURE_NAME, new java.io.File( filePath) );
s3Client.putObject( por );
Nuvem é Democracia!
Nuvem é Liberdade!
APRENDA MAIS
SOBRE A NUVEM
awshub.com.br
Dev Portal AppStore
• Distribuição de apps para o Brasil:
– Apps podem ter título, descrição, screenshots e
release notes em português;
– Royalties serão pagos em Reais para vendas no
mercado Brasileiro;
– O processo de publicação é simples!
• Confira:
https://developer.amazon.com/
OBRIGADO!
aws.typepad.com/brasil
slideshare.net/AmazonWebServicesLATAM
José Papo
AWS Tech Evangelist
@josepapo
Desenvolvendo aplicacoes moveis com a Nuvem

Mais conteúdo relacionado

Destaque

Www.mondebatterie.com hp-hstnn-lb42.html
Www.mondebatterie.com hp-hstnn-lb42.htmlWww.mondebatterie.com hp-hstnn-lb42.html
Www.mondebatterie.com hp-hstnn-lb42.htmltodone
 
Website pics[1]
Website pics[1]Website pics[1]
Website pics[1]jcn6f
 
T&T Catalogo Natale 2012
T&T Catalogo Natale 2012T&T Catalogo Natale 2012
T&T Catalogo Natale 2012pixelparty_it
 
Conceptattainment
ConceptattainmentConceptattainment
Conceptattainmentbenspu
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1sumitta
 
Conflitos, bullying e violência na escola estratégias de prevenção e manejo
Conflitos, bullying e violência na escola estratégias de prevenção e manejoConflitos, bullying e violência na escola estratégias de prevenção e manejo
Conflitos, bullying e violência na escola estratégias de prevenção e manejoelaine azevedo
 
Live it - Quem somos.
Live it - Quem somos. Live it - Quem somos.
Live it - Quem somos. Dai De Gasperi
 
Plano de governo
Plano de governoPlano de governo
Plano de governoneicaseri
 
Mahaprasthanam
MahaprasthanamMahaprasthanam
Mahaprasthanamjaganchary
 
โรคธาลัสซีเมีย
โรคธาลัสซีเมียโรคธาลัสซีเมีย
โรคธาลัสซีเมียGingkanchana Kaenkul
 
2 ab textil_tarea6_gonzalezviera
2 ab textil_tarea6_gonzalezviera2 ab textil_tarea6_gonzalezviera
2 ab textil_tarea6_gonzalezvierajuanoguj
 
0714 MOSUT-arduino硬體平台與應用領域介紹
0714 MOSUT-arduino硬體平台與應用領域介紹0714 MOSUT-arduino硬體平台與應用領域介紹
0714 MOSUT-arduino硬體平台與應用領域介紹Marcus Pek
 

Destaque (20)

Www.mondebatterie.com hp-hstnn-lb42.html
Www.mondebatterie.com hp-hstnn-lb42.htmlWww.mondebatterie.com hp-hstnn-lb42.html
Www.mondebatterie.com hp-hstnn-lb42.html
 
Cuaderno 5 años
Cuaderno 5 añosCuaderno 5 años
Cuaderno 5 años
 
Website pics[1]
Website pics[1]Website pics[1]
Website pics[1]
 
T&T Catalogo Natale 2012
T&T Catalogo Natale 2012T&T Catalogo Natale 2012
T&T Catalogo Natale 2012
 
Tema 6 ok
Tema 6 okTema 6 ok
Tema 6 ok
 
Gif....
Gif....Gif....
Gif....
 
Catalogo
CatalogoCatalogo
Catalogo
 
Conceptattainment
ConceptattainmentConceptattainment
Conceptattainment
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
CORRECAMINATA
CORRECAMINATACORRECAMINATA
CORRECAMINATA
 
trabajo final
trabajo finaltrabajo final
trabajo final
 
Carnestoltes 2011 2012
Carnestoltes 2011 2012Carnestoltes 2011 2012
Carnestoltes 2011 2012
 
Conflitos, bullying e violência na escola estratégias de prevenção e manejo
Conflitos, bullying e violência na escola estratégias de prevenção e manejoConflitos, bullying e violência na escola estratégias de prevenção e manejo
Conflitos, bullying e violência na escola estratégias de prevenção e manejo
 
Live it - Quem somos.
Live it - Quem somos. Live it - Quem somos.
Live it - Quem somos.
 
Plano de governo
Plano de governoPlano de governo
Plano de governo
 
Mahaprasthanam
MahaprasthanamMahaprasthanam
Mahaprasthanam
 
โรคธาลัสซีเมีย
โรคธาลัสซีเมียโรคธาลัสซีเมีย
โรคธาลัสซีเมีย
 
2 ab textil_tarea6_gonzalezviera
2 ab textil_tarea6_gonzalezviera2 ab textil_tarea6_gonzalezviera
2 ab textil_tarea6_gonzalezviera
 
Summer fall 12
Summer fall 12Summer fall 12
Summer fall 12
 
0714 MOSUT-arduino硬體平台與應用領域介紹
0714 MOSUT-arduino硬體平台與應用領域介紹0714 MOSUT-arduino硬體平台與應用領域介紹
0714 MOSUT-arduino硬體平台與應用領域介紹
 

Semelhante a Desenvolvendo aplicacoes moveis com a Nuvem

Desenvolvendo aplicações móveis na Nuvem
Desenvolvendo aplicações móveis na NuvemDesenvolvendo aplicações móveis na Nuvem
Desenvolvendo aplicações móveis na NuvemJose Papo, MSc
 
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso Salesforce
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso SalesforceCloud Computing: Desafios de Arquiteturas multitenantes e o Caso Salesforce
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso SalesforceFernando Carvalho
 
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)Carlos Duarte do Nascimento
 
Desenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App EngineDesenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App EngineCampus Party Brasil
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Vinícius de Paula
 
Desenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endDesenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endGiovanny Valente
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma AndroidÉdipo Souza
 
Docker + Azure - Global Azure Bootcamp 2018 - São Paulo-SP
Docker + Azure - Global Azure Bootcamp 2018 - São Paulo-SPDocker + Azure - Global Azure Bootcamp 2018 - São Paulo-SP
Docker + Azure - Global Azure Bootcamp 2018 - São Paulo-SPRenato Groffe
 
Produtividade infinito e além com We.js
Produtividade infinito e além com We.jsProdutividade infinito e além com We.js
Produtividade infinito e além com We.jsAlberto Souza
 
Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1) Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1) Marcus Garcia
 
Docker + Azure - Global Azure Bootcamp 2018 - Campinas-SP
Docker + Azure - Global Azure Bootcamp 2018 - Campinas-SPDocker + Azure - Global Azure Bootcamp 2018 - Campinas-SP
Docker + Azure - Global Azure Bootcamp 2018 - Campinas-SPRenato Groff
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Renato Groff
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosRodolfo Fadino Junior
 
Azure Bootcamp - Azure App Service e Function com Linux e NodeJS
Azure Bootcamp - Azure App Service e Function com Linux e NodeJSAzure Bootcamp - Azure App Service e Function com Linux e NodeJS
Azure Bootcamp - Azure App Service e Function com Linux e NodeJSAlexandre Bolzon
 
Function as a Service: IT forum expo 2017
Function as a Service: IT forum expo 2017Function as a Service: IT forum expo 2017
Function as a Service: IT forum expo 2017Igor Rosa Macedo
 

Semelhante a Desenvolvendo aplicacoes moveis com a Nuvem (20)

Desenvolvendo aplicações móveis na Nuvem
Desenvolvendo aplicações móveis na NuvemDesenvolvendo aplicações móveis na Nuvem
Desenvolvendo aplicações móveis na Nuvem
 
Meteor - TechParty 2015
Meteor - TechParty 2015Meteor - TechParty 2015
Meteor - TechParty 2015
 
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso Salesforce
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso SalesforceCloud Computing: Desafios de Arquiteturas multitenantes e o Caso Salesforce
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso Salesforce
 
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
 
Desenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App EngineDesenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App Engine
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.
 
Desenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endDesenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-end
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma Android
 
Visão Geral da Nuvem da AWS
Visão Geral da Nuvem da AWSVisão Geral da Nuvem da AWS
Visão Geral da Nuvem da AWS
 
Docker + Azure - Global Azure Bootcamp 2018 - São Paulo-SP
Docker + Azure - Global Azure Bootcamp 2018 - São Paulo-SPDocker + Azure - Global Azure Bootcamp 2018 - São Paulo-SP
Docker + Azure - Global Azure Bootcamp 2018 - São Paulo-SP
 
Produtividade infinito e além com We.js
Produtividade infinito e além com We.jsProdutividade infinito e além com We.js
Produtividade infinito e além com We.js
 
Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1) Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1)
 
Docker + Azure - Global Azure Bootcamp 2018 - Campinas-SP
Docker + Azure - Global Azure Bootcamp 2018 - Campinas-SPDocker + Azure - Global Azure Bootcamp 2018 - Campinas-SP
Docker + Azure - Global Azure Bootcamp 2018 - Campinas-SP
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
 
Arquiteturas de Software para o Século XXI
Arquiteturas de Software para o Século XXIArquiteturas de Software para o Século XXI
Arquiteturas de Software para o Século XXI
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
 
PHP nas Nuvens
PHP nas NuvensPHP nas Nuvens
PHP nas Nuvens
 
Azure Bootcamp - Azure App Service e Function com Linux e NodeJS
Azure Bootcamp - Azure App Service e Function com Linux e NodeJSAzure Bootcamp - Azure App Service e Function com Linux e NodeJS
Azure Bootcamp - Azure App Service e Function com Linux e NodeJS
 
Palestra
PalestraPalestra
Palestra
 
Function as a Service: IT forum expo 2017
Function as a Service: IT forum expo 2017Function as a Service: IT forum expo 2017
Function as a Service: IT forum expo 2017
 

Mais de Amazon Web Services LATAM

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.Amazon Web Services LATAM
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.Amazon Web Services LATAM
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAmazon Web Services LATAM
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAmazon Web Services LATAM
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSAmazon Web Services LATAM
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSAmazon Web Services LATAM
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAmazon Web Services LATAM
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAmazon Web Services LATAM
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosAmazon Web Services LATAM
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSAmazon Web Services LATAM
 

Mais de Amazon Web Services LATAM (20)

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWS
 
Cómo empezar con Amazon EKS
Cómo empezar con Amazon EKSCómo empezar con Amazon EKS
Cómo empezar con Amazon EKS
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWS
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWS
 
Ransomware: Estratégias de Mitigação
Ransomware: Estratégias de MitigaçãoRansomware: Estratégias de Mitigação
Ransomware: Estratégias de Mitigação
 
Ransomware: Estratégias de Mitigación
Ransomware: Estratégias de MitigaciónRansomware: Estratégias de Mitigación
Ransomware: Estratégias de Mitigación
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWS
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administrados
 
Simplifique su BI con AWS
Simplifique su BI con AWSSimplifique su BI con AWS
Simplifique su BI con AWS
 
Simplifique o seu BI com a AWS
Simplifique o seu BI com a AWSSimplifique o seu BI com a AWS
Simplifique o seu BI com a AWS
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS
 

Último

Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 

Último (8)

Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 

Desenvolvendo aplicacoes moveis com a Nuvem

  • 1. Desenvolvendo aplicações Móveis com a Nuvem da AWS José Papo AWS Tech Evangelist @josepapo
  • 2. 5 bilhões de celulares no mundo Mais de 1 milhão de apps nas App Stores 32 bilhões de apps serão baixadas em 2012 50 bilhões de dólares em apps e músicas
  • 3.
  • 4.
  • 5. O problema Uma em cada 4 apps móveis baixadas só é usada uma vez
  • 6. Como melhorar suas chances? Recursos sociais como leaderboards, achievements, troféus, etc Integração com outros serviços e geolocalização Personalização de conteúdo e preferências do usuário
  • 7. Suportando as principais aplicações Móveis
  • 8.
  • 9. O que realmente precisamos é… …capacidade ajustável http://www.flickr.com/photos/purecaffeine/30268245
  • 10. Escalabilidade simples e automática App de Vídeos com Amazon EC2: De 50 a 5,000 servidores em 3 dias! NúmerodeInstânciasEC2 5,000 0 Segunda Terça Quarta Quinta Sexta Sábado Domingo
  • 11. Compute Storage AWS Global Infrastructure Database App Services Deployment & Administration Networking Infraestrutura Global 8 Regiões no Mundo
  • 14. Exemplo Servidor Micro On-demand 100% - A partir de 15 dólares Reservado 100% - A partir de 6,5 dólares
  • 16. Opções de Bancos de Dados Relacional NoSQL
  • 19. Q4 2007 Q4 2008 Q4 2009 Q4 2010 Q4 2011 Q2 2012 14 Bilhões 40 Bilhões 102 Bilhões 262 Bilhões 762 Bilhões Crescimento do Amazon S3 Número de Objetos Armazenados no Amazon S3 1 Trilhão
  • 22.
  • 24.
  • 25. Amazon CloudFront Rede de Distribuição de Conteúdo Flexível
  • 26. Locais Edge AWS (CloudFront & Route 53)
  • 27.
  • 29.
  • 30.
  • 31. SDKs para os principais smartphones REST SOAP
  • 32.
  • 33. DynamoDBKeySchemaElement *kse = [[[DynamoDBKeySchemaElement alloc] initWithAttributeName:@"userNo" andAttributeType:@"N"] autorelease]; DynamoDBKeySchema *ks = [[[DynamoDBKeySchema alloc] initWithHashKeyElement:kse] autorelease]; DynamoDBProvisionedThroughput *pt = [[[DynamoDBProvisionedThroughput alloc] init] autorelease]; pt.readCapacityUnits = [NSNumber numberWithInt:10]; pt.writeCapacityUnits = [NSNumber numberWithInt:5]; DynamoDBCreateTableRequest *request = [[DynamoDBCreateTableRequest alloc] initWithTableName:TEST_TABLE_NAME andKeySchema:ks andProvisionedThroughput:pt]; DynamoDBCreateTableResponse *response = [[AmazonClientManager ddb] createTable:request]; [request release];
  • 34.
  • 35. AmazonDynamoDBClient ddb = UserPreferenceDemoActivity.clientManager.ddb(); KeySchemaElement kse = new KeySchemaElement().withAttributeName( "userNo").withAttributeType(ScalarAttributeType.N); KeySchema ks = new KeySchema().withHashKeyElement(kse); ProvisionedThroughput pt = new ProvisionedThroughput() .withReadCapacityUnits(10l).withWriteCapacityUnits(5l); CreateTableRequest request = new CreateTableRequest() .withTableName(PropertyLoader.getInstance().getTestTableName()) .withKeySchema(ks).withProvisionedThroughput(pt); ddb.createTable(request); RegisterDeviceRequest registerDeviceRequest = new RegisterDeviceRequest( this.endpoint, this.useSSL, uid, key); ResponseHandler handler = new ResponseHandler(); response = this.processRequest(registerDeviceRequest, handler); if (response.requestWasSuccessful()) { AmazonSharedPreferencesWrapper.registerDeviceId( this.sharedPreferences, uid, key); }
  • 36.
  • 37. UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; imagePicker.delegate = self; [self presentModalViewController:imagePicker animated:YES]; AmazonS3Client *s3 = [[[AmazonS3Client alloc] initWithAccessKey:MY_ACCESS_KEY_ID withSecretKey:MY_SECRET_KEY] autorelease]; S3PutObjectRequest *por = [[[S3PutObjectRequest alloc] initWithKey:MY_PICTURE_NAME inBucket:MY_PICTURE_BUCKET] autorelease]; por.contentType = @"image/jpeg"; por.data = imageData; [s3 putObject:por];
  • 38.
  • 39. Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); startActivityForResult(intent, PHOTO_SELECTED); AmazonS3Client s3Client = new AmazonS3Client( new BasicAWSCredentials( MY_ACCESS_KEY_ID, MY_SECRET_KEY ) ); PutObjectRequest por = new PutObjectRequest( Constants.getPictureBucket(), Constants.PICTURE_NAME, new java.io.File( filePath) ); s3Client.putObject( por );
  • 40.
  • 41.
  • 44. APRENDA MAIS SOBRE A NUVEM awshub.com.br
  • 45. Dev Portal AppStore • Distribuição de apps para o Brasil: – Apps podem ter título, descrição, screenshots e release notes em português; – Royalties serão pagos em Reais para vendas no mercado Brasileiro; – O processo de publicação é simples! • Confira: https://developer.amazon.com/