Hipsters on the road: Cloud e soluções distribuídas na Matera

Hipsters.tech: Tecnologia e Cloud da Microsoft

Consegi 2010 – Dia 3

Architecting for the Cloud: Best practices – Lessons learned from Amazon

Palestra muito interessante do evangelista Jinesh Varia, da Amazon. Jinesh reforçou os conceitos de Computação na Nuvem, focando na abordagem de Infra-Estrutura como Serviço (IaaS) da Amazon.

Reforçou conceitos como os efeitos econômicos da Computação em Nuvem (em termos de Capex e Opex);  elasticidade (escalabilidade pra cima e pra baixo) e como as restrições da Cloud podem impactar positivamente na arquitetura da sua aplicação.

Reforçou a importância de construir software resilitente (achei interessante a máxima “arquitete para falhar e nada irá falhar”). Reforçou também a importância de criar serviços desacoplados  e como soluções de Mensageria podem ajudar nisso. Por fim, falou das preocupações de segurança que envolvem implantar serviços na Cloud.

Por que eu sou fanático por testes e você é um bundão

Palestra divertidíssima de Sylvestre Mergulhão e Henrique Andrade. Participei como estrevistado, representando alguém que utiliza TDD!

Depois, fomos com os participantes para um Coding Dojo. Resolvemos o FizzBuzz em Python.

Workshop: Getting Started with AWS

À tarde, tivemos um workshop com Jinesh Varia. Vimos na prática como criar utilizar o Amazon AWS para criar uma pequena aplicação.

Consegi 2010 – Dia 2

De 18 a 20 de agosto estive no Consegi 2010, em Brasília, um evento organizado de Software Livre e e-gov organizado pelo governo brasileiro.

O tema desse ano era Computação em Nuvem.

Dia 2 – 19/10/2010

Computação em Nuvem: descendo das nuvens para o mundo real

Nessa palestra de Cezar Taurion, da IBM, foi possível ter uma idéia melhor do que é Cloud Computing. No dia anterior, falou-se muito sobre Cloud mas não saímos do evento conseguindo definir Cloud em poucas palavras.

O palestrante definiu Cloud como um novo modelo de entrega e consumo de TI. Explicou sobre os modelos de deployment IaaS (Infra-estrutura como serviço – Amazon) e PaaS (Plataforma como serviço – Google). Há também o SaaS, que é o consumo de uma aplicação como um serviço. Os conceitos fundamentais para definir Cloud são elasticidade, Pay-As-You-Go (baseando-se no modelo de negócios de energia elétrica) e on-demand self-service (não precisando de vendedore e intermediários).

Entre os assuntos abordados: empresas se deslocam na nuvem buscando redução de custos; gerou uma facilidade enorme para start-ups (nos EUA, start-ups não são aprovadas se não estiverem na nuvem); segurança é a principal preocupação. Entre os outros temores estão a dificuldade de integração com a in-house IT, a falta de customização dependendo da solução, possível baixa disponibilidade e custos possivelmente maiores. Entre os pontos positivos estão a necessidade de menos pessoal de TI, pagar só pelo que se usa (diminuindo custos de oportunidade) e deploy mais rápido.

Aplicações que possuem integrações com sistemas legados tem baixa afinidade com a Cloud e demorarão mais do que aplicações de alta afinidade como email, workgroups, webservers e media.

A IBM prevê o ano de 2010 para a adoção em massa do modelo SaaS e 2012 para a adoção do modelo IaaS. O processo de adoção de Cloud será gradual mas os data centers de hoje estão com os dias contados.

Hardware + Software Livre com Arduíno (ou brincando de eletrônica)

Excelente palestra de Álvaro Justen (Turicas), sobre como usar o Arduíno para fazer projetos de eletrônica. A palestra foi bem prática e ele mostrou como fazer projetos simples usando LEDs e sensores de luz. Também apresentou o projeto Turiquinhas, um carro controlado pela Web que utiliza a bateria de um Netbook para se mover. Muito legal!

Desenvolvendo Software na Nuvem

