Archive

Archive for January, 2009

Lançamento do livro “Da Cultura Livre”

January 30th, 2009 No comments

“Produtores nervosos, consumidores neuróticos? Apesar das dificuldades de produzir cultura e da qualidade rarefeita do cenário atual, este mercado encara um futuro brilhante! Quer saber como?

Da Cultura Livre trata dos fundamentos e soluções para produtores e consumidores de cultura num mundo hiperconectado. Se o pressuposto é o software livre, o resultado é a cultura.”

Baixe o seu gratuitamente neste link.

Cultura Livre

Categories: Geral, Livros Tags:

Linguagens de Programação no mundo..

January 28th, 2009 No comments

Um site bem interessante onde tem as linguagens existentes e informações da utilização delas. O site faz até um gráfico mostrando percentuais ou valores a respeito de cada linguagem, baseando-se na quantidade de linhas de código existente nos projetos.

Compare Linguages

Compare Linguages

Idéias para uso do seu celular.. :)

January 27th, 2009 No comments

Achei esse vídeo engraçado.. O que você pode fazer com seu telefone????? Veja algumas idéias. ..

Categories: Geral, Mobile Tags: ,

C e Java foram as linguagens mais populares nos novos projetos Open Source de 2008

January 27th, 2009 No comments

Como se pode ler na fonte (The Register), o C demostrou ser a linguagem de programação mais popular para milhares de novos projetos Open Source durante o ano 2008. De acordo com os dados obtidos pela Black Duck Software, que monitora 180.000 projetos em quase 4.000 páginas, quase a metade dos 17.000 novos projetos (47%) usaram C. A linguagem seguinte em importância foi Java, com 28%.

Fonte: http://www.theregister.co.uk/2009/01/21/open_source_projects_08/

Categories: Geral, Linux, Notícias, Open Source Tags: , ,

Os 25 erros de programação mais perigosos segundo a SANS… (Dica de Leitura)

January 24th, 2009 No comments

Saiu no site da SANS a lista criada com o consenso entre varios profissionais e empresas do ramo de segurança e desenvolvimento descrevendo os 25 erros de programação mais perigosos para o desenvolvimento seguro.

Leita uma tradução com os termos básicos. Clique aqui!

Leita o artigo na íntegra, em inglês.

Um estudo sobre Grids Computacionais.. (Parte 2)

January 23rd, 2009 No comments

Grids Computacionais

Continuando o post sobre grid computing, vamos falar um pouco mais sobre a computação em grid, alguns conceitos e aspectos de uma grid.

  • Computação em Grid

Muitas questões devem ser levadas em consideração no tocante ao desenvolvimento de uma Grid, tais como modelo de programação e balanceamento de carga e devido o grid ter uma ampla distribuição, grande escala, alta heterogeneidade e múltiplos domínios administrativos, novas questões são levantadas, tais como o escalonamento de aplicações, autenticação, segurança, disponibilidade e tempo de resposta.

  • Escalonamento de Aplicação

O escalonador nada mais é que um controlador dos recursos. Não é possível utilizar os recursos de um sistema operacional sem que o escalonador permita. Ele recebe as solicitações de vários recursos e decide quem vai ser executado primeiro [2].

Escalonamento de recursos ou de tarefas em grid é algo complexo de ser tratado, já que temos uma estrutura com vários domínios administrativos com grande escala e ampla distribuição. O escalonamento das tarefas se torna algo complexo, pois os administradores dos recursos normalmente não abrem mão do controle de seus recursos. Escalonar tarefas que sofrem interferências externas se torna algo complexo e de baixa eficiência.

Então, como existem vários domínios têm-se vários escalonadores de recursos, ou seja, alguém tem que dizer que recurso será utilizado para que seja enviada para o escalonador correto, para que essa aplicação seja executada corretamente, e isso é uma tarefa do escalonador de aplicação.

Escalonadores de aplicação não controlam os recursos que usam, eles só obtêm acesso aos recursos submetendo solicitações aos escalonadores que controlam os recursos [2].

  • Autenticação

A ampla distribuição e a existência de múltiplos domínios administrativos dificultam a autenticação no Grid. Em Grid é necessária uma forma de acesso para cada recurso [2], garantido a autenticação de cada usuário, pois, caso contrário, os administradores não aceitaram o uso de tal recurso.

  • Segurança

A figura a seguir mostra a arquitetura de uma grade computacional, e o serviço de segurança é responsável por três tarefas principais.

Arquitetura de uma Grid Computacional

Arquitetura de um Grid

  • Proteger os recursos compartilhados contra aplicações maliciosas.

  • Gerenciar a identidade dos usuários, permitindo relações de confiança.

  • Proteger as trocas de informações entre a grade, provendo confidencialidade e integridade.

Tendo em vista que no Grid tem um número bem maior de usuários, recursos e aplicações sendo executados e administrados por diferentes domínios administrativos, vemos que os riscos e vulnerabilidades para sistemas desenvolvidos para a grade se ampliam em relação aos sistemas tradicionais, logo, medidas de segurança estão sendo tomadas no tocante ao processo de autenticação e autorização.

