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é

    Um insight sobre o desenvolvimento para smartphones + nuvem

    • 3 Comments

     

    DevicesToolkits[1]

    Bom dia a todos !

    Durante anos, o desenvolvimento de aplicações vem sofrendo o efeito pendular do desenvolvimento ora centralizado no cliente (client-centric), ora centralizado no servidor (server-centric). Hoje, com proliferação dos dispositivos móveis (smartphones, tablets) e a liderança pelos sistemas operacionais como iOS, Android, WP7, podemos notar que as aplicações necessitam de uma arquitetura cliente-servidor híbrida.

    Este movimento significa que os desenvolvedores/empresas precisam juntar mais peças do que antes. Como conciliar linguagens, necessidades, frameworks, alta-disponibilidade em uma aplicação para smartphones ? Em resposta a esta pergunta, sentimentos o surgimento de plataformas que procuram tratar a funcionalidade híbrida de uma maneira mais transparente e produtiva. Estas plataformas procuram incluir desde armazenamento de dados, notificar acontecimentos e até mesmo autenticar os usuários em múltiplos serviços.

    Do Cliente, passando pelo servidor para o Híbrido

    Apesar de eu ser relativamente novo (35 anos), passei por alguns momentos importantes das indústria da computação no Brasil. Em me lembro no final dos anos 80 para 90, que comecei a trabalhar com ambientes caracteres e algumas vezes baseados no ambiente cliente. Naquele período, o mundo era menos conectado, as redes locais ainda estavam aparecendo aos poucos (LANtastic, Netware e Windows NT), naquele momento os usuários acreditavam que as aplicações podiam rodar em modo offline, e que os dados deveriam estar armazenados nos seus discos locais (algumas vezes, nos disquetes de 5 1/4 ou 3 1/2).

    À medida que as redes locais aumentavam o seu desempenho e os sistemas operacionais ganharam novas capacidades, algumas atividades que antes eram feitas no cliente passaram para o servidor, exemplo clássico, processamento e armazenamento de dados em banco de dados relacional (surgem os bancos Oracle, Sybase, SQL Server e outros). Este movimento tornou-se cada vez mais forte com o aparecimento da Web. Na realidade, a Web (meados de 00’s), criou-se a rede das redes, aplicações foram aos poucos se movendo para a Web afim de compartilhar entre si os seus dados (mesmo que de maneira muito rudimentar).

    Neste momento, é que vemos a transformação do browser no cliente de vital importância na perspectiva do usuário, de qualquer lugar, bastava abrir o browser, ir para uma URL e pronto ! Da perspectiva do desenvolvedor, o pêndulo se moveu para o desenvolvimento centralizado no servidor (server-centric). Basicamente, estamos falando um modelo de browser requisita uma ação, o servidor a processa e retorna o resultado. Quem nunca, começou a desenvolver os seus formulários para receber dados no padrão (post->->action->result). O ASP (Active Server Pages) foi um modelos mais comumente usados neste período e com a sua ferramenta de desenvolvimento Visual Interdev.

    Avançando no tempo até os nossos dias atuais, a rede e a disponibilidade da comunicação tornaram parte vitais de várias empresas. Em recente podcast, ouvi que devemos mudar a contabilização de tempo na Internet para tempo que não estamos conectados. Afinal de contas, através do seu celular você recebe notificações de e-mail, recados do Facebook, tweetes que te colocam em destaque e assim vai (always on). É claro, que esta disponibilidade ainda não é totalmente presente no Brasil (basta viajar para interior de Minas Gerais, e ver que estamos carentes de infraestrutura de telecomunicações), mas apesar desta “questão”, as nossas redes evoluíram muito (de modens de 9.600bps para redes de 1 MB mesmo no interior de Minas Gerais, é eu sei pois estive lá há 4 dias atrás).

    Nesta jornada, os desenvolvedores/empresas encontram uma necessidade diferente, os nossos usuários querem que suas aplicações em smartphones estejam sempre online e acessível de qualquer lugar. Querem estar conectados conectados 24 horas por dia para receber as informações, dados e notificações mesmo que a rede não esteja disponível.

    Desenvolvimento para uma arquitetura híbrida é complicado

    Para os desenvolvedores/empresas reunir as capacidades online e offline não é tarefa fácil. Isto significa reunir para o desenvolvimento de uma simples aplicação: estilos de desenvolvimento em múltiplos ambientes (celular e nuvem), múltiplas linguagens de programação (C#/Silverlight, Object-C, Java) e até mesmo em IDEs diferentes (Eclipse, Visual Studio e outros). Além disso, o modelo deve contemplar a conexão, sincronização de dados de maneira que aparentam sempre disponíveis (online), com centralização de dados em modo offline; e manter sempre um ambiente de alta-disponibilidade para que os dados nunca se percam.

    Combinando todos estes aspectos, ficou claro que a taxa de produtividade ficou baixa. E com este “problema” em mãos que podemos ver o surgimento das plataformas de nuvem para desenvolvedores.

    As Plataformas

    Nestes últimos anos, vemos o surgimento de várias plataformas de nuvem. Há várias no mercado, que vão desde de amplo uso (Amazon, Azure, AppEngine), até as mais centralizadas em frameworks/linguagens (Heroku, Mailgun, dotCloud). Todas estas plataformas de nuvem tem um próposito em comum: aumentar a produtividade dos desenvolvedores/empresas, permitindo que eles se concentram no desenvolvimento da aplicação ao invés de detalhes de uma infraestrutura.

    No caso do Windows Azure, é ele quem cuidará dos detalhes da redundância dos dados, conectividade na Internet, alta-disponibilidade do serviço e etc. O que um desenvolvedor/empresa precisa apenas é aprender um conjunto de APIs (Application Programming Interface) para consumir os seus serviços. Sim, uma parte de sua arquitetura você deixará de ter o controle e delegará para um terceiro, mas afinal de contas não é este o movimento natural do mercado? Nem todo mundo consegue reunir em uma mesma cabeça: perfeito pizzaolo, desenvolvedor, executivo e especialista em reatores nucleares. Em algumas funções nos concentramos mais e em outras simplesmentes deixamos para que o mercado possa fazer por nós.

    Aumentar a produtividade através da concentração no desenvolvimento da aplicação é dos principais motivadores da inovação na Plataforma Windows Azure. A Microsoft vem lançado continuamente plugins, APIs, bibliotecas e todo o vasto material para que desenvolvedores/empresas possam mover de maneira mais adequada e eficiente suas aplicações para a nuvem. Veja os anúncios mais recentes.

    O que venho encontrando em várias palestras, reuniões com clientes/parceiros, desenvolvedores e comunidades é alto interesse no desenvolvimento para Smartphones + Windows Azure. Por outro lado, com toda a mudança no mercado, existem os “receios”. Uma mensagem que sempre procuro mostrar são as dores que muitas tem, mas se acostumaram a sentir. Quem nunca preciso conectar aplicações entre si? Quem nunca teve um site que caiu por excesso de acesso ? Quem nunca precisou integrar dados, aplicações e dispositivos e sentiu o parto que foi? Acredito que precisamos pensar além do óbvio, a produtividade é algo inerente ao mercado, quanto mais rápido, melhor e eficiente; maior a tendência de ter sucesso. Quem nunca gostou de mostrar “what the next big thing”?

    Onde busco mais informações?

    Para que aquelas empresas/desenvolvedores que gostaram do post, deixo aqui alguns links para download :

    abs e T+
    Condé

    versão 1.0

  • Windows Azure e SQL Azure - Blog do Condé

    Condé Demo–Usando o Remote Desktop no Windows Azure

    • 3 Comments

    Boa noite a todos !

    Com o Windows Azure SDK 1.3, a plataforma Windows Azure trouxe uma série de inovações para facilitar o debugging e controle das aplicações. Um dos recursos mais pedidos era o "Remote Desktop", ou seja, a capacidade de acessar remotamente as instâncias de uma aplicação.

    O objetivo desta “Condé Demo”é apresentar o passo-a-passo, de como configurar uma aplicação para usar o "Remote Desktop".

    abs e T+
    Condé

    versão 1.0

  • Windows Azure e SQL Azure - Blog do Condé

    SaaS – Série - Cenário Fictício – Considerações iniciais

    • 3 Comments

    Boa tarde a todos !

    Em posts anteriores sobre SaaS, descrevi que o crescimento e a divisão do mercado em pequenos nichos específicos, abriu-se novas oportunidades. Mas diferente dos modelos tradicionais de atuação, a Internet e a tecnologia permitem um alinhamento “Economia de Escala X Personalização”. Podemos ver que a abordagem SaaS (multi-inquilino, novos modelos de negócios, automatização de processos) trás inovação para players já estruturados no mercado.

    Para tornar o exercício mais real gostaria de propor um cenário fictício, onde poderemos, exercitar as assuntos do SaaS. Neste cenário, apresento a idéia de um fornecedor de software, que descobriu uma oportunidade de fornecer os seus serviços através da Internet.

    Realizando um disclosure, este cenário proposto é totalmente fictício, foi baseado em uma palestra que assisti há 1 ano sobre como os consumidores veem usando as redes sociais como locais para publicação de suas experiências com os produtos/serviços de seus fornecedores. Assim, como todo o filme diz “Estes são personagens de uma obra de ficção, qualquer semelhança com a vida real terá sido uma mera coincidência”.

    Veja os outros capítulos:
    Capítulo 2 : SaaS – Série - Cenário Fictício – Visão do Projeto
    Capítulo 3 : SaaS – Cenário Fictício – Levantamento de Cenários e Requisitos

    Capítulo 1 – Considerarações Iniciais

    Descrevendo o modelo atual

    Empresa e aplicação
    A Empresa Condé Holding S/A, tem uma divisão de software que ao longo de sua trajetória tornou-se a líder no fornecimento de uma aplicação para coleta de reclamações dos usuários de estradas de rodagem. A aplicação funciona dentro do Callcenter dos seus clientes, permitindo ao operador o registro das reclamações dos usuários durante um atendimento. Estes registros são armazenados em um banco de dados, onde Ombudsman do cliente pode agir na resolução.

    Tecnologia
    A aplicação (aqui chamada de “possue três grandes módulos, o primeiro é o mecanismo de coleta de reclamações, que através de uma interface WPF registra as reclamações. Estas entradas são colocadas numa fila de processamento. O segundo módulo é um classificador de reclamações, que pegando-as na fila, realiza a classificação (ou expurgo caso há duplicidade) e armazenamento em uma base relacional, um Windows Service realiza este trabalho. E por último módulo, através de pacote de SSIS,  realiza o agrupamento e transporte das reclamações do banco de dados relacional para dentro do banco de dados OLAP.

    Um resumo das tecnologias empregadas: WCF, WPF, MSMQ, OLAP (Analysis Services), OLTP (SQL Server) e C#

    Licenciamento e faturamento
    O cliente da Condé Holding S/A pagam por cada licença de uso utilizada do aplicativo de registrar reclamações.

    Modelo futuro

    Momento Insight
    A Condé Holding S/A não tem o que reclamar da sua divisão de software, ela vem apresentando números saudáveis e uma espiral crescente no número de licenças adotadas pelos seus clientes.

    Mas um dia, o CEO da Condé, viu o seu filho navegando em uma rede social, quando deparou com várias comunidades, onde os usuários apresentavam reclamações dos serviços que os seus clientes prestam. Interessado pelo que viu, pediu ao seu filho que explicasse tudo aquilo, o garoto, muto sabiamente (apesar da pouca idade), começou a falar que as pessoas se reuniam em comunidades para discutir um tema em comum, e que nestas comunidades haviam vários tipos desde elogios, reclamações, dúvidas, sugestões e outros assuntos. Neste exato momento, o CEO, teve o “Momento Insight”, “porque não oferecer na Internet o mesmo tipo de serviço para coletar as reclamações?”, ao invés de usar apenas o Callcenter, o visitante pode entrar em página personalizada do seu cliente, preencher a reclamação e até mesmo acompanhar o status de cada uma.

    Sem falar na base estatística de target behavior que a Internet permite coletar. Além de expandir a empresa para novos mercados.

    Considerações iniciais

    Vamos, considerar, que o nosso papel é o de arquiteto deste projeto. Desta maneira, já vejo algumas considerações sobre este projeto:

    • Qual é o modelo de negócio para este SaaS?
    • Como eu estruturo a minha arquitetura para viver no SaaS?
    • Como organizo o meu projeto para suportar um ciclo de vida de aplicação no modelo SaaS?
    • Como garantiremos a infra-estrutura operacional deste SaaS? Hospedo comigo mesmo, em terceiro ou em plataformas de Cloud Computing?
    • Qual é o nível de personalização que daremos para os nossos consumidores? E quais os recursos que serão personalizados?
    • Se é uma aplicação na Internet, quais são as minhas escolhas tecnológicas (MVC, MVP, Silverlight e frameworks) ?

    Bem, nos próximos posts vamos trabalhar em cima deste cenário e identificar recomendações e idéias sobre operacionalizar este novo negócio.

    abs e T+
    Condé

    PS: Se tiver mais considerações, fiquem à vontade.

    versão: 1.4

  • Windows Azure e SQL Azure - Blog do Condé

    Confira a reportagem do Otávio para o MeioBit com minha participação na demonstração

    • 2 Comments

    Boa tarde a todos !

    No final do ano passado, o gerente do grupo de arqutetos da Microsoft Brasil, Otávio Pecego Coelho, deu uma entrevista o blog MeioBit. Ele falou de Cloud Computing, Azure. Nesta reportagem dei uma ajudinha, os vídeos de como criar uma aplicação no Windows Azure foram de minha autoria. Confira os links da reportagem:

    Por dentro do Windows Azure 101: Software + Serviços (SaaS) – Parte 1: http://meiobit.com/meio-bit/software/por-dentro-do-windows-azure-101-software-servi-os-saas-parte

    Confira abaixo os vídeos de como criar uma aplicação no Windows Azure. Basicamente são um tutorial.

    abs
    Condé

    versão 1.0

  • Windows Azure e SQL Azure - Blog do Condé

    SAF 2008 - Dia 1 - Interoperabilidade

    • 2 Comments

    Bom dia !!!!

    Estou trazendo mais informações sobre o Dia 1 do SAF, neste dia acompanhei mais tracks de interoperabilidade. E então lá vem a pergunta, "O que é interoperabilidade?", podemos entender interoperabilidade como capacidade que as plataformas tem em trocar informações, dados ou comunicar através de protocolocos padronizados. "Por que a interoperabilidade veem se tornando tão importante?", nos dias atuais, as empresas são compostas de ambientes de TI heterogêneos (sistemas operacionais, plataformas, aplicações especiais) e que precisam conviver ente si.

    Eu vi as diversas iniciativas Microsoft na área de interoperabilidade, um ponto importante é estas iniciativas seguem a idéia de a interoperabilidade precisa nascer desde o desenho a arquitetura de um produto/solução, também chamado de "Interoperability by design".

    Links úteis:

    - Página principal: http://www.microsoft.com/interop/default.aspx 

    - Iniciativas Open Source (OSI): http://www.microsoft.com/opensource/default.aspx

    - Comunidade para ações de interoperabilidade: http://interopvendoralliance.org/

    Momentos de reflexão:

    1 -  Quando você está adquirindo ou comprando alguma solução/produto, o quanto ele permite a troca de informações com outras plataformas?
    2 - Como conceber a interoperabilidade desde o design da solução?
    3 - Qual são recursos e o esforço que precisam imprimir no meu projeto para dar interoperabilidade a ele?

    Obrigado e até +
    Luciano Condé

    versão 1.6

  • Windows Azure e SQL Azure - Blog do Condé

    Tech-Ed 2009 – Demos da palestra de Acesso a dados

    • 2 Comments

    Boa noite pessoal !

    Conforme prometido, estou publicando as minhas demos montadas dentro das tecnologias de acesso a dados da Microsoft. Os exemplos estão feitos em : ADO.NET, Linq To Sql, Entity Framework e ADO.NET Data Services.

    Segue abaixo o link no Skydrive.

    abs e T+
    Condé

    versão 1.0

  • Windows Azure e SQL Azure - Blog do Condé

    Windows Azure é a plataforma da Zetks, uma start-up brasileira, para fazer processo de venda de ingressos do Rock in Rio

    • 2 Comments

    Boa noite a todos !

    Hoje (07/02/2011), saiu no Olhar Digital duas entrevistas sobre o Windows Azure. A primeira é sobre a venda de ingressos via Internet, provavelmente muito de nós já tentamos comprar ingressos para shows disputados através da Internet, e claro, sabe-se o quanto isto é frustrante.

    Este tipo de aplicação (demanda inesperada ou acima do previsto inicialmente) é um dos típicos cenários para computação em nuvem. A Zetks, uma start-up brasileira, há 1 ano escolheu Windows Azure como a sua plataforma de computação para suportar este cenário. Além dos eventos como Rodeio de Barretos ou Oktoberfest, a Zetks foi responsável pela pré-venda de ingressos do Rock In Rio. Como pode ser visto na entrevista, que foi gentilmente cedida pelo CTO da Zetks - Camilo Telles, a flexibilidade e elasticidade do Windows Azure, permitiu suportar a grande demanda de venda dos ingressos, que nos primeiros minutos já tinha ultrapassado as estimativas iniciais dos organizadores.

    Além da entrevista da Zetks, também saiu uma reportagem sobre os serviços de computação em nuvem da Microsoft, tais como: Windows Azure, BPOS e Windows Server 2008 R2/Hyper-V. Confira abaixo:

    Rock in Rio: a tecnologia empregada na venda de ingressos do festival

    Cloud Computing: o futuro da tecnologia

    Se quiser, você pode acessar as reportagens diretamente do site do Olhar Digital.

    Aproveito para agradecer a Zetks pelo empenho e confiança na plataforma Windows Azure para a base dos seus negócios.

    E você tem um case de Windows Azure que gostaria de compartilhar conosco? Deixe o seu comentário que lerei. Alegre

    abs e T+
    Condé

    versão 1.0

  • Windows Azure e SQL Azure - Blog do Condé

    [OffTopic]–Livro sobre inovação

    • 1 Comments

    Figure 5

    Boa noite a todos !

    Quando trabalhamos em tecnologia da informação sempre há o ponto da inovação. Quem inovou primeiro ? Quem criou a idéia ? Quais os modelos de sucesso para que uma invenção torne-se uma inovação? E assim por diante vão surgindo várias perguntas.

    Na iniciativa chamada Open University (uma universidade aberta para ensino à distância), tive a oportunidade de me encontrar com o “Invention and Innovation: An Introduction”.  De uma maneira bem didática, o autor descreve como funciona invenção e o que isto diferencia da inovação. Apresenta conceito-chave para construir a inovação, como funciona o processo de invenção e até mesmo um self-assessement para saber se está aprendendo a mensagem. Infelizmente não tem uma versão PDF disponível, você tem que lê-lo na própria página.

    []s e T+
    Condé

    versão 1.0

  • Windows Azure e SQL Azure - Blog do Condé

    Como instalar o PHP no Windows Azure?

    • 1 Comments

    Boa tarde a todos !

    A Plataforma Windows Azure tem a interoperabilidade como um dos seus príncipios desde o início da concepção. Uma das linguagens que vem ganhando a atenção de desenvolvedores no mundo, em especial agências de publicidade, é o PHP. Muitos sites brasileiros são feitos em PHP e principalmente aqueles que usam Wordpress. No evento do MIX11, foi demonstrado como hospedar o WordPress dentro do Windows Azure.

    O que me levou a montar este post foi o atendimento ao parceiro ITVA durante o Bizspark Camp do Senac SP, veja o depoimento deste evento. A ITVA identificou que a Plataforma Windows Azure era ideal para suportar o seu novo serviço de compras coletivas Vie. Este serviço de compras coletivas que além de reunir compradores e melhores experiências de compras, também permite criar ações de ajuda a sustentabilidade e ao meio-ambiente. Mas para ter sucesso em site de compras coletivas é mais necessário criar mecanismos de convocação das pessoas para participar, uma das técnicas é através das redes sociais, é neste momento que a capacidade de interoperabilidade do Windows Azure também fez a diferença. O mecanismo de coleta de contatos em redes sociais da ITVA era baseado no OpenInviter. Através do OpenInviter, o usuário da Vie entra com suas credenciais de acesso às redes sociais mais conhecidas do mundo (Twitter, Facebook, Youtube e outras centenas) e pode realizar o convite para partcipar do Vie. Neste cenário, teríamos na mesma solução do Windows Azure .NET e PHP.

    Usando os recursos de Start-up Tasks e Full IIS disponíveis a partir do SDK 1.3 do Windows Azure, foi possível montar WebRoles que suportassem tanto o PHP como .NET no mesmo projeto. A “Condé Demo” mostra um passo-a-passo como instalar e configurar um PHP dentro das WebRoles (Full IIS) do Windows Azure. Para acessar o código-fonte desta demonstração acesse o link:

    Condé Demo

    Código-Fonte
    Para acessar o código-fonte da “Condé Demo”, acesse a pasta abaixo:

    Troubleshooting

    Dica 1 - Ativar o Remote Desktop

    Ativar o Remote Desktop é uma das maneiras mais práticas de identificar problemas na execução de uma start-up task. Veja neste vídeo: “Condé Demo – Como usar o Remote Desktop no Windows Azure”.

    Dica 2 - Verificar os arquivos de Log da Start-up Task

    Há diversos arquivos de log que são gerados para saber se a sua start-up Task foi executada com sucesso. Veja abaixo um fluxograma para tratá-los:

    image

    Verificar se o start.cmd está gravado como ANSI

    Durante esta “Condé Demo”, apresento uma maneira de verificar se o arquivo está gravado como ANSI. Para repetir, siga os passos:

    1. Abra o arquivo start.cmd pelo Notepad (Bloco de Notas)
    2. Clique em File->Save As
    3. Selecione a opção “ANSI” na caixa “Encoding”. Veja:

      image


    4. Pronto ! Agora faça um novo deployment para o Windows Azure.

    Mais informações

    abs e T+
    Condé

    versão 1.2

Page 1 of 13 (129 items) 12345»