AWS

27 fev, 2013

Estudo de caso: Brasil by Bus – Portal para compras de passagens de ônibus

Publicidade

O artigo de hoje é um estudo de caso da utilização da Nuvem da Amazon Web Services por empresas no Brasil. Hoje o caso é do portal brasileiro para compras de pasagens de ônibus Brasil by Bus. André Nascimento, sócio-fundador e CTO do Brasil by Bus, nos conta abaixo como usa a Nuvem da AWS para sua startup:

“Meu nome é André Nascimento e – junto com outros 2 amigos – sou um dos sócios-fundadores do portal www.brasilbybus.com. Trabalho como CTO da empresa e fui o responsável pela construção do portal e escolhas técnicas de arquitetura e infraestrutura.

6a00d8341c534853ef017ee5822963970d-800wi

O portal nasceu da ideia de ajudar as pessoas a encontrar e comprar passagens de ônibus pela internet. Atualmente várias companhias de ônibus já vendem suas passagens em seus websites, mas faltava um portal que atendesse tanto ao público brasileiro quanto estrangeiro de uma forma simples e segura, além de agregar várias companhias de ônibus, deixando mais fácil a localização dos trechos atendidos no Brasil.

Atualmente, o site trabalha com cerca de 40 empresas rodoviárias, atendendo a mais de 3.300 cidades em todo o Brasil. O ambiente de pagamento utilizado é o Paypal, o que garante total segurança no processo de pagamento pelo site.

Hoje, toda a infraestrutura está hospedada na AWS. Essa decisão foi tomada após um estudo cuidadoso do mercado e todas as outras ofertas disponíveis. A empresa não possui nenhuma infraestrutura interna de servidores.

O deploy da aplicação foi feito utilizando o Elastic Beanstalk, o que facilitou muito a entrada da empresa na infra da AWS, por ser uma plataforma muito simples e robusta. A aplicação foi construída utilizando ASP.NET MVC 3.0 com framework 4.0.

Como banco de dados, optou-se pelo RDS com MySQL e pelos os serviços do S3 para armazenamento de imagens do sistema de CMS que roda por trás do site para gerenciar os conteúdos dinâmicos. O provider de sessões do ASP.NET é integrado com o Dynamo DB.

Estamos monitorando toda a infra e gerenciando o auto scaling por meio do Cloud Watch; Nosso provedor de DNS também está rodando na AWS com o uso do Route 53.

A aplicação é construída sobre plataforma Microsoft .NET, ASP.NET MVC 3.0 e framework 4.0. Utilizamos os SDKs da AWS para construir a integração de nosso sistema de CMS com o S3, além de utilizarmos o session provider para o Dynamo DB.

Queríamos trabalhar com uma infraestrutura de ponta e escalável para o portal e com isso desde o início decidimos que não queríamos um TCO alto para manter. Com isso, começamos a procurar soluções no mercado que nos atendessem no modelo de cloud computing.

Após avaliar os principais fatores para se definir uma oferta como realmente sendo de cloud e não apenas hosting, ficou fácil a opção pela AWS. Não encontramos nenhuma outra oferta que unisse a premissa de “pay as you go” com a escalabilidade e robustez da nuvem da AWS.

Hoje conseguimos ter uma infraestrutura muito profissional e escalável com um custo muito baixo se comparado a outras opções que tínhamos disponíveis.

Temos apenas estimativas de custos que construímos para basear a escolha pela AWS. Se fossemos montar uma infraestrutura com o mínimo para existir, isso inclui servidores para desenvolvimento, testes, produção e sistemas de backoffice com um provedor de hosting padrão de mercado, teríamos um custo no mínimo 5 vezes maior do que temos hoje utilizando a AWS e não teríamos nem perto da escalabilidade e qualidade que temos.

No início, pensamos que seria muito complicado colocar nossa aplicação para rodar na AWS. Como a construímos orientada a melhores práticas de arquitetura isso foi muito fácil. Aliás, um dos pontos muito positivos em se utilizar infra e plataforma como serviço é que somos forçados a desenvolver utilizando melhores práticas. Não tem jeito de ser diferente.

Hoje, depois de conhecermos e utilizarmos o paradigma de Cloud em nosso portal, não conseguimos pensar em voltar ao hosting tradicional. A velocidade e robustez da AWS fez com que conseguíssemos colocar no ar um serviço diferencial com a segurança e rapidez necessárias para uma startup.

Nosso próximo passo será utilizamos o Cloud Front como CDN de todo nosso conteúdo estático, uma vez que nosso portal terá acesso em vários países. Hoje, já temos acessos vindos de vários países da América do Norte, América Latina e Europa e vamos melhorar a entrega de conteúdo com o uso do CDN. Além disso, vamos implementar rapidamente o Elasticache como plataforma de cache de nossas aplicações”.

Caso queiram entrar em contato conosco, nos procurem em: