View
127
Download
6
Category
Preview:
Citation preview
O que os gigantes esqueceram?Roda Viva: “Eu sou você amanhã”
Não subestime os pequenos!
Pedra que não rola, cria limo
A necessidade faz o sapa pular
1. Design Thinking / Canvas / Lean
2. Cloud / PaaS
3. NoSQL
4. Open Source
Quais ombros subir?
5. Práticas Ágeis
6. Ling. Dinâmicas
Exploração centrada no ser
humano
Design Thinking
Qual a dor queremos resolver?
EMPATIA
Rápido e Sujo - Protótipo
Ideias validadas o mais breve Saia do escritório!!!!
Design ThinkingCritérios
DESEJABILIDADE
VIABILIDADE
PRATICABILIDADE
NECESSIDADE
HUMANA
EXISTE TECNOLO
GIA
ECÔNOMICAMENTE
VIÁVEL
BMG – Canvas
Objetivos
Fácil Avaliar
Fácil Visualizar
Fácil de manipular
. . . . . . .
. . . . . . .
. . . .
Como se fazia app web...
Servidor comprado, num CPD próprio $$$$$
O cheque de US$100K do investidor na Google foi para comprar, principalmente, as máquinas
Quanto custa a infra de uma startup? Como posso ser altamente escalável? Quanto tempo levaria para preparar o meu
ambiente?
Valore$
Medindotempo x custo
Criar uma conta no Heroku: 5 mins
Criar um servidor no Heroku: 2 mins
Tempo Total: 7 mins pra ter um servidor 24/7 escalável, pay-as-you-go
Custo Total: R$0 (1 heroku dyno)
Servidor de desenvolvimento = R$0
Web site = R$0
Escalando: Quanto custa?
• Escalar pra 50 servidores: 10 segundos
• Custo Total: US$ 1762.50 por mês (50 heroku dynos)
Medindo
• Adicionar uma base PostgreSQL: 30 segundos
– pra ter um banco SQL 24/7 escalável, pay-as-you-go
• Custo Total: R$0 (máximo 10 mil registros)
– Servidor de desenvolvimento = R$0
– Web site = R$0
Escalando• Pague pela quantidade de água que você consome. Startup: R$0
• Heroku é o maior deploy de PostgreSQL do mundo
• Heroku pertence à Salesforce. “Bebem o próprio Champagne.”
– Assim como a Amazon/Loja usa o próprio S3, DynamoDB etc
Otimizando/Cache: Quanto custa?
• Memcache, REDIS: Pague pela quantidade de água que
você consome. Startup: R$0
Tickets, Controle de Versão, ...
• www.xp-dev.com: TRAC, Git, SVN, CVS gratuito pra 1
projeto (mesmo que comercial): R$0.
Minimizando KLOC
NoSQL pra escalabilidade
REDIS pra Cache
Reusabilidade de componentes de terceiro
Linguagem de programação mais expressiva
Expressividade em Linguagens
• Computer Language Shootout Compara performance
em 10 problemas simples.
– Também lista RAM usada
– Também lista LOC usados
Qual Ling. Dinâmica Escolher?
– As esotéricas: Scala, Clojure, etc
• Influências de Functional Programming, Haskel etc
– As de cola: Groovy (chama Java fácil)
– As da moda: Ruby (Ruby on Rails, etc), Javascript
(Node.js)
– As sólidas que resistiram ao tempo: Python
– As mais fáceis de achar gente
• Ruby >> Python >> Groovy
Alan Kay
– “Simple things should be simple. Complex
things should be possible”- Allan Kay
• Inventor do Smalltalk
• Inventor da Orientação a Objetos
• Inventor do Sistema de Janelas Gráficas
Cases Atuais - Facebook
• PHP (ling. Dinâmica)
• MySQL com Memcache.
• HD SSD DB performance
• 3 bilhões de uploads de foto / mês
• 1.2 milhões de fotos servidas / segundo
• Cassandra (Inbox)
• Hadoop+Hive p/ análise de dados (Big Data)
Cases Atuais - Pinterest
• 150 instâncias web Amazon EC2
• 90 instâncias EC2 pra memcache
• 70 databases para redundância (uso de Sharding).
Hadoop p/ análise de dados.
• Código em Python/Django
Cases Atuais - Dropbox
• 1 milhão de arquivos salvos a cada 15mins
• 99.9% do código: Python (server, client, analytics, etc)
Ressalvas
• Considerar os seguintes aspectos na escolha da plataforma:
– Open Standard ou Proprietário?
– Qual o custo da licença por desenvolvedor?
– Quão atraente é a tecnologia? (trazer talentos)
– Qual o tamanho da comunidade de profissionais? Livros, fórums, suporte, etc
– Alinhamento com Universidades, etc (o que vêm-se usando?)
– Qual a quantidade de componentes reusáveis? (diminuir LOC)
– Otimizar / performance onde realmente interessa. “Premature optimization is
the root of all evil” – Donald Knuth
O Futuro: Startups Creating A New System
For IT– http://highscalability.com/blog/2012/5/7/startups-are-cr
eating-a-new-system-of-the-world-for-
it.html
Então já temos!!
6. Ling. Dinâmicas
5. Práticas Ágeis
4. Open Source3. NoSQL2. Cloud / PaaS
1. Design Thinking / Canvas / Lean
Pessoas• Existem interessados?• Como está o mercado
para atrair e reter esses talentos?
• Consigo um ambiente sustentável?
Análise Recursos x Plataforma
• TIOBE Programming Community Index for June 2013
– Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu
• LangPop.com
– Yahoo!, Craigslist, Powell's Books, Freshmeat, Google Code,
Del.icio.us, Ohloh.
– Lambda The Ultimate, programming.reddit.com, Slashdot, IRC.
• Indeed.com
– Site de empregos.
Conclusões
Tudo que foi colocado aqui não é a bala de prata
Grandes soluções surgem a todo momento
Pequenas empresas já crescem com condições iguais às grandes
Perguntas?
Insanity: doing the same thing over and over again
and expecting different results. -- Albert Einstein
Referências
• http://ontwik.com/python/pycon-2011-how-dropbox-did-it-and-how-python-helped/
• http://benchmarksgame.alioth.debian.org
• http://redmonk.com/dberkholz/2013/03/25/programming-languages-ranked-by-expressiveness/
• http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
• http://www.langpop.com/
• http://benchmarksgame.alioth.debian.org
• http://en.wikipedia.org/wiki/HipHop_for_PHP
• https://www.djangoproject.com
• http://www.technologyreview.com/featuredstory/410312/how-facebook-works/
• http://royal.pingdom.com/2010/06/18/the-software-behind-facebook/
• http://
highscalability.com/blog/2012/5/21/pinterest-architecture-update-18-million-visitors-10x-growth.
html
• http://
highscalability.com/blog/2011/3/14/6-lessons-from-dropbox-one-million-files-saved-every-15-mi
nu.html
Recommended