Contenu connexe Similaire à .Net e arquiteturas modernas - qconsp 2011 - vinicius quaiato (7) Plus de Vinicius Quaiato (20) .Net e arquiteturas modernas - qconsp 2011 - vinicius quaiato1. 2011
arquiteturas
modernas
um panorama sobre velhas necessidades
e novas oportunidades
@vquaiato
Saturday, September 10, 11
2. @vquaiato
(vinicius quaiato)
programador
palestrante
pai
santista
entusiasta
consultor
etc, etc, etc
Saturday, September 10, 11
3. @vquaiato
(vinicius quaiato)
http://viniciusquaiato.com
http://crafters.com.br
vinicius.quaiato@gmail.com
Saturday, September 10, 11
5. vazio e sem retorno
de valor
Saturday, September 10, 11
6. discussão sobre
arquitetura e design
de software
Saturday, September 10, 11
9. o mundo do software
é repleto de
possibilidades
Saturday, September 10, 11
10. mas a indústria de
software pode sofrer
alguns apagões
Saturday, September 10, 11
13. há 10 anos você imaginaria
ter 100 máquinas para
rodar seu sistema?
Saturday, September 10, 11
21. há 5 anos você
imaginaria?
Saturday, September 10, 11
22. e se falarmos em
infinitas máquinas?
Saturday, September 10, 11
23. hoje você pode não só
imaginar: mas ter!
Saturday, September 10, 11
27. mas o que é cloud
computing?
Saturday, September 10, 11
30. “Cloud computing é a
entrega de computação como
um serviço ao invés de um
produto...” - (Wikipedia)
Saturday, September 10, 11
31. “Clouds são serviços que oferecem
computação, rede e armazenamento.
O gerenciamento do hardware é
totalmente abstraído de quem compra
o serviço...” - McKinsey & Co. Report
Saturday, September 10, 11
32. “Cloud computing possui as seguintes
características: (1) ilusão de recursos de
computação infinitos; (2) não há
necessidade de um compromisso inicial;
(3) paga-se pelo uso, conforme for preciso”
- UCBerkeley
Saturday, September 10, 11
33. “...um modelo onde paga-se pelo uso para ter
disponibilidade, praticidade, e acesso sob demanda
a um pool de recursos de computação(rede,
servidores, armazenamento, aplicações, serviços)
que podem ser rapidamente provisionados e
liberados com um esforço mínimo” - National
Institute of Standards and Technology
Saturday, September 10, 11
34. em comum
paga-se pelo uso
capacidades elásticas
interface self-service
recursos são abstraídos
Saturday, September 10, 11
46. você já se questionou
sobre armazenamento
de dados?
Saturday, September 10, 11
49. o mundo do software
é repleto de
possibilidades
Saturday, September 10, 11
51. estamos tão
acostumados com
problemas
Saturday, September 10, 11
53. há algum tempo você
tem ouvido um
zumbido
Saturday, September 10, 11
54. opções não
relacionais estão
ganhando força
Saturday, September 10, 11
56. cada uma destas
opções resolve um
problema específico
Saturday, September 10, 11
57. o objetivo do nosql
não é anular o banco
relacional
Saturday, September 10, 11
58. algumas
possibilidades
Saturday, September 10, 11
59. já pensou em realizar
o login usando um
banco key-value?
Saturday, September 10, 11
60. os amigos/seguidores do seu
sistema podem ser feitos
com um
banco orientado a grafos
Saturday, September 10, 11
64. aquela aplicação cujo
modelo não está bem
definido pode tirar proveito
de um banco schemaless
Saturday, September 10, 11
68. hoje mais do que isso
temos um computador
em cada mão
Saturday, September 10, 11
73. mantém as
aplicações conosco,
em qualquer lugar
Saturday, September 10, 11
74. o backend em suas
empresas devem se
conectar a estes devices
Saturday, September 10, 11
75. backends registram
push-notifications que são
recebidas em qualquer lugar
Saturday, September 10, 11
76. sua aplicação deve estar
preparada para suportar
uma interface simples
com menos poder de
processamento
Saturday, September 10, 11
77. processamento na
nuvem precisa começar
a fazer parte da solução
Saturday, September 10, 11
78. remotamente, deve
ser possível tomar
decisões importantes
Saturday, September 10, 11
80. quando você fica
parado em uma fila
está perdendo tempo
Saturday, September 10, 11
81. se tivesse uma forma de
ser avisado somente na
sua vez tudo seria melhor
Saturday, September 10, 11
82. a forma como fazemos
isso(programação
assíncrona) pode não ser
mais a melhor
Saturday, September 10, 11
86. composição de
aplicações assíncronas
e baseadas em eventos
Saturday, September 10, 11
87. sequências de dados
representadas na forma
de observable sequences
Saturday, September 10, 11
88. o padrão de observers
notifica todos interessados
sobre mudanças no fluxo de
dados
Saturday, September 10, 11
91. group, select,
SelectMany, Throttle,
TakeUntil, Retry, etc
Saturday, September 10, 11
93. além do Rx o futuro
do c# é async
Saturday, September 10, 11
94. pensar de forma não
blocante é importante,
necessário e hoje muito
viável
Saturday, September 10, 11
96. se jogarmos todo tráfego
da marginal em uma
única via: tudo para
Saturday, September 10, 11
97. por isso criamos mais
vias e paralelizamos
o tráfego
Saturday, September 10, 11
98. há 10 anos tínhamos
computadores single
core
Saturday, September 10, 11
99. alguns tiveram um
poderoso processador
com Hyper-Threading
Saturday, September 10, 11
100. hoje é quase padrão
computadores com 2
ou mais núcleos
Saturday, September 10, 11
101. suas aplicações são
pensadas paras tirar o
máximo de proveito da
máquina?
Saturday, September 10, 11
103. para tirar o máximo de
proveito em cenários
multi-core podemos usar o
PLINQ
Saturday, September 10, 11
104. Parallel LINQ é a
implementação paralela
do LINQ to objects
Saturday, September 10, 11
105. a intenção é acelerar a
execução de operações
em ambientes multi-core
Saturday, September 10, 11
107. se a operação é mais
custosa o PLINQ se
encarrega de executar da
maneira tradicional
Saturday, September 10, 11
114. talvez você não
precise de todas estas
opções sempre
Saturday, September 10, 11
118. mas isso pode custar
seu design e/ou
arquitetura
Saturday, September 10, 11
120. 2011
obrigado <o/
@vquaiato
vinicius.quaiato@gmail.com
http://viniciusquaiato.com
@vquaiato
Saturday, September 10, 11
121. • http://www.slideshare.net/alexandre_porcelli/nosql-mstechday-so-paulo/
• http://viniciusquaiato.com/blog/category/windows-azure/
• http://www.microsoft.com/windowsazure/
• http://www.slideshare.net/Guppers/im-cloud-confused
• http://www.slideshare.net/jamesbroberg/ introduction-to-cloud-computing-
ccgrid-2009
• http://soapatterns.org/
• http://www.slideshare.net/simonguest/ patterns-for-cloud-computing
• http://channel9.msdn.com/Series/Rx-Workshop/Rx-Workshop-Event-Processing
• http://msdn.microsoft.com/en-us/magazine/cc163329.aspx
• http://msdn.microsoft.com/en-us/library/dd997399.aspx
• http://viniciusquaiato.com/blog/plinq-paralelismo-no-net-4-com-parallel-linq/
• http://weblogs.asp.net/gunnarpeipman/archive/2010/01/31/net-framework-4-0-
comparing-linq-and-plinq-performance.aspx
• http://msdn.microsoft.com/en-us/library/hh242985(v=VS.103).aspx
• http://en.wikipedia.org/wiki/Reactive_programming
• http://jesseliberty.com/reactive-extensionsindex/
• http://www.archive.org/web/web.php
Saturday, September 10, 11