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

    Estou indo para as nuvens - Para o alto e avante…

    • 5 Comments

     

    221020101531

    Boa tarde a todos !

    Nos últimos 2 anos, venho trabalhando na Microsoft como “Arquiteto de Soluções”. O meu objetivo era promover junto aos parceiros e comunidades das Microsoft a adoção de novas tecnologias e boas práticas de arquitetura com os nossos produtos e serviços. Ao longo desta trajetória acumulei alguns resultados que compartilho com vocês: 

      • 12 palestras em 3 Tech-Eds
      • 8 Encontros de Arquitetos
      • 41 palestras para comunidade/parceiros de diversos temas (Windows Phone 7, Azure, Entity Framework, Software Factory, Design Patterns, SQL Server, Sync Framework e etc.)
      • 29 Webcasts para MSDN e Technet
      • 45 Podcasts
      • Mais 45.000 visitas nos meus vídeos do Channel 9

    E como parte natural da vida, estou em processo de migração para uma nova posição dentro da Microsoft. A partir desta semana, começo a trabalhar como Gerente de Produto do Windows Azure.

    E o que o Gerente de Produto faz na Microsoft? O gerente de produto é o indivíduo responsável em garantir o posicionamento adequado do nosso produto frente ao mercado. Como podem ver, além da parte técnica, um gerente de produto precisa falar sobre negócios, ações de marketing e garantir que os nossos clientes, parceiros estejam tirando todo o proveito possível dos nossos produtos.

    E por que o Windows Azure? Como todos sabem, estamos passando por uma revolução silenciosa, onde a união entre telecomunicações com alcance global e amplo poder de computação disponível, tem permitido o surgimento de grandes usinas de computação e armazenamento massivo de dados. O Windows Azure é exatamente um serviço da Microsoft onde desenvolvedores, empresas, clientes e parceiros podem utilizar desta revolução a custo baixo e de fácil implementação.

    Como podem sentir, a chave do sucesso para aplicações neste novo cenário não é apenas entender modelos de negócios, mas também entender tecnicamente como estas tecnologias podem agregar na construção dos novos modelos de aplicações. E é exatamente, onde o meu conhecimento técnico pode agregar na transformação da plataforma Windows Azure em um sucesso.

    Agora é como diria o Superman “Para o alto e avante !”. Aproveito, deixo um vídeo nostálgico :

     

    Abs
    Condé

    versão 1.2

    PS: Agradeço ao Waldemir Cambiucci (companheiro de arquitetura) pela charge.

  • Windows Azure e SQL Azure - Blog do Condé

    Podcast sobre Windows Azure para a comunidade .netinterior

    • 0 Comments

    Boa tarde a todos !

    Na semana passada eu e Fabrício Sanchez (@SanchezFabricio) da comunidade .NetInterior realizamos uma podcast sobre a plataforma Windows Azure. Neste podcasts discutimos sobre os motivos do surgimento do cloud computing, quais os serviços que a plataforma Windows Azure oferece e como contratar estes serviços. Fica aqui os links:

    Agradeço ao Fabrício e o pessoal da comunidade .NetInterior pelo convite.

    abs
    Condé

    versão 1.0

  • Windows Azure e SQL Azure - Blog do Condé

    Anúncio – Patch já disponível para correção de vulnerabilidade no ASP.NET

    • 0 Comments

    Boa noite a todos !

    Para quem não acompanhou, o Microsoft Security Advisor publicou uma vulnerabilidade de segurança que ocorria no ASP.NET (todas as versões). Esta vulnerabilidade explorava o oráculo para geração de chaves, especialmente usadas para criptografar conteúdos do VIEWSTATE. Desta maneira, era possível explorar esta brecha e submeter requisições para o ASP.NET/IIS afim de capturar arquivos de uma aplicação (por exemplo, web.config).

    O ScottGu publicou uma série de posts explicando como funcionava esta vulnerabilidade e algumas soluções temporárias. Estas soluções temporárias deveriam ser usadas até o que time publicasse a correção final. Bem, no dia 28 de Setembro, o time do ASP.NET publicou a correção e a disponibilizou via Windows Update.

    Importante, todos que utilizem ASP.NET nas suas aplicações (Sharepoint inclusive) devem instalar estes patches. Quem tem aplicação hospedada no Azure, leia o tópico Windows Azure.

    Localização dos Patches

    Download dos patches: http://weblogs.asp.net/scottgu/archive/2010/09/28/asp-net-security-update-now-available.aspx

    Procedimento para atualização via Windows Update: http://weblogs.asp.net/scottgu/archive/2010/09/30/asp-net-security-fix-now-on-windows-update.aspx

    Windows Azure

    As aplicações ASP.NET hospedadas no Windows Azure também sofriam com esta vulnerabilidade. Desta maneira o time já lançou a versão do Windows Azure Guest OS 1.7 onde já tem esta correção embutida.  É muito importante entrar no portal do Windows Azure e solicitar a migração para esta versão OS. Caso já esteja configurado para upgrade automático, o Windows Azure propagará na sua rede interna o update.

    image

    abs
    Condé

    versão 1.1

  • Windows Azure e SQL Azure - Blog do Condé

    Link Interessante – Como enviar sugestões de melhoria para a plataforma Azure

    • 0 Comments

    Boa noite a todos !

    Dado um tempo nas “Condé Demo” (em breve vou publicar mais), o time do Azure tem um site onde você pode enviar suas sugestões de melhoria e votar nas disponíveis. Há várias sugestões que está no roadmap do time e algumas que são importantes. Então, sugira o que a nossa plataforma pode melhorar.

    Ref.: http://www.mygreatwindowsazureidea.com/forums/34192-windows-azure-feature-voting

    abs
    Condé

    versão 1.0

  • Windows Azure e SQL Azure - Blog do Condé

    Palestra sobre Desenvolvimento para Windows Azure e SQL Azure no Evento de Parceiros

    • 1 Comments

    Boa noite a todos !

    Na última quinta-feira (19/08/2010), fiz uma palestra sobre o “Desenvolvimento para Windows Azure e SQL Azure” no evento de parceiros e competividade. Particularmente, a palestra foi ótima, com excelente perguntas sobre como usar migração, utilização, boas práticas. Para aqueles que não puderam estar no evento, deixo aqui a apresentação,

    abs
    Condé

    versão 1.1

  • Windows Azure e SQL Azure - Blog do Condé

    Condé Demo – Usando o Windows Azure CDN

    • 0 Comments

    Boa tarde a todos !

    Já imaginou algum mecanismo de distribuição de conteúdo multimídia, tais como vídeos, fotos, imagens, em escala global? Esta oferta de distribuição de conteúdo é conhecida no mercado como CDN (Content Delivery Network). Desde do dia 01/07/2010, o Windows Azure está fornecendo um CDN para distribuição de conteúdo de blobs.

    O Windows Azure CDN tem cerca de 18 localizações globalmente distribuídas (Estados Unidos, Europa, Ásia, Austrália e América do Sul). Ele armazena no cache de cada uma destas localizações uma cópia dos blobs configurados, fornecendo assim o máximo da experiência em distribuição e desempenho de download de conteúdo de um blob.

    Para habilitar o CDN em um blob, o Windows Azure Portal fornece uma URL no seguinte formato: “http://<guid>.vo.msecnd.net/”. Esta URL pode ser usada para acessar a cópia do blob dentro do CDN. Veja na “Condé Demo” abaixo como utilizar o Windows Azure CDN.

    Condé Demo

    Está “Condé Demo” está dividida em duas partes. E para baixar o código-fonte desta demonstração, basta acessar o link: http://cid-9937d7265a1b7578.office.live.com/self.aspx/.Public/CondeDemoWindowsAzureCdn/DemoPutAzureStoragePublico.zip

    Parte 1- Como usar o Windows Azure CDN – Parte 1

    Get Microsoft Silverlight

    Parte 2 – Como usar o Windows Azure CDN – Parte 2

    Get Microsoft Silverlight

    abs e T+
    Condé

    versão 1.4

  • Windows Azure e SQL Azure - Blog do Condé

    Condé Demo – Criando uma aplicação de conversão de vídeos com o Windows Azure Drive

    • 0 Comments

    Boa noite a todos !

    O Windows Azure já possui um recurso chamado de Local Storage, onde um diretório era montado dentro da máquina virtual e assim uma aplicação poderia colocar os seus arquivos temporários. Para utilizar o Local Storage, basta adicionar algumas entradas dentro do arquivo Service Definition, onde estabelece o tamanho do armazenamento. Cada role tem um conjunto máximo de espaço de armazenamento, sugiro consultar as ofertas do Azure antes de implementar o uso do recurso.

    Mas uma grande novidade que todos precisam era a capacidade de montar um drive a partir de um arquivo VHD. Esta novidade veio com o Windows Azure Drive. Através dele, aplicações hospedadas dentro do Azure podem utilizar as APIs NTFS para acessar drives (sim, o clássico C:). Assim, as classes do namespace System.IO tornam amplamente suportadas.

    O Windows Azure Drive é implementado através de um Windows Azure Page Blob, que por sua vez, contém um VHD formatado no padrão NTFS. Este VHD é criado a partir das próprias ferramentas do seu sistema operacional

    Para exemplificar o poder do Azure Drive, montei uma “Condé Demo”. Para entender o cenário de uso, a “Condé Demo” apresentada é uma aplicação de conversão de vídeos (sim, fiz um Youtube).  Basicamente, um usuário realiza o upload de um vídeo e uma WorkerRole converte o vídeo para o formato WMV. Veja mais detalhes no slide abaixo.

    Arquitetura da demonstração

    Condé Demo

    Devido a complexidade de demonstração, esta “Condé Demo” está dividida em duas parte. E para baixar o código-fonte desta demonstração, basta acessar o link: http://cid-9937d7265a1b7578.office-df.live.com/self.aspx/.Public/CondeDemoWindowsAzureDrive/AzureVideosConverter.zip

    Parte 1 – Os conceitos do Azure Drive e como preparar um VHD

    Get Microsoft Silverlight

    Parte 2 – Como utilizar o Azure Drive dentro do cenário de conversão de vídeos

    Get Microsoft Silverlight

    abs e T+
    Condé

    versão 1.1

  • Windows Azure e SQL Azure - Blog do Condé

    Condé Demo – Usando as APIs PutBlock/PutBlockList para uploads em um Blob

    • 0 Comments

    Boa tarde a todos !

    A “Condé Demo” de hoje foi fruto de uma reunião de arquitetura com um ISV que desenvolveu um produto para marketing promocional de campo. Basicamente, o produto consiste de registrar através de vídeos/fotos ações de marketing de guerrilha dentro de bares/resturantes. Você sabe quando aquela modelo vai até a sua mesa de bar oferecer aquela garrafa de uísque com desconto “imperdível” ? Bem isto é uma ação de marketing de guerrilha.

    A motivação para a “Condé Demo”

    Este produto foi desenvolvido sobre o Azure, com intuito de hospedar os vídeos/fotos registrados em uma ação de marketing, além é claro da aplicação de visualização de vídeos/fotos. Basicamente o fluxo de publicação, utilizando o Azure, segue o exemplo abaixo:

     

    image

    Esta abordagem é totalmente aceita, porém começaram a surgir alguns problemas na abordagem:

    • E se a conexão entre o celular e a webrole cai no meio de um upload ?
    • Como enviar múltiplas vídeos/fotos ao mesmo tempo e garantir que chegam até o Blob?
    • Como fazer upload a partir de celulares que tem browsers limitados?

    Assim, após a reunião com o time de desenvolvimento, dicustimos algumas sugestões para otimizar o processo de upload, e chegamos juntos as seguintes :

    • Realizar o upload direto do celular para o Blob através das APIs REST que a Microsoft disponibilizou.
    • Através das APIs PutBlock e PutBlockList, a aplicação do celular pode fazer o upload através de blocos. Com isto se a rede de telefonia, por alguma razão ficasse indisponível, a aplicação poderia retornar o upload a partir do ponto exato.
    • Para os celulares que não rodam .NET Framework, poderiam trabalhar com Shared Signatures, afim de promover a interoperabilidade.

    O resultado da nova arquitetura ficou assim:

    image

    Condé Demo

    Achei interessante registrar passo-a-passo como utilizar o recurso de PutBlock/PutBlockList dentro de uma demonstração. Para baixar o código-fonte desta demonstração, basta acessar o link: http://cid-9937d7265a1b7578.office.live.com/self.aspx/.Public/CondeDemoPutBlockPutBlockList/t201006131218.zip

    Get Microsoft Silverlight

    abs e T+
    Condé

    versão 1.3

  • Windows Azure e SQL Azure - Blog do Condé

    Condé Demo – Construindo uma solução auto-escalável dentro do Windows Azure

    • 1 Comments

    · Boa noite a todos !

    Esta “Condé Demo” é a mais antiga que já publiquei no Channel9. Ela foi concebida para o evento S+S Day de Dezembro de 2010, apesar dos 6 meses de idade, continua muito atual. Em algumas reuniões com parceiros e start-ups uma das perguntas que surgem é “O Windows Azure suporta auto-escalabilidade ?”, a primeira resposta é não. Então, é neste momento que surge a expressão de interrogação, “Como assim? Não estamos falando de computação elástica?”, bem primeiramente é necessário esclarecer que a capacidade computação elástica refere-se a possibilidade crescer ou encolher o uso de poder de processamento e armazenamento no Azure. Já quando falamos sobre auto-escalabilidade, na realidade é a existência de uma a inteligência em reconher um padrão de comportamento de uma aplicação, e assim baseado em conjunto de thresholds/SLAs/Notificações, esta inteligência deve incrementar ou encolher o consumo de recursos da aplicação. 

    Bem, pode-se notar que determinar qual comportamento padrão e os quais os thredsholds são medidas estritamente ligadas à aplicação e não a uma plataforma de serviços. Mas nem tudo são problemas, através de um conjunto de recursos do Azure é plenamente possível a construção de aplicação que suporte auto-escalabilidade.

    Em novembro de 2009, em um bate-papo com o Arquiteto-Chefe Otavio Pecego, ele lançou o desafio de apresentarmos no S+S Day uma solução que suportaria auto-escalabilidade. O desafio foi aceito e concluído com sucesso.

    Teoria do Controle

    A inspiração para a construção da aplicação de auto-escalabilidade veio da Teoria de Controle da Mecânica . Para entender esta teoria, vamos a um exemplo comum, “Como manter a velocidade constante de um veículo, independente da carga que ele transporta?”; agora imagine como construir um mecanismo para responder à esta pergunta. Para que este motor possa manter a sua velocidade é necessário que uma inteligência esteja continuamente analisando os fatores externos (condição da estrada, resistência do evento, peso atual do veículo), e uma vez tendo estes fatores externos esta inteligência pode enviar comandos aumentar ou reduzir a aceleração do veículo.

    Na imagem abaixo, você pode ver o desenho padrão da Teoria do Controle. Nela estão presentes alguns aspectos importantes, são eles:

    o Processo: Entidade que recebe os comandos do Controlador e executa as ações

    o Controlador: Entidade que compara o valor desejado (SP) com o valor do processo (PV) e determina com base em um algoritmo qual é o valor de correção que o Processo deve executar para aproximar do valor desejado (SP).

    o Feedback: Conjunto de dados que o controlador utilizará para medir o quanto deve incrementar ou reduzir o valor do processo (PV), baseado na relação Valor Desejado (SP)  X Valor do Processo (PV).

    clip_image001

    Patterns

    Aplicando a Teoria do Controle dentro de uma solução para cloud computing, podemos ver dois patterns interessantes que podemos ver. O primeiro pattern chama-se “Scale Unit”, podemos defini-lo como a quantidade de recursos que uma aplicação consome para atender uma demanda definida. Um exemplo deste pattern seria definirmos, por exemplo, que uma aplicação para atender 250 usuários simultaneamente ela precisasse de 1 WebRole e 1 WorkerRole.

    clip_image002

    Já o segundo pattern é o “Heart Beat”, este pattern funciona como uma coleta contínua de dados estatísticos das Roles/Scale Units, e assim baseando em threshold, o mecanismo de Controle envia comandos de incremento ou decremento no número de Scale Units que a aplicação vem consumindo ao longo da sua execução.

    clip_image003

    E uma vez o “Heart Beat Service” detecte alguma anomalia no desempenho da aplicação, ele envia para a aplicação o comando de incrementar o número de “Scale Units” e assim consegue manter o desempenho esperado.

    Arquitetura da Demonstração

    Uma vez conhecendo o modelo e os patterns apresentados, chegou o momento de vermos qual é a arquitetura da aplicação apresentada na demonstração. O propósito da aplicação é realizar cálculos de números fatoriais que são submetidos para uma fila do Windows Azure Storage. Uma vez estes números são submetidos para uma fila, um WorkerRole captura estes números, calcula e escreve dentro uma table.

    Além disso, uma aplicação de monitoramento (isolada do ambiente Azure) comporta como “Heart Beat”, coletando continuamente o número de itens pendentes na fila. E se o número de itens pendentes ficar acima do threshold, a aplicação de acompanhamento envia uma requisição de incremento do número de WorkerRoles. E vice-versa, e o número de itens ficar abaixo do threshold, ela solicita que reduza o número de WorkRoles.

    clip_image004

    Código-fonte e documentos

    Conteúdo

    Link

    Observações

    Pré-requisitos para a produção

    Código-fonte para a aplicação a ser hospedada no Azure

     

    Esta solução foi desenvolvida em cima do Visual Studio 2010 Ultimate

    Verifique o arquivo Readme.txt para saber onde deve fazer as modificações abaixo

    Projeto SetupAzureStorage

    1. Configurar dentro do app.config as chaves “AzureStorage” e “AzureKey” com os valores para acessar o Windows Azure Storage
    2. Executar a aplicação e pedir para criar a fila e a tabela dentro do Windows Azure Storage

    Projeto SPSDayDemoAutoScaling01

    1. Configurar no arquivo serviceconfiguration.csfg os valores para “DataConnectionString” e “DiagnosticsConnectionString” com os valores do Windows Azure Storage

    Código-fonte da aplicação de monitoramento.

     

    Esta solução foi desenvolvida em cima do Visual Studio 2008 VSTS

    Em alguns casos, pode ocorrer falha de rede na execução do aplicativo, sugiro aumentar o tempo de atualização do gráfico.

    Verifique o arquivo Readme.txt para saber onde deve fazer as modificações abaixo

    Projeto SPSDayDemoAutoScaling01Health

    1. Configurar dentro do app.config as chaves “AzureStorage” e “AzureKey” com os valores para acessar o Windows Azure Storage
    2. Configurar a chave “CertificateFilename” dentro do app.config o caminho do arquivo de certificado (extensão .CER).
    3. Ter um certificado válido (Self-signed certificate é suficiente) registrado localmente na máquina e também dentro do Azure Portal
    4. Configurar dentro do app.config a chave  “SubscriptionID” com o SubscriptionID que está dentro da parte Account do Azure Portal

     Condé Demo

    Abaixo tem o vídeo do Channel 9, se quiser ver mais vídeos entre em http://channel9.msdn.com/niners/luconde

    Get Microsoft Silverlight

    abs e T+
    Condé

    versão 1.3

  • Windows Azure e SQL Azure - Blog do Condé

    Condé Demo - Demonstração de como criar, consumir e hospedar serviços WCF no Windows Azure

    • 0 Comments

    Boa noite a todos !

    Mais uma “Condé Demo” publicada, nesta edição procuro demonstrar os principais passos e as preocupações na construção e hospedagem de serviços WCF dentro do Windows Azure.  Os passos reproduzidos nesta demonstração são:

    1. Quais são os requisitos para criar um serviço WCF
    2. Como criar o serviço WCF no Visual Studio 2010
    3. Como consumir o serviço WCF que está rodando no Development Fabric
    4. Quais as dicas importantes para configurar o serviço WCF dentro do Windows Azure
    5. Como publicar o serviço WCF dentro do Windows Azure

    Abaixo tem o vídeo do Channel 9, se quiser ver mais vídeos entre em http://channel9.msdn.com/niners/luconde

    Get Microsoft Silverlight

    abs e T+
    Condé

    versão 1.2

Page 5 of 13 (129 items) «34567»