Prévia do material em texto
W BA 11 59 _V 1. 0 VIRTUALIZAÇÃO E GESTÃO DE DATACENTER 2 Haroldo da Silva Ferreira São Paulo Platos Soluções Educacionais S.A 2022 VIRTUALIZAÇÃO E GESTÃO DE DATACENTER 1ª edição 3 2022 Platos Soluções Educacionais S.A Alameda Santos, n° 960 – Cerqueira César CEP: 01418-002— São Paulo — SP Homepage: https://www.platosedu.com.br/ Head de Platos Soluções Educacionais S.A Silvia Rodrigues Cima Bizatto Conselho Acadêmico Alessandra Cristina Fahl Ana Carolina Gulelmo Staut Camila Braga de Oliveira Higa Camila Turchetti Bacan Gabiatti Giani Vendramel de Oliveira Gislaine Denisale Ferreira Henrique Salustiano Silva Mariana Gerardi Mello Nirse Ruscheinsky Breternitz Priscila Pereira Silva Coordenador Henrique Salustiano Silva Revisor Rogério de Campos Editorial Beatriz Meloni Montefusco Carolina Yaly Márcia Regina Silva Paola Andressa Machado Leal Dados Internacionais de Catalogação na Publicação (CIP)_____________________________________________________________________________ Ferreira, Haroldo da Silva Virtualização e gestão de datacenter / Haroldo da Silva Ferreira. – São Paulo: Platos Soluções Educacionais S.A., 2022. 34 p. ISBN 978-65-5356-336-0 1. Virtualização. 2. Datacenter. 3. Virtualização e orquestração. I. Título. CDD 004.6 _____________________________________________________________________________ Evelyn Moraes – CRB: 010289/O F383v © 2022 por Platos Soluções Educacionais S.A. Todos os direitos reservados. Nenhuma parte desta publicação poderá ser reproduzida ou transmitida de qualquer modo ou por qualquer outro meio, eletrônico ou mecânico, incluindo fotocópia, gravação ou qualquer outro tipo de sistema de armazenamento e transmissão de informação, sem prévia autorização, por escrito, da Platos Soluções Educacionais S.A. https://www.platosedu.com.br/ 4 SUMÁRIO Apresentação da disciplina __________________________________ 05 Datacenter definido por software e virtualização ____________ 07 Virtualização e orquestração de Datacenter _________________ 18 Engenharia de redes para computação em nuvem baseados em arquitetura CISCO ___________________________________________ 30 Modelos de gerenciamento e segurança para armazenamento e processamento das informações ____________________________ 42 VIRTUALIZAÇÃO E GESTÃO DE DATACENTER 5 Apresentação da disciplina Os objetivos principais da disciplina Virtualização e Gestão de Datacenter visam orientar e ampliar o conhecimento dos estudantes e profissionais da área de tecnologia da informação. Apresentando conceitos importantes referidos à área de infraestrutura computacional, focando em virtualização e Datacenter. A disciplina engloba assuntos de suma importância para que possamos ter conhecimentos sólidos sobre os conceitos relacionados à infraestrutura do ambiente de um Datacenter e sobre elementos de virtualização, já que a virtualização é uma tecnologia extremante utilizada, além de ser necessária devido à sua gama de utilidades. Além de vermos tópicos importantes sobre o conceito de um Datacenter, vamos analisar o seu conceito abstrato, definido por software, que é um termo que estende os conceitos de Datacenter e virtualização. E sobre o tema de virtualização, após o nosso aprendizado, poderemos entender a sua importância para a utilização de modelos escaláveis, além de disponibilizar uma infraestrutura computacional de alta performance. Teremos exemplos de grandes players do mercado e tecnologias utilizadas para virtualização de ambientes, assim como exemplos de grandes Datacenters existentes no Brasil e no mundo. A junção de robustos Datacenters com a virtualização possibilitou a expansão da computação em nuvem, o que há muito tempo não é uma promessa de avanço tecnológico, mas sim uma realidade que permite 6 a sustentação da utilização de grandes aplicações e páginas de internet pelo mundo. Reconhecendo a importância da computação em nuvem para a infraestrutura computacional no mundo, vamos verificar elementos básicos da engenharia de rede para computação na nuvem, focando na arquitetura baseada na fabricante Cisco, já que, além da sua tradição na área computacional, ela possui um market share de mais de 50% da venda de computadores de rede. Outro tópico a ser abordado na disciplina se refere aos modelos que podem ser utilizados para o gerenciamento e segurança do armazenamento e processamentos das informações. A segurança de dados é um tema frequente e sensível para todos os ramos da nossa sociedade, envolvendo o sigilo e o tratamento de conteúdo das pessoas, empresas e governos. Apresentaremos algumas ferramentas que podem ser utilizadas para mitigar os riscos de segurança. Utilizaremos as ferramentas, mas também apresentaremos detalhes sobre boas práticas que podem ser utilizadas para conscientizar pessoas, assim como exemplos de normas que são reconhecidas e utilizadas em vários segmentos empresariais. 7 Datacenter definido por software e virtualização Autoria: Haroldo da Silva Ferreira Leitura crítica: Rogério de Campos Objetivos • Orientar sobre a base do conceito de Datacenter e virtualização. • Apresentar elementos de energia em Datacenter. • Estabelecer critérios para a escolha de sistemas complementares. 8 1. Introdução Datacenter e virtualização são vastas áreas de estudo, com excelentes referências bibliográficas e com foco em tópicos objetivos ou mais abrangentes. Veremos aqui um panorama geral sobre os Datacenters, dando ênfase ao Datacenter definido por software, além de assuntos que servem de alicerce sobre a virtualização. 2. Conceito de Datacenter Segundo Faccioni Filho (2016), os Datacenters, que antigamente eram conhecidos como Central de Processamento de Dados (CPD), são considerados ambientes de missão crítica, já que abrigam equipamentos e sistemas que servem de sustentação para ambientes computacionais, garantindo a operação dos mais diversos tipos de empresas ou negócios. E quando falamos todos os tipos de negócios, realmente são os mais variados, como tudo que abrange nossa vida, desde o segmento da saúde, do transporte, das atividades sociais até serviços governamentais. Em suma, um Datacenter pode ser definido como um local que mantém os principais equipamentos computacionais utilizados para processamento de dados através de servidores, armazenamento de dados e comunicação em rede. Claro que sempre será aconselhado possuir um sistema de backup. Com relação aos Datacenters atuais, além de se pensar na questão dos servidores e do processamento de dados, é bastante importante considerar questões relacionadas à segurança predial, com sistemas de monitoramento por câmeras, sistemas de combate a incêndio, controle da temperatura do ambiente e redundância energética. 9 O ideal, seguindo normas como a ABNT NBR 14565, que trata do cabeamento de telecomunicações, é que os Datacenters sejam divididos em segmentos, onde cada sistema de controle do Datacenter fica em um segmento, como podemos ver na Figura 1, a seguir. Figura 1 – Esquema de aprovação e reprovação do estudante Fonte: adaptada de Faccioni Filho (2016, p. 10). Existem outras normas utilizadas em ambientes de Datacenter, sendo as mais importantes: • ABNT NBR 14565:2013 – Cabeamento estruturado para Datacenters. • ANSI/TIA 942-A – Infraestrutura para Datacenter. • ISO/IEC 24764:2010 – Cabeamento para Datacenter. 10 • NASI/BICSI 002 – Desenho e implementação de melhores práticas para Datacenter. Ainda sobre a norma ANSI/TIA 942-A, ela define uma classificação de Datacenter em quatro níveis, conhecido como TIER, veremos algumas características de cada um a seguir: • TIER 1 – Classificação básica, sem obrigatoriedade de redundância da infraestrutura, como rotas físicas e lógicas. Indicado para locais que aceitem downtime abaixo de 99,671% de disponibilidade dos serviços do Datacenter durante o ano. • TIER 2 – Preocupação com alguns elementos de redundância, comoos equipamentos de comunicação da rede, sejam eles pertencentes ao Datacenter ou à operadora de serviços. Indicado para locais que aceitem downtime até 99,749% de disponibilidade dos serviços do Datacenter durante o ano. Datacenter da empresa Hellospoke, nos Estados Unidos. • TIER 3 – Redundância de manutenção preventiva sem necessidade de suspensão de qualquer tipo de serviço oferecido pelo Datacenter, sendo um sistema altamente sustentado. Indicado para locais que aceitem downtime até 99,982% de disponibilidade dos serviços do Datacenter durante o ano. Um exemplo é o Datacenter da DATAPREV no Rio de Janeiro. • TIER 4 – Não permite tolerância a falhas, com redundância elétrica, de refrigeração, comunicação e dispositivos individuais. Indicado para locais que aceitem downtime até 99,995% de disponibilidade dos serviços do Datacenter durante o ano. Um exemplo é o centro tecnológico do banco Santander em Campinas. 2.1 Elementos de energia Podemos afirmar com base na obra de Faccioni Filho (2016), que os Datacenters são imensos consumidores de energia elétrica. No entanto, 11 o alto consumo de energia elétrica é um motivo de preocupação, seja pelo custo da operação, seja pelos aspectos ecológicos. Sistemas de climatização, sistemas de segurança de acesso físico, grande quantidade de servidores e equipamentos de comunicação de rede fazem parte dos recursos em um Datacenter que necessitam de bastante consumo de energia elétrica. Alinhado ao conceito de menor consumo de energia e à preocupação com medidas ecologicamente benéficas, surgiu o termo green Datacenter, que não necessariamente tem relação com menor consumo de energia, mas sim com o uso de fontes de energia renováveis. Existem certificações com foco em eficiência energética, como a Leadership in Energy and Enverinomental Design (LEED) ou até tradados, como o Pacto de Operador de Datacenter Neutro Climático da União Europeia. Podemos citar algumas empresas que possuem Datacenter com selo green, entre elas a Equinix, Hawuei e a Digital Realty, ambas com serviços de Datacenter no Brasil. 2.2 Elementos de climatização Um outro fator que pode ser preocupante em Datacenters é a questão da climatização, já que existem muitos equipamentos sensíveis em um ambiente computacional, que precisam de condições ambientais específicas. Segundo Faccioni Filho (2016), a entrada de ar dos equipamentos críticos em ambiente do Datacenter deve estar entre 18° e 27°, com umidade próxima aos 60%. Já as saídas de ar desses equipamentos devem estar próximas dos 38°, com umidade relativa do ar em torno de 20%. Existem normas que determinam parâmetros térmicos operacionais para salas de computadores, entre elas: 12 • NBR 14565 – Norma para procedimentos básicos de projetos de cabeamento. • TIA – 942-A – Estabelece padrões para elaboração de projetos de Datacenter. • ASHRAE TC 9.9 – Aspectos sobre projeto e operação de Datacenter. 2.3 Datacenter definido por software Para Sodhi Singh (2017), Datacenter, definido por software, ou, em inglês, Software-Defined Datacenter (SDDC), é um modelo de Datacenter virtualizado, ou seja, quando a infraestrutura computacional é virtualizada e entregue como serviço. Também podemos enxergar esse modelo como uma combinação de tecnologias, como Software-Defined Network (SDN), Software-Defined Computing (SDC) e Software-Defined Storage (SDS), esse tipo de abstração computacional é utilizado em conjunto com técnicas de gerenciamento de tráfego e cargas de trabalho. Assim como um modelo de nuvem computacional Infrastructure as a Service (IaaS), algumas das grandes vantagens em utilizar um Datacenter definido por software é o aumento da velocidade de entregas de serviços, maior eficiência, economia de energia e maior possibilidade de expansão. 3. Conceito de virtualização Segundo Veras (2011), a tecnologia de virtualização pode ser considerada uma das tecnologias centrais de um Datacenter, já que transforma um servidor físico em vários servidores virtuais, gerando muitos impactos e benefícios na sua utilização. 13 Podemos citar como alguns dos benefícios adquiridos com a tecnologia de virtualização a redução de espaço físico utilizado, a possibilidade de otimizar o uso da infraestrutura computacional, otimizando cargas de trabalho e, por fim, a economia de energia. Existem dois conceitos importantes quando tratamos de virtualização, são os workloads e o throughput. Os workloads consistem em conjuntos de dados a serem processados, já o throughput define a capacidade de um software ou hardware em processar os dados. Podemos dizer, ainda, que a virtualização pode ser conceituada em duas formas principais. Na primeira, a virtualização é implementada por software, ou virtualização com hypervisor. Também conhecidos como bare metal, os hipervisores são utilizados para separar recursos físicos dos ambientes virtuais, a Figura 2 ilustra o conceito de virtualização. Figura 2 – Arquitetura de virtualização Fonte: adaptada de Veras (2011, p. 88). Uma máquina virtual nada mais é que um arquivo que pode ser realocado em outro local, assim como qualquer arquivo digital. Ademais, após aberta e utilizando o hypervisor correto ela deve funcionar da mesma maneira. 14 As principais empresas ligadas à virtualização são a VMWare, com produtos da linha VSphere; Oracle Virtual Box e o Microsoft Hyper-V. Independentemente do fabricante escolhido, a virtualização tem o mesmo conceito de funcionamento e tem vasta documentação na internet para a melhor escolha baseada em funcionalidades e preço. 3.1 História da irtualização Para Veras (2011), a virtualização surgiu após um artigo publicado por Christopher Strachey, chamado Time Sharing Processing in Large Fast Computers, em Nova York, no ano de 1959. Nessa publicação foi estabelecido um novo conceito na utilização de computadores de grande porte, esse novo conceito apresentava o uso de multiprogramação em tempo compartilhado. Baseado no artigo de Strachey, foi desenvolvido um padrão, que depois seria utilizado em muitas empresas de fabricação de máquinas de grande porte, o Compatible Time Sharing System (CTSS). Tempos mais à frente, o padrão foi evoluindo, uma ideia da empresa IBM permitia o uso de várias unidades de processamento trabalhando como uma só em mainframes, sendo uma antecipação do conceito de virtualização. Podemos afirmar que a virtualização se iniciou com o conceito de máquina virtual de processo, porém, existia um grande desperdício da capacidade física do hardware. Pensando em mitigar esse desperdício, surgiu o hypervisor, com o primeiro sistema operacional baseado em virtualização, o IBM VM/370. A popularidade do uso de virtualização veio apenas após 1998, com o surgimento da VMware, criada por Mendel Rosenblun e Diana Greene. Eles desenvolveram o primeiro hypervisor, que permitia virtualização de servidores de plataforma baixa x86. 15 3.2 Tipos de virtualização Utilizando como base os conhecimentos de Sodhi Singh (2017), vamos abordar, neste tema, os tipos de virtualização. Desde a primeira fase de popularização da virtualização na década de 1998, houve muitas evoluções nas tecnologias de virtualização, veremos a seguir as características das principais: • Virtualização de dados – Trata-se da consolidação de vários dados que estão armazenados em locais distintos. Com esse tipo de virtualização, é possível oferecer recursos de processamento de forma dinâmica, reunindo dados de fontes diversas e dando a possibilidade ao usuário de transformar esse dado conforme sua necessidade, interagindo com esse dado como se estivesse acessando uma única fonte. Podemos citar como exemplo a ferramenta da IBM, o Watson Query. • Virtualização de desktop – Esse é o tipo de virtualização mais comum entre os usuários de computador, já que a sua abstração é mais evidente ao usuário. A virtualização de desktop é diferente de uma virtualização de sistema operacional, já que permiteque sejam implantados ambientes de um desktop simulado em centenas de máquinas físicas de uma só vez. Podemos citar como exemplo a tecnologia adotada pela empresa Citrix, utilizando sua Virtual Desktop Infrastructure (VDI). • Virtualização de servidor – Na virtualização de servidores, utilizando um software especialmente projetado, um administrador de infraestrutura computacional pode converter um servidor físico em várias máquinas virtuais. Cada servidor virtual funciona como um dispositivo físico único, capaz de executar seu próprio sistema operacional. Em teoria, você poderia criar servidores virtuais suficientes para usar todo o poder de processamento de uma máquina, embora, na prática, isso nem 16 sempre seja a melhor ideia. Existem dois tipos de virtualização de servidores: • Completa – Nesse tipo de virtualização é utilizado um hypervisor, que monitora os recursos físicos e mantém os servidores virtuais interdependentes. Uma limitação desse tipo de virtualização é que o hypervisor tem maiores necessidades de processamento, o que pode comprometer o desempenho das máquinas virtuais. • Paravirtualização – Nesse tipo de virtualização, diferente da virtualização completa, o hypervisor tem menor necessidade de processamento, já que todos os sistemas operacionais nos servidores virtuais se conhecem, trabalhando como uma unidade coesa. • Virtualização de sistemas operacionais – É uma maneira de utilizar sistemas operacionais de forma paralela, realizando a virtualização no kernel, como executar um sistema operacional Linux dentro do Windows, sistemas operacionais virtualizados também podem ser chamados de instâncias. • Virtualização de atividade de rede – Também conhecida como Virtualização de Funções de Rede (NFV), separa serviços importantes de rede, como resolução de nomes, atribuição de IP e compartilhamento de arquivos, empacotando em máquinas virtuais em um hardware comum. Tal tipo de virtualização serve como base para a Software Defined Networking (SDN). Uma arquitetura NFV é composta por três elementos: • Funções de rede virtualizada – É propriamente dito o fornecimento de funções de rede. • Infraestrutura de virtualização – Geralmente, quem atua é o hypervisor, gerenciando atividades de computação, como armazenamento e rede. 17 • Orquestração, automação e gerenciamento – Aqui cabe a responsabilidade de disponibilizar frameworks para gerência da infraestrutura computacional e provisão de novas funções de rede virtualizadas. • Virtualização de Memória – Recurso desenvolvido na ciência da computação, a virtualização de memória dissocia recursos voláteis de memória de acesso aleatório de sistemas individuais no Datacenter e, em seguida, agrega esses recursos em um pool de memória virtualizada, disponível para qualquer computador no cluster. O pool de memória é acessado pelo sistema operacional ou por aplicações executadas na parte superior do sistema operacional. O conjunto de memória distribuída pode então ser utilizada como um cache de alta velocidade, uma camada de mensagens ou um grande recurso de memória compartilhada para processamento de aplicações diversas sendo executadas em um sistema operacional. • Virtualização de armazenamento – Recurso desenvolvido na ciência da computação, a virtualização de armazenamento usa a virtualização para disponibilizar melhores funcionalidades e os mais avançados recursos no armazenamento de dados computacionais. Trata-se de uma camada de abstração que agrupa vários armazenamentos físicos disponíveis. Referências ANSI/TIA-942. Telecomunicantios infrastructure standard for datacenters. Arlington: TIA, 2005. FACCIONI FILHO, M. Conceitos e infraestrutura de Datacenters. Palhoça: Unisul Virtual, 2016. SODHI SINGH, B. Topics in Virtualization and Cloud Computing. Ropar, [s. l.], 2017. VERAS, M. Virtualização. Brasport, [s. l.], 2011. 18 Virtualização e orquestração de Datacenter Autoria: Haroldo da Silva Ferreira Leitura crítica: Rogério de Campos Objetivos • Orientar sobre modelos de alta performance. • Apresentar elementos sobre orquestração de Datacenter. • Estabelecer critérios para a escolha de sistemas complementares. 19 1. Introdução A virtualização e a orquestração estão em alta no mercado de tecnologia faz algum tempo, devido aos benefícios conquistados com a sua utilização, afinal, os objetivos dos consumidores desse setor não são muito diferentes de consumidores de outros setores. Entender qual foi a necessidade das empresas de virtualizar seus servidores nos faz entender, também, a necessidade dos consumidores dessas tecnologias e como servidores de alta performance podem ser úteis no dia a dia de várias empresas e pessoas diferentes. Mas com tanto fluxo de trabalho, com tantas aplicações e servidores que precisam ser gerenciados, aumentou a necessidade de automatizar a coordenação de todas essas tarefas rotineiras e, com isso, passou a se falar mais no termo de orquestração, que veremos aqui no decorrer do nosso material. 2. Virtualização de Datacenter Segundo Faccioni Filho (2016), os antigos Datacenters precisavam de muito espaço para acomodar os servidores, já que eram enormes, devido à baixa densidade desses servidores. Atualmente os Datacenters modernos possuem maior densidade de equipamentos em suas instalações, já que hoje os computadores possuem capacidade de armazenamento e processamento muito maiores, mesmo possuindo gabinetes muito menores. Os grandes computadores eram comuns nas décadas de 1980 até o final da década de 1990, mas com o passar do tempo e com o avanço de novas tecnologias, os espaços passaram a ser utilizados com maior eficiência, assim como as tecnologias embarcadas passaram a ser 20 otimizadas. Avanço é uma palavra que acompanha de forma constante as áreas ligadas à computação e move muito dos esforços profissionais e investimentos do setor. Para Veras (2011), o ritmo acelerado de mudanças em um cenário global exige que as empresas tenham maior flexibilidade para inovação, isso também atinge as áreas de tecnologia da informação, necessitando que essas áreas fiquem cada vez mais adaptáveis. Segundo Veras (2016), devido ao grande esforço em entregar serviços sob demanda, muitos Datacenters estão migrando para a modalidade de serviços, também conhecida como Data Center as a Service (DCaaS). Trata-se do oferecimento do uso das instalações de um Datacenter para clientes externos, utilizando seus recursos computacionais. Existem alguns tipos de serviços oferecidos por Datacenters, veremos os principais a seguir: • Datacenter hyperscale – É um Datacenter que abriga em suas instalações uma infraestrutura voltada para a missão crítica, para a grande capacidade de processamento de dados, o armazenamento e os critérios de segurança da informação, com profissionais próprios dedicados à manutenção elétrica, à refrigeração, à segurança predial e à tecnologia da informação. • Datacenter colocation – Trata-se de alugar um espaço em um Datacenter dentro da estrutura de um Datacenter. Algumas empresas não têm espaço ou preferem colocar seus servidores em locais mais seguros, com melhores aspectos de refrigeração, segurança predial e até mesmo com redundância de energia e comunicação. • Datacenter enterprise – Muito parecido com o hyperscale, mas com uma pequena diferença de que apenas a equipe de tecnologia da informação é própria, podendo terceirizar os demais serviços, como as áreas de manutenção e segurança predial. 21 • Datacenter edge – Esse é um tipo de Datacenter que está se tornando mais comum, trabalhando em conjunto com outras formas de Datacenter. Essa é uma forma de construir uma estrutura menor e mais perto dos seus usuários, diminuindo, assim, a latência, o que é fundamental para alguns tipos de serviços, como sistemas financeiros ou streamings. Podemos ver na Figura 1, a seguir, como é a abstração de um Datacenter edge e uma nuvem computacional. Figura 1 – Abstraçãode um Datacenter edge e nuvem computacional Fonte: adaptado de Veras (2011, p. 32). • Datacenter cloud – Como já sabemos, a virtualização dos servidores possibilitou e popularizou o uso da nuvem computacional e hoje muitas empresas utilizam nuvem privada, que consiste no uso do serviço computacional em uma rede 22 privada, o openstack é muito utilizado para essa função. Já a nuvem pública é a maneira mais prática de implementar uma infraestrutura computacional, já que os recursos computacionais estão em um provedor como AWS, Azure ou Google Cloud. E temos também o formato híbrido que combina os serviços da nuvem pública com o maior controle da nuvem privada. 2.1 Orquestração Com o advento de servidores com cada vez mais capacidade de processamento e armazenamento de dados, segundo Geng (2021), houve também um sensível aumento de sistemas que precisam escalar seus serviços. Sendo assim, ficou praticamente impossível para os usuários de servidores virtualizados, e principalmente clientes de nuvem computacionais, de gerenciar seus serviços manualmente em sua totalidade. A virtualização e a nuvem computacional possibilitaram aos usuários implantar uma infraestrutura e realizar modificações sob demanda, configurando um autoatendimento. Isso é possível com a utilização de Application Programming Interface (API), que permite que os usuários possam interagir com a nuvem computacional através de ferramentas preestabelecidas. O gerenciamento do ciclo de vida de uma nuvem computacional é realizado através do monitoramento de atividades e sistemas de orquestração para coordenar e automatizar, como a recuperação automática de servidores ou a realização de auto scaling, que é a criação de uma nova instância de servidor de acordo com limites preestabelecidos para a sua atuação. Essa elasticidade computacional atua de forma dinâmica, podendo ser vertical, apenas alterando a capacidade do servidor com aumento de capacidade de armazenamento ou do uso de memória. Ela pode ser 23 também horizontal, com a criação de uma cópia do servidor que está com alta demanda de acesso, criando um novo servidor de maneira automática e transparente ao usuário. O autor Geng (2021) nos ensina que, por definição, a orquestração é uma configuração, assim como o gerenciamento, a coordenação de forma automatizada de serviços computacionais, como aplicações ou sistemas. O principal objetivo da orquestração é ajudar a tecnologia da informação no gerenciamento de fluxos de trabalho e facilitar a execução de tarefas complexas existentes no cotidiano. Executar uma tarefa de maneira manual não é uma forma escalável de utilizar uma infraestrutura computacional, pois quanto maior é o número de servidores mais complexo é o sistema de tecnologia da informação e mais complicado é o gerenciamento de todos os componentes. A combinação de várias tarefas automatizadas e seus grupos de configurações é cada vez mais necessária, sendo aí um ponto em que a orquestração pode ajudar. É importante frisar que automação e orquestração são coisas distintas, apesar de serem relacionadas. Na automação existe o aumento da eficiência com redução ou substituição da interação humana por um sistema de tecnologia da informação. De uma maneira geral, a automação é sinônimo de automatizar uma tarefa com intuito de reduzir custos, complexidade e erros. Já a orquestração trata de automatizar processos ou fluxos de trabalho que passam por várias etapas diferentes e podem ser executadas por diferentes sistemas computacionais. A orquestração incorpora automatização aos processos, dando possiblidade de executá-los de forma automática. A orquestração simplifica, otimiza e corrige erros de processos. Podemos citar como exemplo o provisionamento de servidores, o gerenciamento de incidentes computacionais ou a verificação de banco de dados. 24 Ligada à cultura DevOps, a orquestração muitas vezes é utilizada como uma Infrastruct as a Code (IaaC), ou seja, como gerenciamento e provisionamento de servidores utilizando códigos de configuração. Agora que sabemos um pouco mais sobre orquestração, é sempre bom saber alguns exemplos de ferramentas que podem ser utilizadas e, no caso da orquestração, podemos citar quatro exemplos: • Red Hat Ansible Automation Platform – É um serviço de automação e orquestração para o sistema operacional Red Hat. Possui um grande catálogo de serviços, entre eles, o gerenciamento do ciclo de vida para recursos, como provisionamento, desativação e geração de registros em implantações complexas. • Kubernetes – Muito utilizado para contêineres, é uma ferramenta open source que automatiza a implantação, o dimensionamento e os gerenciamentos de aplicações em contêiner. • AKS Azure – Trata-se de um serviço do kubernates na nuvem computacional Azure, para gerenciamento unificado, interoperabilidade com serviços de segurança, assim como gerenciamento de custos e serviços de migração. • AWS Cloud Formation – É um recurso da nuvem da AWS para modelar, provisionar e gerenciar recursos da própria AWS ou de fornecedores terceiros, tratando a infraestrutura como código para aplicar cultura DevOps e escalar pilhas de produção. 2.2 Modelo de alta performance Os modelos de alta performance, também conhecidos como High Performance Computing (HPC), segundo Geng (2021), são uma maneira de agregar poder computacional de uma forma muito mais concentrada e com maior capacidade que os servidores tradicionais. O HPC é uma maneira para realizar processamento de volumes de dados em uma 25 escala muito maior, com maior velocidade, podendo utilizar vários computadores em uma estrutura coesa. Esse modelo de alta performance é baseado em utilização de um HPC, para solução de problemas complexos e de alto desempenho. Assim como boa parte da infraestrutura computacional, o HPC muitas vezes está sendo migrado para nuvens computacionais, para ajudar no desenvolvimento e pesquisa de produtos, já que utiliza menos protótipos, acelerando os testes e diminuindo o prazo de entrega. Devemos entender como um HPC funciona: para começar, os ambientes de HPC ou simplesmente de supercomputadores, geralmente trabalham em clusters, ou seja, de certa forma, interligados para aumentar o poder computacional e diminuir prazos de entrega. Os clusters geralmente são criados de maneira automática em nuvens computacionais, tendo assim um ganho econômico. Existem muitas tarefas para serem executadas pelos servidores, mas vamos chamar de carga de trabalho. Essa carga de trabalho, se tiver um tamanho grande, será dividida e compartilhada entre os participantes do cluster, como nos é ensinado pelos autores Chee e Franklin Jr. (2013). Pensando nisso, podemos afirmar que um HPC é importante para ajudar diferentes tipos de profissionais, como cientistas de dados, engenheiros de diversas áreas, designers ou diversos pesquisadores, ajudando na solução de grandes problemas, em menos tempo e com menor custo do que a computação tradicional. E seguindo os ensinamentos de Chee e Franklin Jr. (2013), podemos traçar alguns benefícios conquistados com o uso do HPC: • A inovação – Ajuda a impulsionar a inovação em diversos setores de pesquisa, que visam melhorar a qualidade de vida de todos os seres existentes. 26 • O menor custo – Conseguindo respostas mais rápidas, diminui o desperdício de tempo e dinheiro, aumentando a eficiência na resolução de cargas de trabalho. • A redução dos testes – Utilizando simuladores nos HPC, pode- se diminuir a realização de testes físicos, aumentando, assim, a eficiência em projetos que utilizam essa tecnologia. • Maior velocidade – Um HPC pode realizar, em menor tempo, a resolução de problemas, por exemplo, um cálculo massivo em horas, em vezes de fazer o mesmo processo em meses em um servidor convencional. Se pensarmos nos diversos setores econômicos que existem em nossa sociedade, podemos citar os seguintes exemplos: • Assistência médica – Podeajudar na pesquisa de novos medicamentos ou vacinas, para curar doenças comuns ou raras. • Varejo – Realizar análise de dados da massa de clientes para fornecer recomendações de produtos é apenas um dos exemplos que podemos citar. • Manufatura – Realização de simulações para apoiar novos projetos, a fase de fabricação e a realização de testes. A utilização de um HPC pode ser feita localmente em servidores on- premises ou pode ser feita em nuvens computacionais, além, é claro, do HPC poder ser utilizado em um modelo híbrido de computação. Existem alguns desafios que serão encontrados com a implantação do HPC, um dos mais vistos é um investimento significativo e equipamentos de computação que vão precisar de atualização constante. Outra dificuldade é manter o gerenciamento constante e pagar por isso. 27 Utilizando as informações que temos até agora e analisando os ensinamentos de Geng (2021), podemos citar por qual motivo é melhor utilizar HPC em um ambiente de nuvem e o que o provedor de nuvem computacional precisa oferecer: • Custos bem-definidos – Geralmente o custo é debitado conforme o que foi utilizado, então, é muito importante saber pelo que está sendo cobrado, para não existirem surpresas sobre esse assunto. • Know-how com HPC – Deve possuir profunda habilidade com execuções de carga de trabalho HPC, fornecendo desempenho ideal mesmo que seja em períodos de pico de processamento. • Flexibilidade para migração – As cargas de trabalham precisam ser executas da mesma forma, sendo em um ambiente on-premise ou em uma nuvem computacional, facilitando a migração de cargas de trabalho. • Bom desempenho – Deve possuir o melhor em processamento, armazenamento e tecnologias de rede para a realização das tarefas que serão exigidas. Depois de vermos sobre todos esses assuntos, agora podemos ter uma ideia melhor de como funciona um modelo de alta performance e quais são os objetivos na sua utilização. Mas, pensando no futuro, podemos ter uma ideia do que está por vir na utilização de HPC. Segundo Geng (2021), empresas de todo o mundo utilizam HPC e até 2023 o seu uso deve ter um aumento de mais de 50%. Você pode esperar que, em um futuro não tão distante, haverá uma conversão entre o HPC e o big data. O resultado alcançado será a criação de um maior poder de computação, servindo de suporte para transformações da nossa sociedade através de importantes pesquisas e inovações. 28 2.3 Sistemas complementares Existem conceitos importantes que precisam ser observados na utilização de um modelo de alta performance, o autor Veras (2011) cita em sua obra alguns exemplos, como recuperação de desastres, capacidade computacional e velocidade na construção de um ambiente computacional com utilização de um modelo de alta performance. Sendo assim, vamos ver esses conceitos traduzidos em ferramentas utilizadas no ambiente da nuvem computacional da AWS: • Amazon EC2 – Alto nível de compatibilidade de virtualização, com segurança e capacidade computacional, utilizando processadores de última geração. • Elastic Fabric Adapter – Desenvolvido para execução de aplicações HPC em escala, com alto nível de comunicação. • AWS Parallel Cluster – Ferramenta de código aberto que facilita a implantação e gerenciamento de uma infraestrutura com clusters HPC. • Amazon FSx – Criado para realizar o processamento de conjunto de dados massivos sob demanda e escalável, com alta performance e baixíssima latência. • AWS Batch – Desenvolvido para permitir escalar centenas de milhares de trabalhos computacionais na nuvem da AWS. • Nice DCV – Oferece desktop remoto de alta performance, disponibilizando um protocolo eficiente de largura de banda e alta performance. • Elastic Desaster Recovery – Realiza replicação de dados, sendo possível realizar testes sem interrupções do sistema, a recuperação pode ser feita em poucos minutos. 29 Referências CHEE, B.; FRANKLIN JR., C. Computação em nuvem: tecnologias e estratégia. São Paulo, Mbooks, 2013. FACCIONI FILHO, M. Conceitos e infraestrutura de Datacenters: livro digital. Palhoça: Unisul Virtual, 2016. GENG, H. Datacenter handbook: plan, design, build and operations of a smart data center. 2. ed. Wiley, 2021. VERAS, M. Virtualização. Brasport, 2011. VERAS, M. Virtualização: tecnologia central do Datacenter. Rio de Janeiro: Brasport, 2016. 30 Engenharia de redes para computação em nuvem baseados em arquitetura CISCO Autoria: Haroldo da Silva Ferreira Leitura crítica: Rogério de Campos Objetivos • Orientar sobre computação na nuvem. • Apresentar elementos sobre redes de computadores. • Estabelecer critérios apresentados pela Cisco. 31 1. Introdução A computação na nuvem está em alta no mercado de tecnologia faz algum tempo, trata-se de uma tecnologia que veio para ficar, pois é extremamente necessária nos dias de hoje para popularização de aplicações das mais variadas empresas. Entender como funciona a rede de computadores hoje com o advento da computação na nuvem é extremamente importante para aqueles que desejam estudar ou trabalhar nesse segmento. Pensando em explorar as características da engenharia de redes para computação na nuvem, usaremos como material base uma arquitetura com suporte da Cisco, uma das maiores empresas de tecnologia, que é sinônimo de equipamentos de rede com qualidade elevada. 2. Conceito de nuvem de acordo com a CISCO Segundo Santana (2016), há mais de uma década, muitos entusiastas em tecnologia já previam que a computação na nuvem resolveria muitos desafios relacionados à tecnologia da informação. Como nos ensina Veras (2011), com o tempo, muitos profissionais de tecnologia da informação perceberam que a computação em nuvem não é um produto, nem mesmo uma solução milagrosa, mas sim um modelo que permite explorar recursos de computação de maneira nova e com foco em economia. Foi através do esforço de organizações de renome, como o National Institute of Standards and Technologies (NIST), que a computação em nuvem foi definida de forma adequada como um novo modelo de tecnologia da informação. Um modelo criado para resolver problemas 32 das operações manuais que ainda existem em muitos departamentos de tecnologia da informação de diversas empresas. Para Santana (2016), os exames de certificação da Cisco requerem conhecimento sobre as características comuns da computação em nuvem, conforme alguns pontos definidos pelo NIST: • Atendimento sob demanda – O usuário pode acessar sua conta no provedor de nuvem via navegador de internet e verificar o cardápio de serviços oferecidos. Depois de escolhido o serviço, o provedor de nuvem provisiona o serviço de maneira automática, sem necessidade de interação manual. • Elasticidade rápida – A elasticidade denota a qualidade de um objeto para mudar e se adaptar a uma nova situação dentro da computação em nuvem, uma solicitação de alteração feita pelo usuário final, para provisionamento de recursos que são comumente utilizados. • Pool de recursos – Significa genericamente o agrupamento de recursos para maximizar vantagens e minimizar riscos para os usuários desses recursos. Em tecnologia da informação, um pool de recursos refere-se a um conjunto de recursos de computação (como armazenamento, processamento, memória e largura de banda de rede) que funcionam em conjunto como um grande recurso compartilhado por muitos usuários. • Amplo acesso à rede – Os serviços em nuvem devem estar disponíveis em pelo menos uma dessas redes e devem ser acessíveis por meio de mecanismos padrão compatíveis com a maioria das plataformas de clientes, incluindo smartphones, tablets, laptops e estações de trabalho. Com essa presença onipresente, os usuários finais podem facilmente estender seus recursos de computação local por meio de serviços remotos em nuvem. 33 • Medidor de serviços – Embora muitos departamentos de tecnologia da informação possam se opor a essa afirmação, a medição cuidadosa do uso de recursosde computação não é uma prática padrão. A considerável complexidade do gerenciamento da tecnologia da informação, atendendo a uma infinidade de operações subalternas, normalmente leva a medição de serviço a ser determinada para “algum tempo depois”. Por esse motivo, muitas organizações buscam aumentar a visibilidade sobre sua real demanda de tecnologia da informação por meio da terceirização de serviços para empresas especializadas. Com o serviço de medição sendo uma das características essenciais da computação em nuvem, os usuários finais têm acesso a informações detalhadas sobre o uso de recursos. Consequentemente, o provedor de nuvem pode planejar com mais eficiência a capacidade de recursos da nuvem por meio da correlação desses dados para todos os consumidores dos provedores de serviço. 3. Implantação de nuvem Para Veras (2016), a computação na nuvem é um modelo de serviço computacional de acesso à tecnologia da informação que certamente é mais flexível que a maioria das tecnologias computacionais. Ela dá suporte a vários modelos, como o Plataform as a Service (PaaS), Software as a Service (SaaS) e Infrastructure as a Service (IaaS), e facilita a adaptação do ambiente aos seus consumidores. Uma nuvem computacional pode estar mais próxima ou mais distante do seu usuário, dependendo do modelo de implementação escolhido. Em resumo, é a maneira escolhida para impor restrições de uso para lidar com vulnerabilidades causadas por compartilhamento de recursos e implementação de infraestrutura que não atendem padrões de conformidade. 34 Segundo Santana (2016), existem quatro modelos de implementação segundo a Cisco, sendo que toda definição é baseada no NIST: • Modelo público – É uma infraestrutura de nuvem provisionada para uso aberto pelo público em geral. A nuvem pública pode ser de propriedade, gerenciada e operada por uma organização empresarial, acadêmica ou governamental, ou alguma combinação delas. Ela existe nas instalações do provedor de nuvem. • Modelo privado – Esse modelo de implantação de nuvem é definido como aquele em que a infraestrutura de nuvem é provisionada para uso exclusivo por uma única organização composta por vários consumidores. O objetivo principal por trás de uma nuvem privada é isolar completamente os componentes da nuvem de outras organizações, capacitando uma empresa a consumir serviços em nuvem com segurança superior, controle mais rígido e custos mais gerenciáveis. • Modelo híbrido – Uma infraestrutura de nuvem híbrida representa uma composição de duas ou mais infraestruturas de nuvem distintas que permanecem entidades únicas, mas são unidas por tecnologia padronizada ou proprietária que permite a portabilidade de dados e aplicativos. • Modelo comunitário – Modelo criado para estabelecer um meio- termo entre as nuvens privadas e públicas. Uma nuvem comunitária corresponde àquela em que a infraestrutura em nuvem é provisionada para uso exclusivo por uma comunidade específica de consumidores de organizações que compartilham preocupações. A escolha deve ser baseada em considerar os benefícios e as desvantagens de cada modelo de implantação, antes de optar pela escolha de um deles. Pensando nesses desafios, a Cisco e seus parceiros desenvolveram o conceito de Intercloud, através da tecnologia chamada de Cisco Intercloud Fabric. 35 A escolha de um modelo de nuvem computacional pode se tornar um grande dilema para as organizações, tendo em vista os novos desafios tecnológicos que apareceram nos últimos anos, como o IoT (Internet of Things), o BYOD (Bring Your Device) e o Big Data. Notavelmente, a liberdade de escolha que as nuvens híbridas oferecem às organizações tende a diminuir o estresse que essas novas tendências podem impor em uma infraestrutura de data center tradicional. Fundamentalmente influenciada por essa percepção, a Cisco lançou sua estratégia Intercloud em 2014. A estratégia Intercloud é firmemente baseada em uma abordagem centrada em parceria para nuvens híbridas, representada na Figura 1. Figura 1 – Intercloud Fabric Fonte: adaptada de Santana (2016, p. 72). Os benefícios do Cisco Intercloud podem ser resumidos pelos seguintes princípios: • Escolha do modelo de consumo – Libera as organizações para provisionar e gerenciar serviços de nuvem de forma agnóstica a partir de sua tecnologia de nuvem privada e da infraestrutura pública escolhida. Além disso, os parceiros de nuvem da Cisco 36 podem atuar como corretores de nuvem para as ofertas fornecidas pelos Cisco Intercloud Services ou até mesmo por outros membros da Intercloud. • Infraestrutura Intercloud – Como os roteadores foram a base da Internet, a base da infraestrutura Cisco Intercloud é o Cisco Intercloud Fabric, que essencialmente promove a integração entre provedores de nuvem distintos. • Aplicações Intercloud – O Cisco Intercloud permite uma combinação fácil e segura de aplicativos locais e aplicativos de nuvem pública por meio de um rico ecossistema de provedores de nuvem SaaS e PaaS. • Interoperabilidade e padrões abertos – A Cisco está comprometida em manter uma abordagem aberta para o Intercloud, oferecendo flexibilidade para projetos de nuvem híbrida que exigem um alto nível de interoperabilidade com tecnologias tradicionais de Datacenter e ofertas de nuvem pública. • Segurança – Durante a movimentação de dados críticos para uma nuvem pública, uma organização precisa manter o controle sobre a privacidade dos dados, sua localização e conformidade com os regulamentos. Ter uma ampla variedade de provedores de nuvem pode ajudar as empresas a obter segurança de ponta a ponta, que abrange desde sua rede interna até serviços de nuvem que possam ter contratado. O Cisco Intercloud atinge esse objetivo por meio de políticas de segurança ágeis que permanecem consistentes, independentemente do provedor escolhido. Podemos salientar que o Cisco Intercloud visa capacitar os setores de tecnologia da informação a manter um controle rígido dos recursos provisionados em um número variado de estruturas de nuvens computacionais, com diferentes modelos de implantação. 37 O Cisco Intercloud Fabric é a base da infraestrutura do Cisco Intercloud e pode ser considerado a peça que mantem juntos os elementos do Cisco Intercloud. O Cisco Intercloud Fabric consiste em uma pilha de software que permite o controle centralizado de recursos de nuvem híbrida. A solução Cisco Intercloud Fabric é dividida em duas partes complementares, a primeira é a nuvem privada e a segunda o Intercloud Fabric for Providers, que é instalado em provedores de nuvem que são membros do ecossistema Cisco Intercloud. O Cisco Intercloud Fabric for Business também interage com nuvens públicas, como Amazon Web Services, Google Cloud e Microsoft Azure, por meio de suas interfaces de programação de aplicativos. 4. Virtualização de servidor para nuvem Ao contrário de um equívoco comum entre muitos profissionais de tecnologia da informação, para Chee e Franklin Jr. (2013), as tecnologias de virtualização não são exclusivas dos servidores ou mesmo das inovações de ponta do nosso século. Como um termo genérico, virtualização pode ser definida como a emulação transparente de um recurso de tecnologia da informação para fornecer aos seus consumidores benefícios que não estavam disponíveis em sua forma física. Portanto, esse conceito pode ser adotado por muitos recursos, como dispositivos de rede, matrizes de armazenamento ou aplicativos. Quando a virtualização foi originalmente aplicada a sistemas de computador, várias vantagens foram alcançadas em duas plataformas diferentes, virtualização de mainframe e virtualização x86. Segundo Faccioni Filho (2016), a virtualização de mainframe consiste em neutralizar o efeito da tendência que, com avanço do desenvolvimento 38 de hardware, junto da mudança na pilha de software e do sistema operacional acarretam incompatibilidades. A IBM lançou o Programa de Controle de MáquinaVirtual em 1972, com ampla adoção em sua base de clientes, trazendo vários benefícios, como isolamento de usuário e suporte a aplicações legadas. Já a virtualização x86 vem do termo genérico x86, que se refere à arquitetura básica de computadores que usaram o processador Intel 8086 e suas gerações subsequentes. Sua ampla adoção em computadores pessoais e estações de trabalho abriu caminho para a popularização da arquitetura em Datacenters, unindo-se à adoção da arquitetura cliente/servidor, iniciada na década de 1980. À medida que aplicativos mais diversos foram implantados, o extenso exército de servidores mal utilizados levou os Datacenters a limites físicos inescapáveis, como energia e espaço. Fundada em 1998, a VMware aplicou os princípios da virtualização de mainframe a plataformas x86, permitindo que um único microcomputador implementasse facilmente várias máquinas virtuais. No início, a VMware oferecia soluções focadas em virtualização de estações de trabalho, onde os usuários podiam criar desktops emulados rodando outras versões de sistemas operacionais em suas máquinas. No início dos anos 2000, a VMware portou com sucesso essa tecnologia para hardware de servidor, introduzindo a era da virtualização de servidor. Aproveitando uma integração mais estreita com a virtualização de recursos oferecidos pelos processadores Intel e AMD e a crescente confiabilidade dos servidores x86, as máquinas virtuais agora podem oferecer níveis de desempenho comparáveis aos dos servidores físicos. Como nos ensina Santana (2016), a virtualização de servidores estabeleceu uma base tão firme para a computação em nuvem 39 que muitos profissionais ainda adotam esses conceitos como sinônimos. Essa confusão é compreensível porque a tecnologia de virtualização certamente diminuiu o número de operações físicas que sobrecarregavam o provisionamento de servidores em Datacenters. Mas enquanto as máquinas virtuais facilitam muito o provisionamento de aplicativos, um cluster de virtualização de servidor definitivamente não é uma nuvem. Com certeza, as máquinas virtuais não são os únicos recursos que os usuários finais esperam de um ambiente de computação em nuvem. Existem três serviços essenciais que são esperados com uma virtualização de servidor para nuvem: • Autoatendimento sob demanda – Consistem em portal de catálogo de serviços, orquestração de infraestrutura e soluções de estorno disponíveis para seus usuários em um sistema de autoatendimento. • Agrupamento de recursos – Os recursos de virtualização de servidor, como migração em tempo real e balanceamento de carga de recursos, podem mudar a percepção de uma simples virtualização de servidor para um agrupamento de recursos de computação. • Elasticidade – Como uma máquina virtual é essencialmente um conjunto de componentes de software, ela pode ser ampliada de acordo com os requisitos do aplicativo ou do usuário final. 5. Arquiteturas de redes para nuvem Para Veras (2011), durante a última metade dos anos 2000, inspirados pelas notáveis diferenças entre redes e outros sistemas computacionais, um grupo de pesquisadores começou a questionar se práticas de rede eram realmente apropriadas para o futuro da tecnologia da informação. 40 Por meio da criatividade, esses pesquisadores propuseram muitas novas abordagens inovadoras para interromper projetos de rede conhecidos e implementar melhores práticas. Essas novas abordagens foram coletivamente chamadas pelo termo genérico de Rede Definida por Software (SDN – Software-Defined Networking). Como resultado, SDN pode ser definido como o conjunto de tecnologias e arquiteturas que permitem o provisionamento de rede sem qualquer dependência de operações humanas. Na verdade, essa conclusão pode explicar por que a grande maioria das abordagens SDN seguem o conceito de rede como um recurso programável em vez de configurável. E como muitos profissionais de rede podem atestar, as configurações manuais podem facilmente se tornar uma dor de cabeça operacional à medida que mais mudanças são necessárias ou a rede é dimensionada. Como fabricante de rede e líder mundial no segmento, a Cisco participou ativamente no desenvolvimento da grande maioria dessas abordagens de ponta, além de criar muitas outras. Combinando inovação e conhecimento íntimo sobre as demandas dos clientes, a Cisco concebeu uma revolucionária arquitetura de rede de Datacenter chamada Cisco Application Centric Infrastructure (ACI). Especialmente projetada para Datacenters envolvidos em computação em nuvem e automação da tecnologia da informação, o ACI aborda muitos desafios que foram ignorados pelas abordagens anteriores de SDN, as quais utilizam protocolo OpenFlow. Podemos citar como desafios os seguintes itens: • Complexidade operacional – Quando comparadas às WANs (Wide Area Network), as redes de Datacenters têm mais recursos de largura de banda, o que diminui significativamente as vantagens de encaminhar tráfego por meio de qualquer coisa diferente 41 de endereços de destino. Consequentemente, a complexidade associada ao gerenciamento de tabelas de fluxo pode não ser justificada nesses ambientes simples. • Escalabilidade – Enquanto a maioria dos switches de Datacenter possui memória suficiente para armazenar endereços MAC e entradas ARP, os switches habilitados para OpenFlow normalmente aproveitam um tipo especial de espaço de memória chamado Ternary Content-Addressable Memory (TCAM) para implantar sua tabela de fluxo. Dependendo da arquitetura de hardware dos switches, o espaço TCAM pode se tornar bastante limitado para implantações OpenFlow em larga escala. • Confiabilidade – O OpenFlow segue um modelo imperativo, onde um controlador de rede precisa indicar exatamente como cada objeto gerenciado deve realizar cada alteração de configuração e deve permanecer totalmente ciente do estado de cada dispositivo controlado. Como resultado, os controladores SDN podem se tornar seriamente desafiados à medida que essas redes são dimensionadas, enfrentando problemas como intensidade de processamento e erros de execução, podendo levar a eventos calamitosos com uma falha completa no controlador. Referências CHEE, B.; FRANKLIN JR., C. Computação em nuvem: tecnologias e estratégia. São Paulo, Mbooks, 2013. FACCIONI FILHO, M. Conceitos e infraestrutura de Datacenters: livro digital. Palhoça: Unisul Virtual, 2016. SANTANA, G. CCNA CLOUD: Official Cert Guide. Cisco Press, 2016. VERAS, M. Virtualização. Brasport, 2011. VERAS, M. Virtualização: tecnologia central do Datacenter. Rio de Janeiro: Brasport, 2016. 42 Modelos de gerenciamento e segurança para armazenamento e processamento das informações Autoria: Haroldo da Silva Ferreira Leitura crítica: Rogério de Campos Objetivos • Orientar sobre segurança. • Apresentar elementos sobre processamento de dados. • Estabelecer critérios sobre armazenamento e processamento. 43 1. Introdução O processamento e o armazenamento das informações são tarefas muito importantes não somente nos Datacenters, mas também em qualquer ambiente computacional, sendo doméstico ou empresarial. Entender como funciona o armazenamento e o processamento das informações contidas no ambiente computacional, assim como se preocupar com as políticas de segurança, é extremamente importante para aqueles que desejam estudar ou trabalhar nesse segmento. Pensando em explorar as características de gerenciamento e segurança para processamento das informações, usaremos como material base o trabalho desenvolvido por autores renomados e também a nossa própria experiência em mais de uma década trabalhando com servidores e, nos últimos anos, com nuvens computacionais. 2. Armazenamento de informações Para começarmos, vamos falar um pouco sobre conceitos e tecnologias utilizadas para armazenamento de dados em servidor, apresentando de uma maneira bem objetiva, o termo abordado, descrevendo sobre Direct Attached Storage (DAS), Serial AttachedSCSI (SAS), Content Addressable Storage (CAS) e Network Attached Storage (NAS). Como Geng (2021) nos ensina, o DAS é um mecanismo que utiliza sistemas de armazenamento que estão diretamente conectados ao host físico. Esse dispositivo pode ser um computador pessoal ou um servidor. Então, uma característica importante do DAS é que ele sempre ficará dependente de um host e normalmente é utilizada para fornecimento 44 de capacidade de armazenamento, que, em muitos casos, é utilizado por uma aplicação do sistema operacional. Já o SAS trata-se de uma infraestrutura que é utilizada para realizar a interligação entre servidores e unidades de armazenamento, a fim de obter maior desempenho do tráfego de dados e garantir um melhor padrão de segurança. O SAS necessita ter um cabeamento independente, além de controladoras de barramento e switch para eliminar gargalos entre os sistemas que realizam o armazenamento e as unidades de estação de trabalho ou servidores. Ainda utilizando como base os ensinamentos de Geng (2021), o CAS é um mecanismo que utiliza armazenamento associativo, com ele é possível recuperar informações com base em conteúdo, não utilizando apenas como base a localização em disco. Assim, ele é utilizado de maneira mais ampla para armazenamentos que necessitam de maior velocidade e de recuperação dos arquivos que possuem conteúdos fixos. Podemos descrever o NAS como um mecanismo que pode possuir múltiplas portas de comunicação, que possui sistemas de discos que são redundantes, além de possuir várias camadas de proteção contra falhas no armazenamento. O NAS interliga unidade de armazenamento para formar uma infraestrutura redundante e com alta disponibilidade para armazenamentos. Ainda falando sobre armazenamento, podemos afirmar que não é umas das tarefas mais simples armazenar informações com segurança e de uma forma bastante otimizada. Em um formato mais antigo, os dados eram armazenados em bancos de dados e os usuários utilizavam repositórios locais para salvar seus arquivos, mas essa estrutura foi mudando nas empresas. Segundo Geng (2021), existe um enorme crescimento de dados não estruturados, deixando mais complexa a tarefa de armazená-los. 45 Quando tratamos mais especificamente de computação em nuvem, podemos aumentar o leque de aplicabilidades para as mais distintas aplicações, contando com a confiança dos seus clientes para armazenamento de arquivos. Agora, quando pensamos em uma arquitetura de armazenamento na nuvem, podemos citar sistemas de armazenamento baseados em blocos, arquivos ou aqueles que são baseados em objetos. Os sistemas de armazenamento que são baseados em blocos utilizam tecnologia de armazenamento de dados baseada em SAN (Storage Area Network) ou em ambientes que são baseados em computação na nuvem. O SAN é uma tecnologia que normalmente é indicada para situações em que exista necessidade de transporte de dados de uma forma mais rápida, que seja eficiente e que garanta confiabilidade. Segundo Veras (2016), a forma de execução do armazenamento em bloco consiste em dividir os dados, criando blocos e vinculando uma identificação exclusiva para cada bloco. A tecnologia baseada em SAN posiciona os blocos no local que é considerado mais eficiente para sua forma de trabalho, e espalha os dados por ambientes diversos, criando, assim, diferentes caminhos para os dados, além de permitir, caso seja necessário, a recuperação dos dados de maneira mais rápida. Armazenamento em banco de dados, armazenamento de dados para sistemas críticos ou sistemas de máquinas virtuais e armazenamento de volumes são apenas alguns exemplos que podemos fortemente indicar o uso do armazenamento baseado em blocos. Agora quando tratamos de sistemas de armazenamento baseados em arquivos, devemos dizer que usar uma metodologia de armazenamento hierárquica é indicado para armazenar e organizar dados, assim como é indicado utilizar o NAS. 46 Nesse tipo de tecnologia, os dados são armazenados em arquivos, os quais são organizados de maneira hierárquica em pastas. Assim, quando é necessário localizar um arquivo, é preciso conhecer o caminho das pastas. O armazenamento baseado em arquivos funciona bem, quando utilizado em uma estrutura de gerenciamento um tanto quanto menos complexa do que a baseada em blocos, já que à medida que o número de arquivos armazenados aumenta, aumenta também o trabalho e fica mais caro recuperar um arquivo. O armazenamento baseado em arquivos deve ser indicado na utilização de armazenamento que requer proteção de dados e seja um pré- requisito ter uma implantação fácil. Para Veras (2016), deve-se usar o armazenamento baseado em arquivos principalmente quando são utilizados repositórios de conteúdo ou quando a implantação é feita em pequenos ambientes de desenvolvimento. Agora tratando sobre os sistemas de armazenamento de dados baseados em objetos, sua gerência utiliza um ambiente de dados com uma estrutura plana. Não existindo pastas ou uma hierarquia complexa, sendo que cada objeto é um repositório simples, que inclui dados, metadados e sua identificação exclusiva. O uso do armazenamento de objetos serve para eliminar os desafios impostos para escalabilidade que existe em um sistema hierárquico. Pode-se indicar esse tipo de tecnologia para armazenar grande quantidade de arquivos, principalmente de mídias, além de grande conjunto de dados ou de uma maneira geral, dados não estruturados. 3. Proteção de dados Quando falamos de proteção de dados, devemos ter em mente que nem sempre é possível garantir que um agente da ameaça não tenha acesso 47 a algum diretório ou a um determinado arquivo. Por isso, devemos planejar a proteção dos dados com sistemas de perímetro de segurança, controle de acesso, criptografia e, no caso de eventuais desastres, backup e recuperação de arquivos, também conhecido como restore. Usando o conceito explicado por Veras (2011), vamos falar primeiro sobre o backup e restore. O backup nada mais é do que uma cópia dos dados de produção, cópia criada para ser retida, com propósito de recuperar dados deletados ou corrompidos, em caso de necessidade. O restore é um processo utilizado para recuperação dos dados que foram perdidos, ou que necessitem de uma versão mais antiga do arquivo atual que está salvo nas pastas de produção. É preciso deixar claro também que o backup deve ser realizado de acordo com a necessidade existente. Pode existir, por exemplo, a necessidade de copiar apenas um determinado arquivo, pasta, banco de dados, sistemas, máquinas virtuais ou até mesmo uma cópia completa de um servidor. Como Faccioni Filho (2016) nos ensina, o backup e o restore fazem parte de um processo amplo, que visa garantir a disponibilidade de um sistema ou até mesmo um Datacenter inteiro, assim como toda a infraestrutura de tecnologia da informação. Existem algumas razões para realizar um backup ou restore, por exemplo, ele pode ser um requisito do negócio, um requisito legal, uma proteção contra falhas físicas, uma proteção contra falhas de aplicação, uma proteção contra erros dos usuários, uma recuperação de desastres e pode ser necessário para se atingir os níveis de serviços específicos. Conforme Veras (2011) nos ensina, a chave para a definição da forma que o backup deve ser feito é a natureza dos dados backup. É necessário descobrir, portanto, quando deve ser feito o backup, o que deve ser 48 salvo, por quanto tempo deve ser mantido e onde o backup deve ser armazenado. Todas essas questões devem ser documentadas e mantidas como um procedimento que precisa ser sempre seguido, fazendo parte de um plano de continuidade do negócio onde será aplicado. Como dito, existem várias formas de fazer backup e muitas variáveis devem ser escolhidas. A Figura 1 nos ilustra um exemplo desse processo: Figura 1 – Processo de backup Fonte: adaptada de Veras (2011, p. 166). Segundo Veras (2016), a aplicação de backup deve possibilitar arealização de uma política de backup corporativa, envolvendo dados dispersos geograficamente e questões relacionadas ao sistema operacional utilizado, assim como as aplicações que serão o alvo das rotinas de backup. Das aplicações de backup que são muito utilizadas em organizações, podemos citar a ferramenta da Veritas, chamada de Netbackup. Temos também o ArcServer Backup e o Veeam Backup. Ambas as ferramentas podem atuar realizando a cópia em fitas como LTO ou DAT, 49 salvando em storage ou até mesmo realizando integração com nuvens computacionais. Agora que começamos a falar um pouco de backup utilizando computação em nuvem, fazendo esse processo em um provedor de nuvem computacional, ou de forma híbrida, as variáveis de backup permanecem. Então, mesmo que esteja utilizando máquinas virtuais em um ambiente em nuvem, é necessário determinar se haverá ou não uma cópia de segurança dessa máquina, ou se é melhor apenas copiar o banco de dados, ou até mesmo apenas alguns arquivos. Um outro ponto importante que deve ser considerado quando tratamos de backup em ambiente de nuvem é o cenário de nuvem que será utilizado: se a nuvem é pública, privada ou híbrida. Todos os provedores de nuvem computacional possuem ferramenta para backup e recuperação de arquivos. No caso do Microsoft Azure, existe o backup center, que é uma interface intuitiva com gerenciamento centralizado, com suporte a diversas cargas de trabalho e opções de armazenamento durável. Já na AWS, existe uma ferramenta bastante parecida, o AWS Backup, que é um centralizador de ferramentas para implementar políticas de proteção de dados, realizar gerenciamento de backup e regulamentar suas atividades na conta da AWS adquirida. Um outro tema caro para proteção de dados é a proteção do perímetro computacional, que hoje está cada vez mais complexa, já que muitas empresas possuem funcionários trabalhando de forma remota ou híbrida. Possuir um bom sistema de controle de acesso de rede, como firewall, não é uma garantia contra riscos, já que existem diversos casos problemáticos registrados em redes computacionais, como Donda (2020) nos explica em sua obra. 50 Para mitigar eventuais falhas de segurança, é necessário ter uma excelente equipe de tecnologia da informação com foco em segurança; possuir uma infraestrutura computacional bem estabelecida com equipamentos atualizados; além de ter servidores e sistemas operacionais e um antivírus que atenda às necessidades exigidas pela empresa contratada. Mas não só o quesito técnico deve ser assistido, é preciso criar uma política de tecnologia da informação, um instrumento balizador do comportamento que deve ser seguido por todos os envolvidos em uma corporação. Quando se trata de um assunto específico, como o armazenamento de dados, elaborar políticas de armazenamento de dados é um ato muito importante, principalmente em ambientes corporativos. Tal política nada mais é que um conjunto de procedimentos que visam controlar e gerenciar os dados. Esse conjunto de procedimentos tende a variar de acordo com o que for estabelecido nos diversos ambientes corporativos, que visa determinar a forma pelo qual o dado será armazenado, onde ficará armazenado e até quando ficará armazenado. Ainda sobre os dados armazenados, um advento recente, que ficou cada vez mais importante nas empresas, é a Lei Geral de Processamento de Dados (LGPD), que se trata da Lei n° 13.709. Como Donda (2020) nos ensina, as organizações empresariais e governos precisam estar preparados para classificar, proteger e rastrear informações. A LGPD é um marco regulatório nunca visto antes no Brasil e de forma direta irá atingir todas as organizações que lidam com dados sensíveis. Utilizar as melhores práticas de segurança no tratamento de dados possíveis para cara cenário, facilitará muito a implantação da LGPD. 51 4. Processamento de dados Para processamento de dados, como nos ensina Veras (2011), é necessário existir uma arquitetura que gerencie os dados, desde a sua etapa de coleta, até a fase de transformação, da distribuição e do consumo desses dados. Tal gerenciamento irá definir um plano para os dados, assim como irá definir a maneira que eles irão fluir no armazenamento. É de fundamental importância que a estrutura de gestão seja bem construída e, a fim de otimizar as operações de processamento de dados, é muito indicado o uso de inteligência artificial para ajudar nas operações diárias. O gerenciamento do ciclo de vida dos dados garante que dados sensíveis tenham tratamento apropriado e que a massa de dados seja gerenciável, útil e devidamente processada. Hoje principalmente ambientes de computação na nuvem e ambientes virtualizados possuem arquiteturas de dados modernas que otimizam o ambiente para priorizar o processamento de dados. A escalabilidade da capacidade computacional permite lidar com um volume crescente de dados e assegurar que eles estejam disponíveis. 5. Segurança em ambiente virtual Para Veras (2016), migrar um ambiente computacional tradicional para um ambiente virtualizado não trará mais ameaças à segurança, assim como também não haverá uma grande diminuição do risco de ser alvo de uma ameaça ou de qualquer tipo de vulnerabilidade por conta disso, talvez apenas daquelas relacionadas ao hardware. 52 Além disso, pode ser que ocorra uma forma diferente de ameaça ou vulnerabilidade, um jeito diferente do agente da ameaça planejar e realizar o seu ataque, pois existe uma camada a mais de software, que é a virtualização. Existem algumas técnicas de proteção que podem ser utilizadas, como: • Anéis de proteção – Processadores da família X86 fornecem quatro modos de operação em sua arquitetura, conhecidos como anéis de proteção, funcionando como mecanismos de proteção de dados e instrumento contra ações maliciosas e falhas. • Isolamento da máquina virtual – É um recurso gerenciado pelo hypervisor para isolamento de máquinas virtuais. Esse isolamento pode ser físico ou lógico, por exemplo, o hypervisor consegue dedicar uma memória, um disco ou até mesmo um processador para uma ou mais máquinas virtuais, isolando de outras, caso seja necessário. • Monitoramento de máquina Virtual – É um recurso gerenciado pelo hypervisor para monitorar cada sistema virtual em seu domínio.com ferramentas de auditoria disponíveis, o hypervisor pode realizar técnicas de introspecção para realizar um monitoramento mais completo, mesmo quando a segurança do ambiente tenha sido comprometida por uma ameaça. Referências CHEE, B.; FRANKLIN JR., C. Computação em nuvem: tecnologias e estratégia. São Paulo, Mbooks, 2013. DONDA, D. Guia Prático de Implementação da LGPD. São Paulo, Labrador, 2020. FACCIONI FILHO, M. Conceitos e infraestrutura de Datacenters: livro digital. Palhoça: Unisul Virtual, 2016. 53 GENG, H. Datacenter handbook: plan, design, build and operations of a smart data center. 2. ed. Wiley, 2021. VERAS, M. Virtualização. Brasport, 2011. VERAS, M. Virtualização: tecnologia central do Datacenter. Rio de Janeiro: Brasport, 2016. 54 Sumário Apresentação da disciplina Datacenter definido por software e virtualização Objetivos 1. Introdução 2. Conceito de Datacenter 3. Conceito de virtualização Referências Virtualização e orquestração de Datacenter Objetivos 1. Introdução 2. Virtualização de Datacenter Referências Engenharia de redes para computação em nuvem baseados em arquitetura CISCO Objetivos 1. Introdução 2. Conceito de nuvem de acordo com a CISCO 3. Implantação de nuvem 4. Virtualização de servidor para nuvem 5. Arquiteturas de redes para nuvem Referências Modelos de gerenciamento e segurança para armazenamento e processamento das informações Objetivos 1. Introdução 2. Armazenamento de informações 3. Proteção de dados 4. Processamento de dados 5. Segurança em ambiente virtual Referências