Fabiane Bizinella Nardon e Bruno de Souza (JavaMan) mostraram o ToolsCloud, um ambiente de desenvolvimento na nuvem, e falaram de boas práticas de desenvolvimento. As práticas (Integração Contínua, Controle de Versão, Repositório de Dependências, Issue Tracking, etc) não são novidade. Eles apenas juntaram ferramentas que provêem essas práticas (Hudson, Redmine, Nexus, Subversion, etc) e colocaram isso na nuvem.

Foi interessante ver como estamos avançados na utilização de ferramentas que auxiliam as boas práticas de software. Conhecíamos e usamos no dia-a-dia basicamente todas as ferramentas citadas.

A ToolsCloud tem concorrentes de peso como a Atlassian com o Jira Studio e a Jetbrains com o Team City.

A palestra começou bem atrasada e teve várias interrupções por motivos técnicos, principalmente com o sistema de apresentações que eles usaram, o Prezi. A palestra ficou prejudicada.

The Cloud as a Platform of Platforms

Jinesh Varia, da Amazon, deu uma palestra introdutória sobre o conceito de Cloud Computing. Foi, sem dúvida, a palestra mais rica em termos de conceitos do que é computação em nuvem. Ele mostrou de maneira rápida toda a solução da Amazon, que pareceu bem flexível e madura.

Entre os usos citados: processamento massivo e esporádico de dados; web-sites modernos, com audio, vídeo e conteúdo social; TI internal usando o Virtual Private Cloud, ferramenta usada pela AutoDesk; armazenamento de dados, permitindo disaster recovery; e como uma Plataforma de plataformas, uma maneira de várias empresas especializarem a solução da Amazon e revendâ-la.

Ele mostrou vários cases de empresas  que usam a infra-estrutura da Amazon com sucesso, entre elas algumas empresas brasileiras como Globo.com, imovelpro.com. Entre as empresas e projetos que ele citou: TimesMachine do NY Times, que usou a infra da Amazon para transformar 11 milhões de artigos de 1851 a 1922 de TIFF para PDF; Netflix que usa 4200 instâncias do EC2 para fazer o transcoding de formatos de novos DVDs lançados; eHarmony, que usa esporadicamente a Amazon para fazer matches de possíveis pretendentes; Zynga, que fez o FarmVille; vários sites do governo americano; Smugmug, que tem mais de 2 peta-bytes de dados; Dropbox; Heroku, que vende a plataforma da Amazon para fazer deployment de aplicações Rails; twilio que tem uma solução de voip que é executada na cloud; marketsimplified.com, que faz mobile trading. A lista é interminável.

HTML 5

Carlinhos Cecconi, da W3c Brasil, apresentou a história da Web e mostrou o básico de HTML5. Assunto interessante, palestra maçante. Saímos no meio.

Django: o framework web para perfeccionistas com prazos

John Edson, professor da UFF, mostrou o básico do desenvolvimento com Django. A palestra foi bem expositiva, faltou algo mais prático.

Uma coisa interessante foi quando o palestrante falou que Python evolui bem porque é uma linguagem “sem prazos, sem pressão”.

Refactoring com PostgreSQL

Excelente palestra de Fabrizio de Royes Mello, dando uma introdução sobre o catálogo de refatorações mostrado no livro Refactoring Databases,  de Scott Ambler. O melhor foi a parte prática: o palestrante mostrou como melhorar a estrutura de um banco de dados e como fazer um teste unitário dessa estrutura. Muito bom!

Google App Engine: aplicativos Python nas Nuvens

Palestra péssima de Flávio Codeço Coelho, que falou sobre a solução de Cloud da Google. O palestrante ficou alguns minutos falando sobre os preços dos serviços do App Engine. Logo saímos da palestra.

Construindo Mapas Conceituais com Software Livre

Depois de termos saído da palestra sobre Google App Engine, fomos na palestra de Rodolfo Avelino sobre mapas conceituais. O palestrante apresentou o FreeMind e outra ferramenta cujo nome esqueci. Palestra bem básica sobre como utilizar o software. Nada que alguns minutos fuçando não resolvam. Perdemos o início da palestra que deve ter tido algo mais conceitual.

A evolução de Lua

Roberto Ierualimschy mostrou a história de Lua. Excelente palestra, mas deu pra ver que o palestrante é um ditador benevolente ou déspota esclarecido, como ele disse. Uma das coisas que ele falou é que ele aceita idéias de funcionalidade mas não aceita implementações, porque código de alunos é péssimo!