Your SlideShare is downloading. ×

Desenvolvendo aplicações móveis na Nuvem

1,214

Published on

Slides da apresentação sobre desenvolvimento móvel utilizando a Nuvem para processamento e storage de dados.

Slides da apresentação sobre desenvolvimento móvel utilizando a Nuvem para processamento e storage de dados.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,214
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
36
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Desenvolvendo aplicaçõesMóveis na Nuvem da AWSJosé PapoAWS Tech Evangelist@josepapo
  • 2. Suportando as principais aplicações Móveis
  • 3. 5 bilhões de celulares no mundoMais de 1 milhão de apps nas App Stores 32 bilhões de apps serão baixadas em 201250 bilhões de dólares em apps e músicas
  • 4. O problemaOnde hospedar os dados de meus usuários?
  • 5. Infraestrutura Tradicional é Cara e Complexa Preços Altos para Infraestrutura de TI Recursos de TI com Baixa UtilizaçãoProvedores Lentos para Atender a Demanda de Infra Data Center sem Espaço Gerenciar Crescimento Físico Implantações DemoradasNegociação de Contratos Instalação de Patches Altos Investimentos de Capital Falta de foco no negócio “TI gasta 80% de seu tempo e recursos mantendo as luzes acesas” Gartner Press Release, 2006
  • 6. O que realmente precisamos é… …capacidade ajustávelhttp://www.flickr.com/photos/purecaffeine/30268245
  • 7. Escalabilidade simples e automática App de Vídeos com Amazon EC2: De 50 a 5,000 servidores em 3 dias!5,000 Número de Instâncias EC2 0 Segunda Terça Quarta Quinta Sexta Sábado Domingo
  • 8. Conteúdo Dinâmico da Aplicação Móvel
  • 9. Amazon EC2Servidores on-demand
  • 10. Precificação por hora
  • 11. Exemplo Servidor MicroOn-demand 100% - A partir de 15 dólaresReservado 100% - A partir de 6,5 dólares
  • 12. Bancos de Dados Relacional e NoSQL
  • 13. Opções de Bancos de Dados Relacional NoSQL
  • 14. Modelos de Bancos de Dados Auto-gestão Database as a Service Banco de Dados no Amazon Relational Amazon DynamoDB Amazon EC2 Database Service (RDS) NoSQLSua escolha de software Oracle ou MySQL Modelo não relacional de banco de dados oferecidos como serviçoBring Your Own License Overhead zero de (BYOL) Licenciamento Flexível: administração BYOL ou Licença Incluída
  • 15. Conteúdo Estático da Aplicação Móvel
  • 16. Amazon S3Armazenamento Elástico
  • 17. Crescimento do Amazon S3Número de Objetos Armazenados no Amazon S3 1 Trilhão 762 Bilhões 262 Bilhões 102 Bilhões 14 Bilhões 40 Bilhões Q4 2007 Q4 2008 Q4 2009 Q4 2010 Q4 2011 Q2 2012
  • 18. 1b  Tb
  • 19. SLA99,999999999% Durabilidade
  • 20. Amazon S3
  • 21. Amazon CloudFrontRede de Distribuição de Conteúdo Flexível
  • 22. Locais Edge AWS (CloudFront & Route 53)
  • 23. Benefícios da Nuvempara aplicações móveis
  • 24. Aberta e flexívelSistemas Operacionais Linguagens e Bibliotecas Aplicações Certificadas
  • 25. Infraestrutura GlobalGovCloud US West US West US East South EU Asia Asia (US ITAR (Northern (Oregon) (Northern America (Ireland) Pacific Pacific Region) California) Virginia) (Sao Paulo) (Singapore) (Tokyo) Regiões AWS Pontos Edge AWS
  • 26. Construída com altos padrões de segurança Suas Apps Infraestrutura de Segurança AWS SOC 1/SSAE 16/ISAE 3402, ISO 27001, PCI DSS, HIPAA, ITAR, FISMA Moderate, FIPS 140-2
  • 27. Exemplos de aplicações móveis na Nuvem
  • 28. SDKs para os principais smartphones SOAP REST
  • 29. 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];
  • 30. 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);}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);
  • 31. 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];
  • 32. 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 );
  • 33. Nuvem é Democracia!
  • 34. Nuvem é Liberdade!
  • 35. OFERTA GRATUITA!aws.amazon.com/pt/free
  • 36. OBRIGADO! aws.typepad.com/brasil slideshare.net/jpapoJosé PapoAWS Tech Evangelist@josepapo

×