Jornada/T | 2. O que é um mainframe?
2. O que é um mainframe?
Um computador com CPU, memória e unidades de entrada e saída. A princípio, igual a qualquer outro computador. Mas sua capacidade de processamento, sua flexibilidade e suas inovações constantes fazem dele a escolha número 1 das grandes organizações.
O uso de servidores é essencial para qualquer grande negócio. Existem servidores de transação, servidores de banco de dados, servidores de e-mail, servidores web e assim por diante. O conjunto desses servidores fornece os serviços de TI que uma empresa consome e/ou fornece para seus clientes, e a quantidade de servidores necessários, naturalmente, dependerá do tamanho da organização.
O conjunto de todos os servidores de uma organização formam o que algumas vezes chamamos de server farms. Farm é um termo apropriado, uma vez que alguns data centers ocupam áreas medidas em acres.
Figura 5. Server farms. Racks enfileirados. Cada rack contém dezenas de servidores.
Tecnicamente, um mainframe é um servidor. A maior diferença certamente está no nível de serviço que ele oferece. O mainframe é um computador de alta performance, que permite que milhares de aplicações sejam executadas ao mesmo tempo, compartilhando milhares de dispositivos de armazenamento, servindo a milhares de usuários, sem crash, sem tela azul, sem vírus, sem vazamentos de memória, sem resets periódicos…
Um único mainframe é capaz de substituir milhares de servidores. E isso se traduz em redução do espaço físico ocupado pelo data center, redução do consumo de energia e administração centralizada.
Mas esses são apenas alguns dos benefícios que as grandes organizações esperam dos mainframes. Mais importante do que reduzir o espaço físico ocupado ou facilitar a administração dos recursos é a expectativa de disponibilidade, segurança e escalabilidade oferecida por esse tipo de equipamento.
Figura 6. IBM Z/10, lançado em 2008
IBM em todo lugar
Provavelmente a primeira coisa que chama a atenção de alguém que começa a se interessar por mainframes é que praticamente todos os conceitos, recursos, exemplos e histórias relacionadas a esta plataforma mencionam a IBM.
Sempre houve diversos fabricantes e arquiteturas diferentes de computadores de grande porte. E, apesar de algumas diferenças, muitos desses equipamentos são genericamente chamados de "mainframes", principalmente por causa do foco em alta disponibilidade e capacidade de processamento.
ClearPath (da Unisys), GS21-2600 (da Fujitsu), Skyline Trinium Nine (da Hitachi) e até o NonStop X (da HP) são muitas vezes chamados de mainframes.
Mas não existe outra empresa mais associada à plataforma mainframe que a IBM. Sua participação no mercado atingiu 65% logo após o lançamento da arquitetura System/360® em 1964 e ultrapassou os 90% nas décadas seguintes.
Nos anos 1960 a indústria de computadores era dominada por IBM, Burroughs (que depois se chamaria Unisys), CDC, General Eletric, Honeywell, NCR, RCA e Sperry Rand (Univac).
Nesta época, computadores eram fabricados sob encomenda para poucos clientes. O processamento de dados estava longe ainda de ter a massificação que vemos hoje.
Cada computador era um sistema para uma aplicação e finalidade específicas. O software e o hardware de cada computador era único, o que significava que não funcionariam nem em outro computador do mesmo fabricante. A cada upgrade, todo o software construído para a geração anterior precisava ser reescrito.
Tudo mudou em abril de 1964.
A família de computadores System/360 era na verdade um conjunto de cinco modelos diferentes de equipamento, com uma mesma arquitetura, e que compartilhavam periféricos, sistemas operacionais, utilitários e ferramentas. Um cliente podia adquirir o modelo menor, com algumas leitoras/perfuradoras de cartão e impressoras, e no futuro fazer um upgrade mantendo todos os periféricos, softwares adquiridos ou sistemas desenvolvidos. Um conceito absolutamente novo: escalabilidade.
O S/360 foi o primeiro sistema a adotar o conceito de microcódigo (ou firmware) ao invés de ter todas as suas funcionalidades pré-definidas em circuitos internos. Isso significava que pela primeira vez seria possível escrever um programa numa linguagem de programação e depois transformá-lo num microcódigo padrão. Como o microcódigo de toda a família S/360 era o mesmo, o programa poderia rodar em qualquer um dos cinco modelos de computadores.
Hoje, parece básico. Mas na época foi uma revolução na indústria de TI que reduziu os concorrentes a determinados nichos (até que desaparecessem) e colocou a IBM no patamar em que está.
A maioria absoluta dos profissionais que atuam com mainframes trabalharão a vida inteira com hardware e software produzidos por esta empresa. É praticamente impossível explicar como os mainframes funcionam sem usar a tecnologia da IBM como referência.
Por este motivo, neste livro, sempre que nos referirmos a um mainframe estaremos falando de um dos equipamentos produzidos por ela.
Downtime é o termo que se usa para o tempo que um sistema, ou um de seus componentes, permanece inativo por causa de problemas inesperados, manutenções, atualizações, arquivamento de dados etc.
Muitas empresas têm prejuízos significativos quando seus processos críticos são interrompidos por qualquer motivo.
Pense um sistema de reservas de passagens aéreas ou numa grande seguradora. Ficar fora do ar por uma hora impede que clientes consumam seus serviços. E muito provavelmente esses clientes buscarão alternativas na concorrência. Coloque isso em escala global e você vai perceber que estamos falando em milhões de dólares de negócios não realizados.
Pense agora em uma operadora de telefonia. Se as centenas de milhões de chamadas locais e de longa distância realizadas no dia anterior não forem processadas a tempo, o serviço de validação, tarifação, faturamento e cobrança de chamadas pode se acumular. Se esse acúmulo comprometer o cronograma de emissão de faturas para os clientes, o vencimento dessas faturas terá que ser postergado. As faturas não serão pagas nas datas que foram previstas no planejamento financeiro. Mais uma vez, milhões de dólares não entrarão em caixa no momento esperado.
Empresas onde a disponibilidade é um fator crítico adotam mainframes devido ao seu baixíssimo índice de downtime.
A disponibilidade média de um mainframe é de 99,999% ao ano. Isso significa menos de 5,3 minutos fora do ar por ano. Algumas empresas reportam que estão há 13 anos sem sair do ar.
Existem diversos componentes de hardware e software na arquitetura que garantem redundância e, consequentemente, a resiliência do sistema. Quando um dos componentes falha – digamos, uma controladora de discos – esse componente pode ser substituído com a máquina em funcionamento. Todo o tráfego destinado à controladora defeituosa é redirecionado para outras controladoras, e o equipamento é trocado e reiniciado sem que nenhum usuário seja interrompido ou perceba degradação de performance.
Em um ambiente de TI, segurança de dados é a proteção que o ambiente oferece contra acesso, transferência, modificação ou destruição de informação por pessoas não autorizadas, seja de forma acidental ou intencional.
Mainframes trabalham conectados a WANs há décadas e, por isso, a proteção contra possíveis invasões e acessos não autorizados sempre fez parte da arquitetura. Todos os incidentes de segurança relatados em mainframes estão relacionados a funcionários mal intencionados ou a falhas na configuração dos sistemas de controle de acesso. Não se tem conhecimento sobre vírus em mainframes.
Mainframes possuem dispositivos de segurança, em hardware e software, que evitam tanto ameaças internas como externas. Muitos dos mecanismos de segurança são implementados no próprio microcódigo do equipamento, o que restringe a autonomia, inclusive, do sistema operacional.
Em complemento a esses recursos de segurança exclusivos, mainframes implementam todos os outros dispositivos de segurança existentes em outras plataformas. Existem, por exemplo, os tradicionais pacotes de controle de acesso, tais como o RACF®, da própria IBM, ou o ACF2®, da Computer Associates. Esses pacotes identificam e autenticam usuários, autorizam ou não o acesso aos diversos recursos do sistema, registram e disparam alarmes para tentativas de acesso não autorizado etc.
A plataforma mainframe é baseada no conceito de "tudo compartilhado". Quando a empresa precisa adicionar servidores, uma máquina virtual é criada no mainframe. E essa máquina virtual compartilhará memória física, unidades de disco, controladoras de I/O, banco de dados, gerenciadores de transação e/ou qualquer outro recurso já disponível no ambiente.
Além disso, existem diversos modelos de mainframes, com diferentes capacidades de processamento que buscam atender as necessidades de grande parte das empresas. E é possível migrar de um modelo para outro, mantendo todo o investimento anterior em software e hardware.
Figura 7. IBM Z/10 modelo BC (à esquerda) e modelo EC (à direita)
Em 2008, por exemplo, a IBM lançou as famílias BC™ (Business Class) e EC™ (Enterprise Class). O System/Z Business Class busca atender empresas com necessidades computacionais de pequeno a médio porte, e é considerado um modelo de entrada, com grande capacidade de crescimento para absorver a evolução do cliente. O modelo BC pode crescer até o limite de 10 processor units (ou PUs). Em termos mais simples, uma única torre pode conter até dez mainframes; e cada mainframe pode substituir a capacidade de processamento de milhares de servidores.
A família System/Z Enterprise Class (EC) é sugerido para empresas com grandes necessidades computacionais. O modelo EC pode crescer até 64 PUs: 64 mainframes em uma única torre.
A plataforma mainframe, portanto, permite às empresas crescer através da simples criação de mais máquinas virtuais para absorver a necessidade de mais servidores, sem nenhuma instalação de hardware ou software adicional. Mas se o limite do equipamento for atingido, existem diferentes opções de expansão sem prejuízo de nenhum dos investimentos anteriores.
Compatibilidade Contínua
Um dos aspectos que mais chama atenção nos mainframes, desde que a IBM lançou o System/360®, é sua compatibilidade total com gerações anteriores.
Toda a arquitetura de mainframes é projetada para permitir que sistemas desenvolvidos pelos clientes há 50, 40 ou 30 anos continuem funcionando nos computadores mais novos, aproveitando a grande maioria dos recursos introduzidos por esses novos equipamentos.
Um modelo lançado em 2015 é capaz de processar programas escritos em 1964, desde que o primeiro System/360 foi lançado.
Esta preocupação com compatibilidade é, em parte, responsável pela forma como o mainframe funciona. Por exemplo, o JCL (job control language) é a linguagem usada para controlar e executar tarefas batch. Esta linguagem é conhecida por ter uma sintaxe muito restrita e pesada. Mas ela é assim porque todas as melhorias que foram implementadas ao longo do tempo tinham como premissa manter em funcionamento os jobs construídos décadas antes.
A expansão acelerada de TI nas empresas, com uma quantidade cada vez maior de servidores, estações de trabalho e outros equipamentos – trouxe mais um desafio para os gestores: consumo de energia.
Um estudo do Gartner Group, publicado em 2010, destaca que a conta de energia elétrica representava 12% dos gastos de um data center e era o custo que mais crescia nesses ambientes
A possibilidade de concentrar centenas e até milhares de servidores em um único mainframe – através de virtualização e cloud computing – oferece mais uma oportunidade para redução do custo total de propriedade.
Menos servidores ligados na tomada reduzem a conta de luz, mas não termina por aí: todo o consumo de energia ao redor dessas máquinas diminui quando consideramos os gastos com refrigeração, espaço físico, cabeamento etc.
Os mainframes mais novos oferecem maior eficiência energética através de avanços no design dos microprocessadores e na conversão e distribuição interna de energia. Além disso, esses equipamentos utilizam sensores para monitorar e ajustar o sistema de resfriamento (cooling) a partir de fatores como temperatura, humidade e densidade do ar nos ambientes onde o mainframe está instalado.
Mainframes mais novos ocupam mais ou menos o espaço de uma geladeira grande. O espaço necessário para acomodar um mainframe é menor do que uma server farm com capacidade equivalente.
Mainframes são supercomputadores?
Algumas vezes ouvimos que mainframes são supercomputadores. Tecnicamente, porém, essas duas expressões têm significados diferentes.
Existem diferenças de tanto no hardware quanto no software, mas talvez o que mais o que mais os distancie seja o tipo de problema que eles tentam resolver.
Figura 8. Supercomputador Sunway TaihuLight (China)
Mainframes são projetados para processar milhões de transações simultâneas, envolvendo quantidades gigantescas de dados que muitas vezes vêm de ambientes externos. Pense na quantidade de transações simultâneas e dados envolvidos no processamento de operações com cartões de débito e crédito, operações em caixas eletrônicos, chamadas telefônicas, medição de consumo de energia elétrica ou declarações de imposto de renda.
Supercomputadores, por outro lado, são projetados para resolver problemas que dependem da velocidade de cálculos complexos sobre grandes volumes de dados. Pense na quantidade de cálculos necessários para pesquisas em mecânica quântica, previsão do tempo, análises climáticas, exploração de óleo e gás, modelagem molecular, aerodinâmica espacial ou fissão nuclear
Podemos, portanto, resumir as diferenças entre essas duas categorias de computadores da seguinte forma:
Tabela 1. Comparação entre mainframes e supercomputadores
O futuro do mainframe
Em fevereiro de 2015 a IBM lançou mais um modelo da família z/Enterprise, o z13™. Este equipamento busca atender um mercado que vem crescendo rapidamente e passando por transformações significativas em todos os setores.
A cada dia mais empresas vêm se transformando em negócios digitais. Para isso, precisam oferecer suporte aos clientes existentes com novos serviços e ofertas e, ao mesmo tempo, atrair novos negócios.
Figura 12. IBM Z/13, lançado em 2015
Grandes empresas precisam de uma infraestrutura de TI que, além de eficiente, segura, adaptável, escalável e integrada (características tradicionais dos mainframes) também consigam lidar com o crescimento explosivo e cada vez maior de clientes móveis, aproveitando as vastas quantidades de novos dados e fornecendo insights profundos e em tempo real para os negócios. Tudo implantado em uma infraestrutura pronta para cloud computing.
O modelo z/13 foi lançado exatamente com esse apelo de marketing. Ele é um mainframe com todas as características já mencionadas neste livro (compatibilidade com modelos anteriores, capacidade de processar um alto volume de transações e dados, escalável, seguro, com alta disponibilidade…). Mas seu projeto buscou diferenciais para estabelecer novos limites.
O z/13 é capaz de processar até 2,5 bilhões de transações por dia, 28.935 transações por segundo. Isso é equivalente a 100 cyber mondays, a primeira segunda-feira após o dia de ação de graças, que já se tornou tradição nos Estados Unidos pelas promoções anunciadas pelos varejistas on-line e pelo alto volume de vendas. Uma transação pode ser uma consulta, uma atualização de dados ou uma venda on-line. No cenário mais simples, essa máquina suporta um banco de dados que cresce à razão de 2,5 bilhões de registros por dia.
O z/13 foi projetado (e testado em laboratório) para suportar um terromoto de 8 graus na escala Richter, e possui o maior nível de certificação de segurança do mercado: o FIPS 140-2, nível 4/4. Foram cinco anos de projeto, mais de 500 patentes (a maioria relacionada a criptografia) e US$ 1 bilhão de dólares de investimento.
Além disso, seus processadores foram otimizados para permitir a análise em tempo real dos dados gerados por essas transações. Isso significa que as empresas podem identificar tendências de consumo ou comportamento no momento em que as transações estão acontecendo.