Este documento apresenta a empresa Softa e seu serviço Mailee.me. Detalha as experiências dos sócios Juan Maiz e Pedro Axelrud na programação e em projetos open source. Descreve as tecnologias utilizadas no desenvolvimento do software como serviço (SaaS) Mailee.me, incluindo Ruby on Rails, PostgreSQL, Resque e estratégias para manutenção do serviço, como backups, monitoramento e atualizações contínuas.
2. Juan Maiz LFC
sócio da softa.com.br (≈6 anos)
11 anos programando profissionalmente
7 anos dando aulas & gerenciando projetos
palestrante no FISL, Agile Weekend, RS on Rails, Tchê Linux, Ruby Conf BR, Ruby
Conf UY e diversas universidades.
coordenador do GURU/RS e do organizador RS on Rails
campeão do concurso webly de POG
3. Pedro Axelrud
sócio da softa.com.br (≈3 anos)
responsável pela infraestrutura e entregabilidade do mailee.me
autor convidado do ReadWriteWeb Brasil
escrevia para o GuiadoHardware.net na infância :)
viciado em internet
fotógrafo, circense, ator e locutor amador nas horas vagas
4. Mailee.me
2º lugar 1º lugar 1º lugar
Campus Party Read Write Web Tire do Papel
5. Socialee.me
... not yet ...
para saber mais acesse
7. Fazer SaaS
Construir para crescer
Infra
Manter o serviço no ar
Monitorar os serviços
Atualizações
Métricas
Pós venda
Suporte
8. Construir para crescer
TDD & Refactoring
Simplicidade como meta (hstore)
https://github.com/softa/activerecord-postgres-hstore
Database Refactoring (migrations & staging)
Melhorias contínuas de performance
Escolher tecnologias tendo em vista a distribuição
(Nosso caso: PostgreSQL 9, Resque & MaileeD)
9. Infra
não economizar em datacenter, sob hipótese alguma
saber tirar proveito das melhores tecnologias
estar sempre por dentro dos novos serviços
identificar e monitorar os gargalos e SPOFs
checar a execução de todos os serviços
monitorar o consumo de recursos (logs)
10. Manter o serviço no ar
Regra número 1. Backups.
Storage Replicação geografica.
Testes O restore funciona?
Manter os processos rodando. Bluepill.
Replicação de banco. PostgreSQL 9. Working on it.
11.
12. Monitorar os serviços
Monitoramento default de servidores.
Resque Web.
Reputação dos servidores de envio de e-mail.
Dashboard com avisos sonoros.
13.
14. Atualizações
Como definir prioridades? (Modelo 37signals, modelo
Booking.com)
Pivotal Tracker.
Ambientes de teste & staging.
Bundler & deploy contínuo com Hercules.
Cooldown. One feature a day.
15. Métricas
Vendas. Plain & Simple.
Clientes ganhos & clientes perdidos.
Ticket médio.
Outras métricas dependem do negócio.
16.
17.
18. Pós venda
Identificação automática de clientes para contatar.
Templates inteligentes.
Emails semi-automatizados, validados um a um.
Painel com tudo do cliente na validação.
Contato telefônico faz milagres.