February, 2009

Posts
  • Windows Azure e SQL Azure - Blog do Condé

    Lançamento dos ArqCasts no Channel9

    • 1 Comments

    Boa noite a todos !

    Hoje, sexta-feira de carnaval, estamos aqui escrevendo mais um post. Neste momento gostaria de compartilhar com vocês o lançamento oficial do Canal ArqCasts no Channel9. Para quem não sabe, o Channel9 é um site voltado para desenvolvedores, arquitetos e todos interessados em tecnologia, com uma linguagem aberta e descontraída procurando oferecer ao público, vídeos, podcasts e outros conteúdos interessantes. E o ArqCast é um espaço aberto para arquitetos, consultores e especialistas em tecnologia da Microsoft, onde discutem sobre os vários temas ligados à arquitetura, entre eles: tecnologias, tendências, aspectos arquiteturais e visões.

    Então, “Bem-vindo Canal ArqCasts !!!!! E sucesso !!!!!”

    Referência: http://channel9.msdn.com/brasil

    abs e t+
    Condé

    versão 1.1

  • Windows Azure e SQL Azure - Blog do Condé

    SaaS – nível de maturidade

    • 1 Comments

    Boa tarde a todos !

    Um dos grandes arquitetos Microsoft, Gianpaolo, introduziu uma sugestão de modelo de maturidade para classificar as soluções SaaS. O interessante deste modelo é que podemos nos identificar em qual estágio nos encontramos e para qual estágio podemos evoluir. Digo isto, pois pela minha experiência este modelo se encaixa perfeitamente na realidade brasileira de muitas aplicações que possuem aspirações para trabalhar na nuvem. 

    Referências:
    Blog do Gianpaolo: http://blogs.msdn.com/gianpaolo/archive/2006/03/06/544354.aspx

    abs
    Condé

    versão 1.0

  • Windows Azure e SQL Azure - Blog do Condé

    Arqcast – ALM – Gerenciando o ciclo de vida de aplicações

    • 1 Comments

    Boa noite a todos !

    Periodicamente realizamos na Microsoft Brasil os nossos ArqCasts, para quem não sabe o que é um ArqCast, é um espaço aberto para arquitetos, consultores e especialistas em tecnologia da Microsoft onde discutem sobre vários temas ligados à arquitetura, entre eles: tecnologias, tendências, aspectos arquiteturais e visões. Nesta semana fui um dos participantes, no Arqcast em questão falamos sobre Gerenciamento do Ciclo de Vida de Aplicações, ou ALM (Application Lifecycle Management), nele procurei explanar sobre a visão do ALM, seus aspectos de aplicabilidade dentro das organizações e questões sobre Agile, CMMi. Para quem quiser assistir, coloco os links On-line e Offline, se tiver interessado em mais Arqcasts, fica aqui a dica para acompanhar sempre o blog do Arquiteto de Infra-estrutura, Markus Christen, pois sempre há temas interessantes. :)

    Para assistir Offline
    Se quiser baixar para assistir off-line, o link é http://silverlight.services.live.com/90408/ArqCast%20Brasil%20-%20Gerenciamento%20do%20Ciclo%20de%20Vida%20de%20Aplicacoes/video.wmv

    Para assistir On-line (Soapbox)

    Get Microsoft Silverlight  

    T+
    Condé

    Versão 1.0

  • Windows Azure e SQL Azure - Blog do Condé

    Cauda longa, SaaS e Neo-tribalização - Exemplo

    • 0 Comments

    Boa noite a todos !

    Cauda longa

    Para quem está atuando ou estudando o mercado de SaaS, S+S, provavelmente já esbarrou com o termo Cauda Longa. O editor chefe da revista Wired, Chris Anderson, realizou um estudo detalhado sobre o efeito da convergência digital e Internet sobre os mercados de consumo, e concluiu que os rompimentos de barreiras físicas/virtuais gerou novas ofertas de produtos/serviços, permitindo assim aos consumidores experimentarem estas novas ofertas, que até então não existiam ou simplesmente não eram prioritárias no processo de decisão da produção. Este movimento de experimentação, permitiu que novos mercados surgissem, mas ao contrário dos mercados tradicionais (larga escala), estes novos mercados são de nichos, especializados e de pequeno volume. Alguns estudos antropológicos realizados, dizem que está aglutinação de pessoas ao redor de interesses comuns em ofertas de de produtos/serviços especializadas, pode ser chamado de “Neo-tribalização”.

    Cauda longa

    Esta “Neo-tribalização” pode ser vista claramente como funciona estes mercados especializados, eles possuem duas características que gostaria de esclarecer: em primeiro lugar estes os mercados especializados não não possuem o mesmo tamanho do que os mercados tradicionais de larga escala, em segundo lugar, cada mercado especializado apesar de pertencer a uma mesma categoria genérica, possuem características individualmente únicas. Vamos a um exemplo? Desde que o Napster criou a capacidade de troca (não vou me prender sobre os assuntos de Copyrights) de arquivos MP3 entre pessoas, o mercado fonográfico sofreu mudanças comportamentais. Apesar que todos nós consumimos músicas pela Web, um fato é que as nossas preferências nos tornam exclusivos e únicos, podemos observar o surgimento de grupos de interesse ao redor de pequenos temas musicas, tais como: grupos que gostam de músicas dos anos 70, grupos que só gostam de trilhas sonoras, grupos que gostam de debater sobre a sonoridade das notas musicas em músicas clássicas e assim por diante. Veja, todos coletivamente pertencemos ao grupo consumidores de música, mas os nossos interesses nos tornam individualmente diferentes, que em mercado gigante, podemos ter similaridades de gostos com outros indivíduos.

    Os comportamentos de exclusividade, personalização e ao mesmo economia de escala já ultrapassaram a linha antropológica e atingiram o capitalismo. O próprio surgimento de redes sociais na Web é uma demonstração que todos queremos nos conectar, mas mantendo a nossa indivualidade. Outro exemplo, é surgimento de mecanismos de buscas especializados (vertical engines search), que permitem realizar buscas apenas em blogs, imagens, notícias. Até mesmo grupos de sites voltados a busca por carros genericamente, carros de luxos, ou de imóveis e assim por diante.

    E para nós arquitetos, desenvolvedores, o que nos afeta? A cauda longa pode nos afetar em vários aspectos, um que sempre vem à minha mente é o equilíbrio na relação “Projetar um Software que seja genérico suficientemente para aceitar várias entradas X permite a personalização em níveis detalhados”. O que tenho visto é que as nossas soluções procuram um comportamento auto-ajustáveis (crescer e se adequar), mas que tenham processos automatizados de customizações, permite gerar pequenas versões para cada mercado, mas compartilhando um ambiente em comum. Estas tendências vêem de encontro às idéias SaaS (Software as a Service) , S+S (Software + Services). Para facilitar o entendimento, vamos pegar um exemplo que foi desenvolvido pelo nosso time de P&P. Mas antes de falar sobre o nosso exemplo, segue abaixo uma palestra do Chris Anderson sobre Cauda Longa.

    Exemplo de uma aplicação SaaS para Cauda Longa

    LitwareHR_thumb4

    Nós sabemos que várias empresas tem espaços para publicação de currículos nos seus sites. Em teoria, a grande maioria desenvolve pequenas soluções, por exemplo, formulários html, ou endereços de e-mail para que um remetente possa encaminhar. Neste cenário, temos um exemplo de mercado especializado, que poderia ser resumido em: empresas que com sites pequenos, e querem utilizar a internet com plataforma de coleta de talentos, as grandes normalmente tem suas próprias infra-estruturas de TI para cuidar disto.

    O nosso time P&P desenvolveu o projeto LitewareHR, ele consiste de um website que permite a qualquer um se cadastrar e provisionar um ambiente customizado para receber currículos. Está característica de criar um ambiente customizado é chamado de Multi-inquilino (Multitenant), ou seja, cada “inquilino” terá a sua própria versão, com as customizações que julgar importantes e tudo rodará no mesmo ambiente computacional.

    Então, que características da cauda longa conseguimos ver no exemplo acima?

    1. Identificação de um mercado especializado
    2. Utilização de ferramentas tecnológicas que tem um plataforma em comum gerando um ganho de escala, mas que ao mesmo tempo eu dou aos meus clientes o poder de escolha e personalização.

    Além destes pontos de personalização X escala, existem outros pontos que devemos considerar:

    1. Como “faturar” em cima do modelo personalização X escala?
    2. Quais pontos da minha arquitetura de banco de dados preciso ter atenção para atender o desejo de personalização?
    3. Qual é a taxa escalabilidade necessária para esta aplicação? Como estruturar minha aplicação para que suporte o crescimento adequado neste mercado de nicho, mas que ao mesmo tempo é desconhecido das estatísticas tradicionais?

    No Link http://files.skyscrapr.net/users/saas/sampleApp/Videos/LitwareDemo.wmv é possível ver uma demonstração do LitewareHR funcionando.

    Conclusão

    A internet e convergência digital vem interligando o mundo e criando novas experiências para os nossos clientes e consumidores. E uma delas é a cauda longa, que fez surgir mercados de interesses específicos. Podemos utilizar a Tecnologia da Informação como ferramenta para providenciar serviços que tenham economia de escala e ao mesmo possam disponibilizar recursos de personalização.

    Momentos de reflexão

    1. Hoje, quando eu estou concebendo a minha aplicação, estou visualizando que mercados? Os tradicionais que já atendo? Ou os futuros mercados especializados?
    2. Se eu for para uma abordagem SaaS, quais os modelos de faturamento que posso empregar para financiar a operação?
    3. Como eu estruturo a minha arquitetura para atender as demandas de crescimento X personalização de conteúdo X modelo de negócios SaaS?

    abs
    Condé

    Versão 1.0

  • Windows Azure e SQL Azure - Blog do Condé

    Princípios de Arquitetura - Disponibilidade

    • 1 Comments

    Boa noite a todos !

    Antes de escrever, gostaria de fazer uma correção, quando comecei a falar sobre estes princípios de arquitetura, eu tenho procurado é trazer à luz da discussão, quais são os atributos e princípios de pensamentos que norteam a construção de uma arquitetura. Disponibilidade e escalabilidade são atributos que toda a arquitetura deve pensar quando está sendo desenhada. Então a pergunta que me faço é quais princípios/idéias que precisamos refletir sobre arquitetura ? Está tem sido a pergunta motivadora destas reflexões. A correção sendo feita, vamos direta ao assunto.

    O princípio Disponibilidade está presente todas as arquiteturas, e está estritamente vinculado ao princípio Escalabilidade. Podemos entender a Disponibilidade, como a capacidade que uma solução tem de se manter funcional, apesar da ocorrência de falhas. Em português mais simplificado, “haja que houver, estará funcionando”. Os médicos chamam esta característica de resiliência.

    Devido a importância que a TI obteve nos últimos anos, a garantia de funcionamento do sistemas tornou-se  cada vez mais relevante. Imagine hoje, uma grande corporação sem e-mail? Ou a sua solução de CRM ficar fora do ar em pleno horário útil de trabalho? São estes tipo de perguntas, que chamam cada vez mais atenção para a disponibilidade.

    Quando falamos de disponibilidade, devemos considerar quais os aspectos que a aplicação foi desenhada. Vejamos um exemplo de uma aplicação de comércio eletrônico:

    • Os Servidores de Web estão rodando em balanceamento de carga?
    • Existe afinidade entre o visitante do site e os servidores?
    • Se está usando sessão ASP.Net, como ela está compartilhada entre os servidores?
    • E o servidor de banco de dados, está trabalhando em cluster?
    • Qual é o tipo de cluster (ativo/ativo, ativo/passivo) do banco de dados?

    E como qualquer aplicação, também precisamos nos preocupar com outros itens:

    • Atualização: Como serão realizadas as atualizações de sistema operacional, banco de dados ?
    • Suprimento de energia: Qual é a capacidade de autonomia do datacenter?
    • Segurança: Qual é o desenho de estrutura dos firewalls para proteger os servidores (web e banco de dados)?
    • Aplicação: A aplicação permite alterações (bugfixes, adição de módulos) on-the-fly? Ou preciso parar os serviços?

    A partir deste ponto, pode-se notar porque certas tecnologias implementam a capacidade de de alterar os seus componentes on-the-fly, um exemplo, são algumas DLLs do ASP.Net. Estás técnicas embutidas dentro das tecnologias permite a flexibilidade de disponibilidade ao arquiteto, desenvolver. Quem lembra do COM+ que precisava parar o serviço (shutdowm no processo W3wp.exe ou DLLHost.exe) para trocar a DLL?

    Por final é importante sempre ter em mente que disponibilidade está vinculada diretamente a capacidade de resposta da aplicação. Normalmente, a disponibilidade é medida como a taxa percentual de que a aplicação esteja on-line, em diversos projetos que participei já vi os números como 95%, 97% e até 99,9% do tempo disponível.

    Então, na sua próxima aplicação, primeiramente procure identificar qual é a taxa de disponibilidade esperada pela a sua aplicação, e posteriormente procure identificar quais técnicas, tecnologias e modelos que podem dar a flexbilidade necessária para que a sua aplicação mantenha o percentual esperado.

    Obrigado e T+
    Condé

    versão 3.0

Page 1 of 1 (5 items)