quinta-feira, 22 de dezembro de 2011

A união faz a força






Artigo de opinião publicado no diário ‘As Beiras’
em 21 de Dezembro de 2011


Quando se fala em supercomputadores, a maioria das pessoas pensa em máquinas para cálculo científico intensivo, utilizadas por uma fração muito reduzida de eleitos. No entanto, os supercomputadores são fundamentais para todos nós e para a sociedade global, já que sem eles os motores de busca da Internet e as redes sociais não conseguiriam funcionar.

Mas o que é, afinal, um supercomputador? É, sem dúvida, uma máquina com enorme capacidade de processamento, normalmente medida em número de operações de vírgula flutuante executadas por segundo (floating point operations per second, flops).

Não nos esqueçamos, no entanto, que os supercomputadores de ontem são os pequenos computadores pessoais de hoje. Note-se, por exemplo, que há mais poder de cálculo num telemóvel dos dias de hoje do que nos computadores de bordo da Apolo XI, que levou o Homem à Lua ou, ainda, que há mais capacidade de processamento numa boa consola de jogos atual do que num supercomputador de meados dos anos 1990.

Mas será possível que o vertiginoso ritmo de evolução dos computadores se mantenha como até aqui, principalmente no que diz respeito aos supercomputadores?

Os supercomputadores atuais são já compostos por conjuntos de milhares de microprocessadores, precisamente porque existem dificuldades práticas em construir processadores cada vez mais potentes. Os microprocessadores atuais estão já perto de limites praticáveis em termos de capacidade de processamento, simplesmente porque fazer trabalhar mais depressa as centenas ou milhares de milhões de transístores que os compõem geraria um aquecimento tão grande que destruiria o próprio microprocessador.

O maior obstáculo à evolução dos supercomputadores é, assim, o consumo de energia. Os atuais supercomputadores consomem entre 4 a 6 megawatt, o que é equivalente ao consumo de uma cidade pequena. Com a tecnologia atual, para um computador ser capaz de atingir um trilião de flops (ou seja, um exaflops, isto é, dez elevado a dezoito flops) o consumo estimado seria próximo dos 1.5 gigawatt. Considerando que haverá ganhos de eficiência decorrentes de melhoria da tecnologia, os especialistas estimam que, mesmo assim, o consumo seria na ordem dos 70 megawatt, ou seja, mais ou menos o consumo de toda a cidade de Coimbra. Provavelmente, tal equipamento derreter-se-ia a si próprio, a não ser que ocupasse uma área descomunalmente grande.

Serão tais computadores impossíveis de construir? Para já sim, mas o tempo o dirá. Talvez por isso se recorra cada vez mais à cooperação entre vários supercomputadores, ligados entre si, para atingir cada vez maior capacidade de cálculo. É a chamada computação em malha, também conhecida por grid computing. Afinal, também no caso dos computadores a união faz a força.

quarta-feira, 14 de dezembro de 2011

Telhados de vidro






Artigo de opinião publicado no diário ‘As Beiras’
em 13 de Dezembro de 2011


Nas últimas semanas têm vindo a lume várias notícias sobre ataques de piratas informáticos contra sistemas da administração do Estado. Muitos dirão que quem anda à chuva molha-se, mas o que é certo é que todos ficamos desconfortáveis pelo facto de o Estado parecer não estar bem preparado para umas gotas de água que, inevitavelmente, salpicam do mar que é a Internet.

Todos concordarão que a utilização das tecnologias da informação e comunicação (TIC) na administração central e local é indispensável nos dias de hoje, sendo fundamental não só para a eficiência e eficácia dos serviços mas, sobretudo, para a comodidade dos cidadãos. E não nos esqueçamos deste último aspeto, já que existe uma enorme diferença entre um Estado que existe para servir os cidadãos e um outro que exista para ser servido por eles.

A questão central é, no entanto, que para além de se construir uma máquina eficiente, eficaz e cómoda com base nas TIC, é necessário que esta máquina seja suficientemente robusta para aguentar as investidas do ambiente em que se insere. Em termos informáticos isto significa que essa máquina tem que estar bem dimensionada, tem que ser capaz de resistir a falhas e, não menos importante, tem que ser segura.

