Notícias, apontadores, pensamentos e pesquisas do Laboratório de Sistemas Distribuídos da UFCG
sexta-feira, 31 de julho de 2009
Ministério da Cultura Lança comunidade virtual para discutir cultura digital no Brasil
O Ministério da Cultura e a Rede Nacional de Ensino e Pesquisa (...) (RNP), vinculada ao Ministério da Ciência e Tecnologia, lançam nesta sexta-feira, 31 de julho, em São Paulo, o Fórum da Cultura Digital Brasileira, primeiro site de Rede Social proposto pelo Governo Federal. (...)
O lançamento será realizado às 15h, no Centro Cultural da Federação das Indústrias do Estado de São Paulo (Fiesp), como atividade paralela ao Festival Internacional de Linguagem Eletrônica, e contará com a participação do ministro da Cultura, Juca Ferreira. (...) O encontro será transmitido em tempo real no link www.culturadigital.br/aovivo.
(...)
“A ideia de criar uma rede de mídia social no governo nasceu da necessidade de trazer a participação da população nas discussões das políticas públicas”, comentou o gerente de Cultura Digital da Secretaria de Políticas Culturais do MinC, José Murilo Junior.
(...)
terça-feira, 28 de julho de 2009
Padronização da Cloud - Computação na nuvem ou nas nuvens?
Como já é característico na ciência da computação, cada grupo de pesquisa ou empresa geralmente cria seu próprio mundo e não há muita preocupação em criar um universo comum em que esses mundos se relacionem. Em Cloud Computing não é diferente. Apesar de ser algo novo, já se nota a nuvem sendo particionada entre diferentes empresas, tecnologias, interfaces, funcionalidades. No artigo The Wrong Cloud, da Maya Design, os autores criticam essa divisão da nuvem: "Today’s so-called cloud isn’t really a cloud at all. It’s a bunch of corporate dirigibles painted to look like clouds. You can tell they’re fake because they all have logos on them. Real clouds don’t have logos".
A idéia da nuvem como algo transparente para o usuário, onde processamento é obtido de forma fácil e elástica, é dificultada pela falta de padronização, resultando em uma depedência de tecnologias que são específicas para cada nuvem. Isto torna a aplicação dependente do provedor, impossibilitando uma fácil migração de um provedor para outro, além da interoperabilidade entre eles.
Para tentar amenizar o problema de padronização da nuvem, foi desenvolvida a libcloud, uma biblioteca para clientes de nuvens computacionais que fornece uma interface única para vários provedores de cloud computing. O projeto ainda é recente e as funcionalidades ainda são bastante limitadas. Porém, uma vantagem é que o projeto é open-source, tornando mais fácil a expansão das funcionalidades e dos provedores suportados.
Talvez uma biblioteca como esta não seja a melhor solução para os problemas de padronização das nuvens computacionais. Um dos motivos é a limitação das funcionalidades dos provedores que surge ao se criar uma interface única para todos eles. Talvez uma padronização adotada por todos os provedores seja a solução ideal, mas experiências passadas mostram que essa não é uma tarefa simples. Como o ideal parece longe de ser alcançado, fica ai a dica de uma biblioteca que tenta "colar" várias nuvens, aumentando um pouco a ilusão de que a computação é feita na nuvem e não nas nuvens.
terça-feira, 21 de julho de 2009
A Elasticidade, a Escalabilidade e a Nuvem
Para ele, escalabilidade é tornar possível aumentar o workload de uma aplicação adicionando mais recursos. Obviamente esta estratégia possui um limite, simplesmente adicionar mais discos, processadores ou quaisquer outros dispositivos de hardware não resolverá problemas de escalabilidade. E este é um ponto interessante, pois ele considera escalabilidade apenas como adicionar novos recursos, leia-se hardware. Não seria a escalabilidade também implementada via software, sistemas distribuídos como o Google File System, por exemplo? A resposta é sim. E estas duas formas de conseguir escalabilidade são conhecidas como escalabilidade vertical e escalabilidade horizontal, respectivamente. Este post fornece um bom esclarecimento sobre cada uma delas.
Enquanto escalabilidade visa aumentar o workload de uma aplicação, ignorando a utilização ou não-utilização dos recursos disponíveis, elasticidade refere-se à habilidade de aumentar ou diminuir os recursos necessários para a execução da aplicação, on-the-fly. Deve-se notar que: possuir elasticidade não significa ser escalável.
No embalo da carruagem, Ricky Ho também mencionou outras características de aplicações na nuvem:
- Statelessness: Evitar criar aplicações que armazenem estado
- Minimizar o impacto causado pela movimentação de dados durante balanceamento de carga
- Bons algoritmos para gerenciar o grau de elasticidade
Conversa LSD - 22/07/2009
Tema: “Automock: Interaction-Based Mock Code Generation”
Local: Auditório do LSD
Horário: 14:00h
Apresentador: Sabrina de F. Sout
Resumo:
Mock objects are used to improve both efficiency and effectiveness of unit testing. They can be used to write unit tests that completely isolate objects under test, while performing root cause analysis of defects. Writing tests that use mocks, however, can be a tedious, costly task and may lead to the inclusion of defects. Furthermore, mock based unit tests are known to be short-lived – they must be discarded for most design changes on the system. In this talk, I will present a technique that generates mock-based unit tests to face the mentioned drawbacks. It is based on the analysis of execution traces to capture interactions between a target object and its collaborators. I also will present Automock, a proof of concept tool developed to evaluate the feasibility of the technique.
Abraços e até Quarta
terça-feira, 14 de julho de 2009
Conversa LSD - 15/07/2009
servidor de metadados. Essa arquitetura facilita o projeto do sistema, mas torna o servidor de metadados um ponto único de falha. Apesar de ser considerado um componente confiável, falhas são inevitáveis. Se esse componente
falhar, os metadados podem ser perdidos e todos os dados armazenados se tornam inacessíveis. Em nossa conversa, apresentarei um modelo de armazenamento de metadados que permite que o servidor de metadados seja restaurado após uma falha catastrófica que corrompa seu estado."
sexta-feira, 10 de julho de 2009
Cassandra: Eventually consistent, structured, distributed key-value storage
A publicação dos detalhes do Dynamo, assim como do MapReduce, BigTable e outros, é um prato cheio para a comunidade científica, já que mostra uma aplicação em produção e em grande escala de diversos conceitos que costumam ficar apenas em aulas de sistemas distribuídos ou em argumentos difíceis de justificar em artigos científicos. A disponibilidade do Cassandra leva isso mais um passo adiante, dando à comunidade um projeto em código aberto que está sendo usado dentro do Facebook para a experimentação.