Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Arquitetando uma API 100% escalável com AWS
Python
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
deploy
mybookmarks
tests
.gitignore
Makefile
README.md
fabfile.py
requirements-dev.txt
requirements.txt

README.md

Academia Tech - Oficina 001

Uma introdução ao cloud computing: Arquitetar uma API 100% escalável usando AWS.

Marcel Nicolay, Gustavo Barbosa, Paulo Alem, Rodrigo Machado

Descrição

O que pode ser mais legal do que arquitetar uma solução que tem como requisito não cair nunca, além de atender 10 usuários da mesma maneira que atende 100.000, sem nenhuma intervenção manual?

É isso que iremos ver, como arquitetar uma API de alta disponibilidade, que escala automaticamente de acordo com o consumo, utilizando os serviços do AWS.

Resumo

O foco da oficina será em como configurar e utilizar os serviços de EC2, ELB, DynamoDB, Cloud Cache e Cloud Watch da Amazon bem com automatizar os scripts de setup e deploy, a fim de criar uma poderosa solução que pode, e deve, ser replicada para diversos tipos de problema.

Nessa oficina iremos resolver o problema de criar uma API que armazena e exibe bookmarks de um determinado usuário. Como o foco é na arquitetura, o desenvolvimento da API não será necessário, ela já estará pronta.

A oficina terá 2 horas de duração:

Abertura (15 minutos):

  • Apresentação do projeto da Academia Tech
  • Agradecimentos
  • Apresentação do tema da oficina
  • Introdução ao AWS

Demonstração da solução (10 minutos)

  • com o painel da Amazon aberto, rodar um teste de carga contra a API para mostrar o autoscalling acontencendo

Mão na massa (70 minutos)

  • Introdução ao console do AWS
  • Setup da máquina da aplicação com fabric
  • Configuração do DynamoDB
  • Confuguração do Cloud Cache
  • Configuração do auto scalling (ELB e Cloud Cache)
  • Deploy da aplicação
  • Teste funcional
  • Teste de carga

Demonstração final (5 minutos)

  • com o painel da amazon aberto, rodar um teste de carga contra a API para mostrar o autoscalling acontencendo

Considerações finais (20 minutos)

Pré-requisitos

Não teremos instruções específicas para Windows. Utilizaremos Mac OSX ou Linux. Preparar o ambiente local com:

  1. python 2.7, ou superior, com o pip instalado
  2. instalar e rodar o fake dynamo
  3. executar no terminal:
mkdir -p ~/academiatech && cd ~/academiatech

git clone git@github.com:academiatech/oficina-001.git
cd oficina-001

pip install virtualenvwrapper
mkvirtualenv academiatech
pip install -r requirements-dev.txt

make test
Something went wrong with that request. Please try again.