Todos os especialistas informáticos sabem que o potencial de ataque associado a qualquer sistema ligado à Internet é tanto maior quanto maior for a visibilidade que esse sistema tem. É, por isso, impensável que sistemas estatais não sejam geridos de acordo com as mais estritas políticas de segurança informática e não estejam sujeitos aos mecanismos de segurança mais robustos que existem, já que são sistemas críticos para o país e é claro que quanto mais fortes forem as medidas de segurança informática menor será o número de ataques bem sucedidos.

Um dos procedimentos mais importantes para a detecção de brechas de segurança são as auditorias. Sistemas estatais têm, forçosamente, que ser auditados, em termos de segurança informática, várias vezes por ano, por entidades externas expressamente contratadas para o efeito.

Para além disso, é essencial que existam especialistas em segurança informática dedicados à gestão dos sistemas mais críticos. Nesta matéria específica, o recurso a outsourcing deve ser evitado, por forma a limitar a difusão de informação de segurança a outras entidades. Aqui a dificuldade é encontrar esses especialistas, já que a carreira informática da administração pública não contempla especificamente a área de segurança.

Os ataques informáticos – sejam eles a sistemas do Estado ou não – são sempre ilegais. É despropositado, por isso, dizer que os organismos atacados tenham andado a atirar pedras, mas, a avaliar pelos ataques bem sucedidos de que foram alvo, é evidente que têm demasiados telhados de vidro.

terça-feira, 6 de dezembro de 2011

O método imperfeito





Artigo de opinião publicado no diário ‘As Beiras’
em 5 de Dezembro de 2011


O sucesso de qualquer projeto de engenharia exige, para além de uma série de condições materiais e de uma equipa com as necessárias competências técnicas, uma rigorosa metodologia de desenvolvimento. Assim acontece também no caso dos projetos de Engenharia Informática.

A metodologia tradicional de desenvolvimento de projetos informáticos é conhecida por metodologia “em cascata”, devendo-se esse nome ao fato de que cada fase do desenvolvimento dá origem à seguinte, de forma sequencial, sem que exista possibilidade de fases posteriores influenciarem o desenvolvimento. Com efeito, também a água que desce uma cascata não tem forma de voltar ao seu início.

Durante várias décadas, o desenvolvimento em cascata foi considerado o método perfeito. Numa primeira fase faz-se um exaustivo planeamento, que inclui o levantamento de requisitos, a especificação do sistema a desenvolver, a identificação das diversas tarefas a executar, a respectiva duração e os meios necessários. Todos estes aspetos devem ser exaustivamente documentados. Uma vez aprovado o planeamento, segue-se a fase da execução, na qual a equipa de desenvolvimento deve por em prática tudo o que foi decidido na fase de planeamento. A última fase é a dos testes – por entidade certificada – e aceitação por parte do cliente.

A metodologia em cascata é bastante rígida, tendo vantagens e desvantagens. Do lado das vantagens, há a assinalar o grande controlo que permite sobre a execução do projeto. No entanto, a principal desvantagem é a de que assume que quer os utilizadores, quer o cliente da aplicação quer, ainda, quem a desenvolve, são pessoas cuja visão não muda ao longo de todo o desenvolvimento, que não podem ter qualquer criatividade, e que executam as tarefas como se fossem robôs e não seres humanos.

O reconhecimento dessa desvantagem levou ao aparecimento, no início da década de 1990, de metodologias de desenvolvimento rápido, das quais a metodologia ‘Scrum’ é a mais conhecida e mais utilizada. Neste caso, a metodologia assume que os requisitos podem mudar ao longo do projeto, assim como os objetivos da aplicação ou sistema, por forma a refletir a natureza dinâmica de utilizadores, clientes e desenvolvedores. Em cada ciclo de desenvolvimento – denominado ‘sprint’ – os objetivos são reavaliados à luz do trabalho realizado, dos erros e experiência acumulados, e de novas ideias ou requisitos.

Também esta metodologia tem riscos – frequentemente desvalorizados e, quiçá, mais problemáticos que os de metodologias mais rígidas – compensados, no entanto, por um muito maior potencial para atingir produtos de maior qualidade, mais fáceis de utilizar e mais próximos das necessidades do mercado. Não existirá uma metodologia perfeita mas, ao prever formas de lidar com a mudança e com a imperfeição humanas, esta metodologia dá um grande passo nesse sentido.