Deve-se garantir, com boas políticas de segurança, que os recursos não sejam providos por um usuário mal intencionado que busca apenas obter privilégios de super usuário.

Realizar auditoria na grade também é um requisito importante. Já que estamos em um ambiente com vários domínios administrativos, nem sempre é possível prever todas as ameaças. Então, disponibilizar meios de rastrear possíveis erros ou ameaças seria uma boa prática no que diz respeito à segurança.

Mecanismos que impeçam a modificação ou obtenção de dados na grid, ou seja, que garantam a confidencialidade e a integridade dos dados é um requisito muito importante em um ambiente de grade computacional.

Levando em consideração as principais formas de prevenir possíveis problemas de segurança em uma grade computacional, observamos que a viabilidade de utilizar essa arquitetura para o processo de demanda de processamento é bastante interessante.

Open Source vai crescer graças a crise..

January 23rd, 2009 No comments

Achei bastante interessante o que Cezar Taurion, da IBM, fala a respeito do movimento open source durante a crise econômica que estamos enfrentando. Então fica ai a indicação para leitura.

http://www.ibm.com/developerworks/blogs/page/ctaurion?entry=open_source_e_o_profissional

Categories: Notícias Tags: ,

Um estudo sobre Grids Computacionais.. (Parte 1)

January 22nd, 2009 No comments

Assistindo um vídeo sobre o Campus Party 2009 percebi que uma das coisas que estão sendo feitas é uma grande Grid Computacional. Um dos coordenadores do evento, comentou que os recursos computacionais estavam sendo usados por meio da computação em grade. Então decidi postar um estudo que fiz sobre Grid e que já tem um tempo mas que não deixa de ser um assunto atual.

  1. Conceituação de Grids Computacionais

Grids Computacionais surgiram em meados da década de 90 em universidades e institutos de pesquisa com o intuito de viabilizar a execução de aplicações paralelas em recursos geograficamente dispersos e pertencentes a múltiplas organizações. De inicio essas múltiplas organizações se restringiam apenas a laboratórios de pesquisa e universidades. Ian Foster idealizou o conceito de “Grid Computing” em 1993 no laboratório Argonne. Este conceito de Computação em Grade se justificava por uma necessidade de utilizar os recursos computacionais de forma ótima, dispersos geograficamente, tais como: um “Software” existente em alguma universidade ou uma gama de hardware que estivessem com seus recursos ociosos.

Este conceito mesmo que viável tecnicamente passou um longo tempo para que começasse a apresentar resultados concretos. Com isso começou a ganhar o mundo empresarial mostrando ser uma tecnologia que tem muito a oferecer. Em 1999, a IBM começou a investir nessa idéia tendo em vista que essa tecnologia poderia trazer bons resultados para o mundo dos negócios, no que diz respeito a processamento sob demanda. Logo em seguida HP/Compaq, Sun, Fujitsu, Microsoft, NEC e Oracle também começaram a investir e hoje podemos considerar Grids Computacionais um assunto que está na mente dos executivos de tecnologia da informação [3].

Com isso podemos dizer que “Grid Computing” nada mais é que uma rede no qual um indivíduo qualquer poderá se conectar em busca de poder computacional (Ciclos, armazenamento, software, periféricos, etc.) sendo provido de forma transparente como é mostrado na Figura 1.

Grid Computing

Grid Computing

Figura 1: Transparência no acesso a recursos e serviços. [2]

Para muitas pessoas o conceito de Grid Computing se resume a Internet, pois, através de vários roteadores, o serviço seria executado de forma transparente e satisfatória. Mas este conceito vai muito mais além. Quando falamos de processamento sob demanda, estamos falando de processamento de alto desempenho. Processar algo de forma rápida e eficiente.

As redes de computadores estão em amplo crescimento e um dos pontos mais explorado é o relacionado ao aumento do desempenho das redes. Essa melhoria vem acontecendo e levou a criação da idéia de utilizar computadores independentes conectados em rede como plataforma para execução de aplicações paralelas [1]. A idéia de plataforma de execução de aplicações paralelas não está restrita a Grids Computacionais. Clusters também se encaixam nessa idéia, mas a diferença de um Cluster para um Grid é que Grids são mais distribuídos, diversos e complexos [2].

Uma Grid é heterogenia e tem alta dispersão geográfica, ou seja, não é dedicado a uma única aplicação. Tem múltiplos domínios administrativos, pois, várias aplicações de várias instituições podem utilizar os recursos da mesma grid e possui controle distribuído, portanto, não está restrito a uma única entidade.

Com isso, temos que Computação em Grid é algo além de um simples conceito estendendo-se a uma definição, que seria uma plataforma para execução de aplicações paralelas, sendo uma alternativa para processamento sob demanda em larga escala.

Bibliografia:

  • [1] I.Foster and C. Kesseman (editors). The Grid: Blueprint for a New Computing Infra structure. Morgan Kaufman Publishers. 1999.
  • [2] CIRNE, WALFREDO. Grids Computacionais: Arquitetura, Tecnologia e Aplicações. Departamento de Sistemas e Computação, UFCG.
  • [3] TAURION, C. Grid Computing: um novo paradigma computacional. Rio de Janeiro: Brasport, 2004.

Categories: Grid Computing Tags: