Por que eu devo ler este artigo:

O artigo é útil para a criação de um sistema com alta escalabilidade, baixa manutenção e controle de custos. Com ele você poderá desenvolver uma aplicação simples se utilizando de serviços da AWS para otimizar seus serviços.

Veja que o artigo não se aprofundará nos serviços AWS, mas apenas em suas possibilidades de utilização via Android. Sua utilização por outras plataformas também é possível e se utilizam de muita semelhança, porém, com particularidades de cada sistema.

Neste artigo vamos apresentar diversos serviços de fácil utilização e escalabilidade que podem potencializar sua experiência com uso de facilidades disponibilizadas em nuvem para seu aplicativo. Utilizaremos um dos principais servidores de nuvem da atualidade, disponibilizado pela Amazon, o AWS para criar integração e comunicação diretamente com um aparelho Android.

AWS é uma sigla para Amazon Web Services, um produto relativamente novo da Amazon (2006) que propõe de uma forma bem simples prover serviços altamente escaláveis para ajudar no desenvolvimento de aplicações robustas. Recentemente, em 2011, um datacenter da AWS foi construído em nosso país, o que nos dá mais uma vantagem interessante, em especial relacionado à latência de comunicação.

O que faz a AWS ser uma opção interessante para muitos sistemas são seus serviços especializados, que é também o que lhe diferencia da maioria dos “provedores de nuvem”. De um modo geral, eles possuem altíssima escalabilidade com uma manutenção mínima e ainda conseguem ser entregues por um custo baixo. Alguns desses serviços são: banco de dados, DNS, sistema de filas, sistema de busca, armazenamento, serviços https, entre outros.

Os serviços AWS são independentes de plataforma, sua implementação é baseada em comunicação por web services, porém uma série de APIs especializadas para plataformas são criadas para facilitar sua utilização.

É interessante notar que a maioria dos serviços possuem um nível gratuito de utilização, que é muito útil para testes e dependendo do tamanho da aplicação, com a utilização dos serviços corretos pode-se deixar o lado servidor completamente sem custo.

Os serviços fornecidos nem sempre estão disponíveis em todas as regiões, desta forma nem sempre um serviço que existe nos datacenters nos Estados Unidos existe nos datacenters do Brasil. Entretanto, a Amazon não restringe o uso de serviços disponibilizados em outra região que não a mais próxima, mas claro a latência de acesso será maior.

Também é importante notar que os preços cobrados diferem entre as regiões. Assim, recomendo analisar qual o real impacto em sua aplicação e verificar o custo-benefício, ou até mesmo dividir a utilização entre as regiões.

Comunicação

Um grande desafio no desenvolvimento de aplicativos para dispositivos móveis está justamente na comunicação com outros dispositivos/internet. Apesar deste não ser o foco do artigo, este é um ponto muito importante ao se desenvolver um aplicativo utilizando estes tipos de serviços, em especial em nossas redes 3G aqui no Brasil, com vários problemas sinal e velocidade de conexão.

Para lidar com estes problemas existem uma série de padrões e tratamentos, sendo recomendado a utilização destes para evitar comportamentos inesperados:

  • Criar cache de informações que não ...
    Quer ler esse conteúdo completo? Seja um assinante e descubra as vantagens.
    • 473 Cursos
    • 10K Artigos
    • 100 DevCasts
    • 30 Projetos
    • 80 Guias
    Tenha acesso completo