educação elástica: usando aws, big query e o stack

Propaganda
EDUCAÇÃO ELÁSTICA:
USANDO AWS, BIG QUERY
E O STACK MICROSOFT EM
AGENDA
Breve histórico da iLang
Porque WISA?
Visão geral do stack
Evolução da arquiterura da solução
Lições aprendidas
HISTÓRICO
2006: Fundada como plataforma para ensino de idiomas
2008: Pivot para plataforma de ensino à distância/gestão acadêmica
2009: Contrato com diversas escolas de ensino fundamental/médio
2010: Contrato com a IUNI educional
2011: Início da plataforma social/acadêmica
2013: Contrato com 3 das 5 maiores instituições de ensino do Brasil
DESAFIOS
Suportar um crescimento exponencial da base de usuários
Grande sazonalidade: mais de 80% dos alunos fazem
entregas no último dia/hora
Manter o time de desenvolvimento pequeno mesmo com o
crescimento da solução/base de usuário
WISA
Porque WISA?
Experiência anterior do time de desenvolvimento
Produtividade proporcionada por C# + Visual Studio
Fácil de encontrar profissionais no mercado
Stack de
Tecnologias do
iLang
EVOLUÇÃO DA ARQUITETURA
Único
servidor
Servidor
web +
banco de
dados
2
servidores
web +
banco de
dados
(load
balancer)
Servidor
de
aplicação
Migração
para a
nuvem
Servidores
de
aplicação
+ filas +
web
workers
Divisão
em data
centers
Google
Big Query
SINGLE SERVER
WEB + DATABASE SERVER
WEB SERVERS + DATABASE
SERVER
WEB SERVERS + DATABASE
SERVER
Elimação de session in proc
NÃO utilização do sistema de arquivos
local
Certificado SSL no Load Balancer
HERE COMES THE
APPLICATION SERVER
AWS MIGRATION
AWS MIGRATION PLANEJAMENTO
Diversas POC
Medições da performance dos servidores na
nuvem
Maior preocupação era o servidor de banco de
dados
Migração “As It Is”
TWO DATA CENTERS
TWO DATA CENTERS
Garantir que mesmo em uma eventual
falha e uma AZ não ficaremos fora do ar
Redundância de todos os servidores
Eliminação dos SPOFs
GOOGLE BIG QUERY
Gravar log de chamadas a nossa API
Gravarmos cada uma das chamadas,
parâmetros e resultado da chamado
Mais de 5 milhões de chamada por dia (e
crescendo exponencialmente)
GOOGLE BIGQUERY
GOOGLE BIGQUERY
GOOGLE BIGQUERY
Serviço do Google Cloud Plataform
Banco de dados “relacional” com suporte a terabytes de
dados
Read-only
Armazenamos mais de 70 TB de dados (log)
API REST para integração
Lições Aprendidas &
Recomendações
LIÇÕES APRENDIDAS
Cache, cache e mais cache
Dados
Cache de dados no banco de dados (SSD)
Cache de dados no Redis
Cache de dados no web (inproc)
Arquivos via proxy reverso, CDN e browser
Automatize o processo de build e deployment
Monitoramento das aplicações
LIÇÕES APRENDIDAS
MTT / MTR (meantime to detect meantime to repair)
Assumptions are evil
Pessoas fazem a diferença
Recomendados Cloud para gerenciar sazolidade
Cloud para ambientes de testes
REFERÊNCIAS
http://stackoverflow.com/questions/177901/what-does-wisc-stack-mean
http://highscalability.com/blog/2014/7/21/stackoverflow-update-560mpageviews-a-month-25-servers-and-i.html
https://cloud.google.com/
http://aws.typepad.com/brasil/2013/08/estudo-de-caso-aws-ilang-educacao.
html
CONTATO
Twitter
joao_talles
LinkedIn
http://br.linkedin.com/in/joaotalles/
Facebook
https://www.facebook.com/joao.talles
Email
[email protected]
Download