January, 2009

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

    Comunidade para Arquitetos

    • 1 Comments

    Boa tarde a todos !!

    Esta semana lançamos um grupo voltado para discussões sobre arquitetura (independente de ser arquitetura de soluções ou infra-estrutura), chama-se ARQBR – Arquitetos Brasil da Microsoft.

    Ela é gerenciada pelos Arquitetos da Microsoft (Otavio Coelho, Waldemir Cambiucci, Markus Christen e eu), o espaço é dedicado para trocar de idéias sobre arquitetura, produtos, roadmap e estratégias.

    Referência: http://arqbr.groups.live.com/

    Será um prazer, recebê-los.

    obrigado e t+
    Condé

    versão 1.0

  • Windows Azure e SQL Azure - Blog do Condé

    Janeiro 2009 Links – Azure, ALM, VSTS, Princípios

    • 0 Comments

    Bom dia a todos !

    Segue a lista resumida dos links deste mês de janeiro de 2009.

    Software + Services

    • Azure: Oferta Microsoft para Cloud Computing

    Princípios de Arquitetura

    ALM, VSTS

    Sistema Operacional

    Geral

    • World Meters : Site com estatísticas em tempo real
    • Windows Live: Nova versão do Windows Live e suas ferramentas (Messenger, Writer)

    Obrigado e até +

    Luciano Condé

    versão 1.3

  • Windows Azure e SQL Azure - Blog do Condé

    Princípios de Arquitetura – Escalabilidade

    • 1 Comments

    Bom dia a todos !

    Recentemente estive envolvido em um projeto, onde escalabilidade era o tema do dia, este projeto precisava ter um design que conseguisse crescer e atender cada vez um número maior de requisições e ainda manter a desempenho dentro do aceitável. Não vou me delongar em falar do projeto, até mesmo que é confidencial, mas gostaria de compartilhar com vocês, uma reflexão sobre escalabilidade.

    Bem, desde que a tecnologia da informação assumiu o seu papel na nossa sociedade, toda e quaisquer informações que geramos e trocamos, começaram a ganhar uma faceta digital (taxa de digitalização de informação). Se pensarmos que nós, seres humanos, somos geradores/consumidores de informação 24 horas por dia, então, vocês podem ter uma idéia abstrata de qual é a quantidade de informação que é gerada/consumida por dia em planeta de 6,7 bilhões de pessoas (acompanhe em tempo real em: http://www.worldometers.info/). Um estudo da Universidade de Berkeley na California fez um estudo sobre a quantidade de informação gerada pelo mundo, indica que no ano de 2003 uma pessoa gerou cerca de 800 MB de informação, isto multiplicado pela quantidade de pessoas mundo temos cerca de 6 Exabytes de dados (eu disse, Exabyte = 1 152 921 504 606 846 976 de bytes). São números realmente astrônomicos, isto no ano de 2003, uma época pré-Web 2.0, SOA.

    E é neste ponto, que surge a pergunta “Como projetar soluções que possam lidar com cada vez com mais informação e manter o desempenho dentro de parâmetros aceitáveis?” , fundamentado nesta pergunta, surgiu o princípio de Arquitetura, a qual damos os nome de Escalabilidade. Se for para definir sobre escalabilidade (com devido respeito às definições amplamente divulgadas na internet), diríamos que é a capacidade que uma solução tem em absorver mais requisições (independente da definição do teremo) e ao mesmo tempo manter desempenho dentro de parâmetros definidos.

    Para nos orientar nesta reflexão, a escalabilidade segue duas linhas-mestre:

    • Escalabilidade horizontal:Consiste em adicionar mais máquinas (computadores reais/virtuais) ao desenho da sua solução de tal modo que possa distribuir as requisições entre elas.
    • Escalabilidade vertical:Consiste em melhorar os componentes de hardware (memória, cpu) da atual solução.

    Identificar o uso destas linhas dentro do desenho de uma solução é o trabalho de equilibrar o desempenho X crescimento, ao mesmo tempo que mantendo a transparência do consumo da solução pelo cliente/visitante/usuário. Vamos a um cenário simples, suponha que está se pensando em construir um site de comércio eletrônico para um cliente qualquer, quais os componentes preciso observar para definir uma arquitetura?

    • As camadas lógicas (apresentação, regras de negócios e dados) estão relativamente desacopladas entre si?
    • A modelagem de classes permite identificar classes consumidores de serviços e classes fornecedoras de serviços?
    • Como foi pensado sobre a afinidade do visitante ao seu perfil de compras?
    • Hospedarei em hardware próprio? Datacenter tercerizado? Ou plataformas de Cloud?
    • Como foi definido o gerenciamento de conflitos quando 2 ou mais visitantes quiserem o mesmo produto ao mesmo tempo?

    Veja que neste exemplo de cenário, foram levantadas tantas perguntas técnicas, como perguntas de requisitos, mas por quê? O motivo de que desenhar soluções com escalabilidade, consiste em equilibrar requisitos funcionais x requisitos técnicos. Um exemplo, é se você pensou construir sua aplicação somente com stored procedures, provavelmente terá dificuldade em escalar a camada lógica de acesso à dados. Ou, se você pensa em usar afinidade por sessão do ASP.Net por ter dificuldade em criar um Web farm.

    Neste ponto, é que nos últimos anos surgiram várias plataformas de desenvolvimento na Web, por exemplo o Azure, através de sua estrutura de virtualização/provisionamento de servidores, um site de comércio eletrônico pode contratar uma capacidade ilimitada de plataforma e assim atender a mais requisições ao mesmo tempo. Para tanto, desenvolver nesta plataforma exige outros conhecimentos que vão além de simplesmente criar um site de comércio eletrônico em 3 camadas, outros mindsets de conhecimento são exigidos. Um post interessante é do Waldemir Cambiucci (Arquiteto na MS e companheiro de depto), sugiro a leitura: http://feeds.feedburner.com/~r/wcamb/~3/479264277/o-desenvolvimento-live-e-o-windows-azure-o-coment-rio-que-virou-post.aspx

    Então, não existe solução ideal? Eu acredito que não, o que existe é identificar restrições, situações e procurar um equilíbrio adequado dentro da sua solução. Assim, no seu próximo projeto, procure:

    • Identificar os serviços funcionais que o seu produto disponibilizará ao mundo (internet ou corporativo)
    • Identificar como estes serviços são orquestrados internamente e quais as camadas (dados, regras de negócios, segurança, etc) se relacionam entre si.
    • Identificar quais ofertas tecnológicas de fornecedores podem lhe auxiliar no melhor desenho da sua arquitetura
    • Pensar fora da caixa, às vezes, nem tudo é resolvido simplesmente por banco de dados ou por código. A resposta pode estar em hardware, fornecedor ou em novos algoritmos.

    Balancear os requisitos técnicos e funcionais, atendendo as demandas dos nossos clientes e procurando manter em mente, quais são as ofertas novas são os segredos para o sucesso de uma solução.

    Referência:

    Post Waldemir Cambiucci: http://feeds.feedburner.com/~r/wcamb/~3/479264277/o-desenvolvimento-live-e-o-windows-azure-o-coment-rio-que-virou-post.aspx

    Azure: http://www.microsoft.com/azure/default.mspx

    Estatísticas em tempo real: http://www.worldometers.info/

    Estudo sobre a quantidade de informação gerada no mundo: http://www2.sims.berkeley.edu/research/projects/how-much-info-2003/

    abs e obrigado !
    Condé

    versão 1.35

  • Windows Azure e SQL Azure - Blog do Condé

    Windows 7 Beta disponível (E outros)

    • 0 Comments

    Bom dia a todos !

    Como devem saber, na semana passada, o Steve Ballmer apresentou o beta público do Windows 7 na CES 2009 (Consumer Electronics Show). Para aqueles leitores do meu blog, segue abaixo o link para baixá-lo:

    Referência: http://www.microsoft.com/windows/windows-7/beta-download.aspx

    Além do Windows 7, também foi falado do novo Windows Live (http://download.live.com).

    E correndo pela raia de fora, o Windows Server 2008 R2 – Beta público, que está disponível em http://www.microsoft.com/windowsserver2008/en/us/R2-Beta.aspx.

    abs e t+.

    Condé

    versão: 1.5

  • Windows Azure e SQL Azure - Blog do Condé

    Nova VPC Visual Studio Team System 2008

    • 1 Comments

    Bom dia a todos !

    Conforme em posts anteriores, eu publiquei os links para as nossas máquinas Virtuais em VSTS 2008, o único problema é que elas estavam com a data de expiração para a 31 de dezembro de 2008, mas isto já foi resolvido e já republicamos as novas com a data de expiração para 31 de dezembro de 2009. Segue os novos links:

    As imagens para Virtual PC/Virtual Server são compatíveis Virtual PC 2007 SP1 e Virtual Server 2005 R2 SP1.

    As imagens para Hyper-V contém apenas o VHD, então é necessário a configuração.

    Além da data de expiração, houve algumas alterações interessantes, vejam:

    • A última versão do “Virtual PC additions”
    • Os últimos updates do Windows (até 01/12/2008)
    • SP1 do Team Foundation Server 2008
    • SP1 do Visual Studio 2008 Team Studio
    • SP1 do Team System Web Access
    • Versão de Outubro de 2008 do Team Foundation Power Tools
    • A última versão do provider MSSCCI
    • Team Explorer 2005 (permite que trabalhe com Visual Studio 2005)
    • O GDR para o Visual Studio 2008 Database Edition
    • Os aplicativos Process Explorer, Process Monitor e Background Info

    Obrigado e até +

    Luciano Condé

    versão 1.5

Page 1 of 1 (5 items)