Desenvolvendo aplicações móveis na Nuvem

1,479 views
1,348 views

Published on

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,479
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
38
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Desenvolvendo aplicações móveis na Nuvem

  1. 1. Desenvolvendo aplicaçõesMóveis na Nuvem da AWSJosé PapoAWS Tech Evangelist@josepapo
  2. 2. Suportando as principais aplicações Móveis
  3. 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. 4. O problemaOnde hospedar os dados de meus usuários?
  5. 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. 6. O que realmente precisamos é… …capacidade ajustávelhttp://www.flickr.com/photos/purecaffeine/30268245
  7. 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. 8. Conteúdo Dinâmico da Aplicação Móvel
  9. 9. Amazon EC2Servidores on-demand
  10. 10. Precificação por hora
  11. 11. Exemplo Servidor MicroOn-demand 100% - A partir de 15 dólaresReservado 100% - A partir de 6,5 dólares
  12. 12. Bancos de Dados Relacional e NoSQL
  13. 13. Opções de Bancos de Dados Relacional NoSQL
  14. 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. 15. Conteúdo Estático da Aplicação Móvel
  16. 16. Amazon S3Armazenamento Elástico
  17. 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. 18. 1b  Tb
  19. 19. SLA99,999999999% Durabilidade
  20. 20. Amazon S3
  21. 21. Amazon CloudFrontRede de Distribuição de Conteúdo Flexível
  22. 22. Locais Edge AWS (CloudFront & Route 53)
  23. 23. Benefícios da Nuvempara aplicações móveis
  24. 24. Aberta e flexívelSistemas Operacionais Linguagens e Bibliotecas Aplicações Certificadas
  25. 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. 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. 27. Exemplos de aplicações móveis na Nuvem
  28. 28. SDKs para os principais smartphones SOAP REST
  29. 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. 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. 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. 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. 33. Nuvem é Democracia!
  34. 34. Nuvem é Liberdade!
  35. 35. OFERTA GRATUITA!aws.amazon.com/pt/free
  36. 36. OBRIGADO! aws.typepad.com/brasil slideshare.net/jpapoJosé PapoAWS Tech Evangelist@josepapo

×