Prévia do material em texto
CLOUD COMPUTING W B A 04 57 _v 1. 0 2 Fernanda Rosa da Silva Londrina Editora e Distribuidora Educacional S.A. 2020 CLOUD COMPUTING 1ª edição 3 2020 Editora e Distribuidora Educacional S.A. Avenida Paris, 675 – Parque Residencial João Piza CEP: 86041-100 — Londrina — PR e-mail: editora.educacional@kroton.com.br Homepage: http://www.kroton.com.br/ Presidente Rodrigo Galindo Vice-Presidente de Pós-Graduação e Educação Continuada Paulo de Tarso Pires de Moraes Conselho Acadêmico Carlos Roberto Pagani Junior Camila Braga de Oliveira Higa Carolina Yaly Giani Vendramel de Oliveira Henrique Salustiano Silva Juliana Caramigo Gennarini Mariana Gerardi Mello Nirse Ruscheinsky Breternitz Priscila Pereira Silva Tayra Carolina Nascimento Aleixo Coordenador Henrique Salustiano Silva Revisor Luis Vinicius Antunes Palma Editorial Alessandra Cristina Fahl Beatriz Meloni Montefusco Gilvânia Honório dos Santos Mariana de Campos Barroso Paola Andressa Machado Leal Dados Internacionais de Catalogação na Publicação (CIP)__________________________________________________________________________________________ Silva, Fernanda Rosa da S586c Cloud computing/ Fernanda Rosa da Silva, – Londrina: Editora e Distribuidora Educacional S.A. 2020. 44 p. ISBN 978-65-87806-87-7 1.Arquitetura 2. Governança 3. Nuvem I. Título. CDD 003 ____________________________________________________________________________________________ Raquel Torres – CRB 6/278 © 2020 por Editora e Distribuidora Educacional 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 Editora e Distribuidora Educacional S.A. 4 SUMÁRIO Arquitetura e Infraestrutura de Cloud Computing ___________________ 05 Cloud Computing e os processos de Governança de TI _____________ 23 Serviços de nuvem e suas características ___________________________ 41 Aplicações em nuvem e o futuro da tecnologia _____________________ 57 CLOUD COMPUTING 5 Arquitetura e Infraestrutura de Cloud Computing Autoria: Fernanda Rosa da Silva Leitura crítica: Luis Vinicius Antunes Palma Objetivos • Definir a arquitetura em camadas e a anatomia de Cloud Computing (CC), assim como sua estrutura conceitual. • Identificar as características essências de CC. • Entender os modelos de nuvem e para quais objetivos cada um pode ser aplicado. 6 1. Arquitetura da computação em nuvem Atualmente, grande parte das organizações e setores dependem do uso da tecnologia e recursos computacionais, que ofereçam disponibilidade e mobilidade, são essenciais para atender as expectativas e necessidades que envolvem os negócios. Com o uso da computação em nuvem, isso se tornou possível devido à estrutura utilizada como abordagem para o uso de aplicações e recursos, permitindo que a tecnologia esteja ao nosso alcance a partir de qualquer local e com o uso de qualquer dispositivo tecnológico, resumindo sua função à hospedagem de serviços, aplicações, sistemas e outros recursos computacionais. Além disso, a nuvem é capaz de provisionar recursos de forma automática e em tempo real, sempre que necessário, sem tornar os recursos permanentes, se moldando a qualquer mudança realizada no ambiente por ter como característica a elasticidade. Nesta Leitura Digital, você poderá entender como a arquitetura da nuvem está organizada, envolvendo seus componentes básicos e sua anatomia. Além disso, você analisará os modelos oferecidos com objetivos específicos para tornar qualquer experiência completa, permitindo que qualquer aplicação funcione nesse ambiente da forma correta. Considerada uma inovação no segmento da computação, a nuvem é descrita por Chandrasekaran (2015) em quatro camadas, como segue abaixo: 1.1 Camada 1 (camada usuário/ cliente) Esta é a camada mais simples da arquitetura, que engloba todos os usuários, que realizam acesso à nuvem, além de todos os dispositivos utilizados para garantir a conexão com a nuvem (móveis, computadores, notebooks, entre outros dispositivos que suportem as funcionalidades de aplicativos web) por meio da Internet. 7 Para entender melhor, considere um serviço on-line, onde o usuário possa realizar acesso às suas mensagens na caixa de e-mail a qualquer momento, sem realizar download dessas informações, podendo, a partir de qualquer dispositivo, realizar o acesso ao serviço com seu usuário e senha a qualquer momento. Na realidade, esse acesso está sendo direcionado a um serviço hospedado na nuvem, que permite seu uso por meio da Internet. 1.2. Camada 2 (camada de rede) A camada de rede representa a conectividade necessária para conexão com a nuvem, sendo um recurso indispensável para permitir acesso a soluções quando estão sendo oferecidas pelo provedor de nuvem. Vale salientar que, em alguns casos, a nuvem é hospedada dentro da organização e, neste caso, a conexão que se torna dependência da nuvem é a rede local (LAN), que garante acesso aos recursos internos configurados no ambiente enquanto, em outros casos, a nuvem pode estar hospedada em data center terceirizado ou ser um data center mantido pelo provedor da nuvem. Nesta camada, alguns fatores devem ser considerados para garantir o funcionamento correto e um deles é a largura de banda mínima, definida pelo provedor de nuvem, muitas vezes, para garantir que não haja problemas relacionados à conectividade da nuvem. 1.3. Camada 3 (camada de gerenciamento de nuvem) A camada três consiste em ferramentas que possam ser utilizadas no gerenciamento da nuvem, permitindo que os usuários tenham acesso a nuvem por meio de uma interface gráfica, sem estar exposto a complexidade da infraestrutura física da nuvem e mantendo uma experiência simples. Isso permite que o usuário gerencie todos os componentes da nuvem, sendo capaz de otimizar e controlar todos os 8 serviços contratados, movimentar sua carga de trabalho na plataforma e controlar o processamento, armazenamento e uso de recursos. Além disso, esta camada ainda define os acordos de níveis de serviço (Service Level Agreement–SLAs) responsáveis por garantir a operação adequada e a disponibilidade adequada, além da prestação de suportes quando necessário. Na prática, considere que você contratou um serviço na Microsoft Azure, para hospedar seus servidores web. A plataforma permite que você gerencie o uso do disco e memória deste servidor, o custo que está gerando e até mesmo realizar aberturas de tickets de atendimento quando o suporte for necessário. 1.4. Camada 4 (camada de recursos de hardware) A camada de hardware compreende recursos físicos que sustentam a nuvem. Esses recursos são hospedados em um data center, da forma que ocorre em qualquer infraestrutura e, a partir desse ambiente, os serviços são disponibilizados na nuvem. Isso inclui não somente servidores físicos, mas também virtuais, dispositivos de armazenamento e mecanismos que garantem segurança e confiabilidade do ambiente. Nesta camada, dispositivos funcionam interconectados, provisionando os meios necessários para reproduzir um sistema de alta disponibilidade. Vale ressaltar que, na maioria dos casos, um mesmo data center pode ser responsável por prover acesso a várias nuvens e organizações distintas, de forma simultânea. Ainda dentro do contexto das camadas, Chandrasekaran (2015) ilustra a arquitetura conforme imagem abaixo: 9 Figura 1 – Arquitetura da computação em nuvem Fonte: Chandrasekaran (2015, p. 29). A imagem demonstra as quatro camadas da arquitetura de nuvem, definidas por Chandrasekaran (2015), como: camada usuário, camada de rede, camada de gerenciamento de nuvem e camada de recursos de hardware. Portanto, essa é a arquiteturacompleta de uma nuvem e, para fixar os conceitos, imagine o data center, que hospeda máquinas virtuais em seus servidores, montado pelo provedor para otimizar os recursos físicos (camada 4). A organização, então, decide implementar uma nuvem e contrata um serviço do provedor, sendo capaz de gerencia-los, acessando a nuvem 10 com o uso de um navegador, que permite que todas as configurações sejam visualizas (camada 3. Na camada 2, podemos simplesmente citar a conexão de Internet que permite essa comunicação. Além da Local Area Network (LAN), rede local e da Internet, uma VPN (rede privada virtual) também pode ser utilizada como ponte de acesso. Conclui-se que após serem provisionados pela camada de hardware, controlados pelo software gerenciador e disponibilizados pela camada de rede, a arquitetura da nuvem permite gerenciamento e acesso rápido pelos usuários, trazendo todos os benefícios da nuvem. 2. Anatomia da computação em nuvem A anatomia da computação em nuvem define a estrutura e as tecnologias utilizadas pela nuvem, sendo parte de sua arquitetura e base para seu funcionamento. Podemos considerar que a arquitetura representa a nuvem de forma lógica, enquanto a anatomia a representa conceituando seus recursos físicos. Apesar de abordagens diferentes serem utilizadas por diversos autores (alguns descrevem três camadas: aplicações, plataforma e infraestrutura, que compreende a virtualização e o data center em conjunto), o padrão mais utilizado para definir a anatomia expõe cinco componentes, conforme Chandrasekaran (2015) ilustrados na Figura 2: 11 Figura 2 – Anatomia da computação em nuvem Fonte: elaborada pela autora. Agora, preste atenção à descrição de cada um dos componentes, ainda conforme Chandrasekaran (2015): 12 2.1 Aplicações Essa é a camada mais utilizada pelos usuários finais, apropriando as aplicações ao uso e hospedando aplicativos, provendo serviços básicos. Idealize que você precisa armazenar documentos, neste caso, você cria uma conta em serviço de hospedagem na nuvem, paga ou gratuita, como, por exemplo, uma conta no Google Drive, que dispõe de um espaço particular para este fim. 2.2. Plataforma Essa camada é mais utilizada por desenvolvedores, pois especifica serviços como middleware (software que se encontra entre o sistema operacional e os aplicativos, possibilitando o gerenciamento dos dados pelos aplicativos utilizados pelo usuário), encarregado por integrar as aplicações suportando uma plataforma completa. Assim, permite a criação de soluções diretamente no ambiente da nuvem com ferramentas completas, sem necessidade de instalar diversos programas em um computador. Segundo Teleco (2020), essa camada é mais complexa que a camada de aplicação, garantindo ir além do acesso, avançando não somente para o desenvolvimento, mas para homologação de aplicações. 2.3 Infraestrutura Essa é a camada estrutural da nuvem responsável por controlar não somente os recursos físicos, mas também os virtualizados, que, em alguns casos, podem ser controlados pelos próprios usuários das organizações. De acordo com Chandrasekaran (2015), aqui estão definidos todos os servidores, rede, armazenamento, equipamentos de refrigeração, que possibilitam armazenar, tratar e transmitir os dados 13 e outras ações fundamentais para provisionar os recursos de forma rápida em um único local. 2.4 Virtualização A virtualização surgiu e teve um crescimento exacerbado nos últimos anos, tomando grande proporção e tendo ênfase no ambiente corporativo de Tecnologia da Informação (TI). Pode existir virtualização sem a computação em nuvem, mas ao contrário, existe uma grande dependência para atingir recursos necessários, como escalabilidade, facilitando também a transferência de máquinas virtuais para outros hardwares em caso de falha, não ficando atrelado ao ambiente, possibilitando recuperação de dados sempre que necessário. A virtualização tem ligação direta com a infraestrutura, sendo fundamental para a computação em nuvem, tendo sido um fator essencial que deu fim à limitação que existia em relação aos servidores físicos, permitindo a expansão das possibilidades de forma lógica e adicionalmente o gerenciamento centralizado de inúmeros servidores virtuais como se fossem um único. É possível aumentar o desempenho da nuvem infinitamente com o uso da virtualização, minimizando os custos e reduzindo drasticamente a necessidade de adquirir equipamentos físicos, evitando a subutilização dos recursos que, muitas vezes, eram desperdiçados na infraestrutura física tradicional. 2.5 Data center Todos os dispositivos, desde os ativos de rede até os sistemas, o negócio oferecido nas camadas anteriores, têm origem no ambiente do data center. De acordo com Veras (2015), é onde estão alocados todos os serviços e aplicações necessárias para garantir segurança, conectividade 14 e processamento e tratamento dos dados, objetivo principal de um data center. Veja algumas de suas funcionalidades principais: • Armazenar: utiliza unidades de Storage, tornando as informações disponíveis em tempo integral para serem utilizadas pelas aplicações. • Disponibilizar: tornar os serviços redundantes, aplicando contingência e estabelecendo a interconectividade entre os dispositivos de rede. Alguns recursos de redundância incluem ferramentas de backup, restauração e replicação de dados, como um cluster ou balanceador de carga. • Monitorar a operação do data center como um todo, estando preparado para detectar, prevenir e garantir a integridade de todos os serviços, garantindo a capacidade de corrigir falhas de forma proativa. • Assegurar: o uso de certificados digitais, entre outros, são amplamente utilizados para garantir a segurança dos dados. • Conectar: dispositivos apropriados para garantir a conectividade da rede, como Switches, roteadores e links de Internet, assim como sua configuração para estabelecer a comunicação entre as aplicações, também é responsabilidade do data center. 3. Tipos de nuvem A infraestrutura da nuvem é entregue considerando três tipos distintos, sendo: nuvem pública, privada, comunitária e híbrida. De acordo com Marinescu (2018), cada um deles representa uma estrutura da nuvem para que os serviços possam ser oferecidos pela Internet de forma elástica, o que caracteriza sua capacidade de adquirir dinamicamente recursos de computação para suportar a carga de trabalho. 15 3.1 Nuvem pública A nuvem pública é a mais utilizada, principalmente por sua relação custo e benefício, e sua característica principal é o compartilhamento de recursos. Além disso, a tendência é que esse tipo de nuvem tenha uma grande dimensão, apesar de depender do número de usuários envolvidos, Marinescu (2018) a define como um modelo aberto para o público em geral. Em alguns casos, provedores até fornecem serviços gratuitamente, o que fez possível a inserção de diversas empresas que atuam nesse mercado, apesar de algumas limitações. Em contrapartida, não é necessário que a organização tenha qualquer infraestrutura disponível para adotar esse modelo. A nuvem pública pode ser definida como uma coleção de recursos e serviços computacionais oferecidos por diversos fornecedores por meio da Internet. Nas palavras de Chandrasekaran (2015), o provedor aceita todas as solicitações e os serviços são comercializados e disponibilizados a qualquer pessoa ou empresa que deseje fazer uso de acordo com a necessidade do negócio, podendo estar em qualquer lugar do mundo. Adicionalmente, a nuvem pública garante alinhamento de orçamentos e demandas, estando altamente disponível para qualquer pessoa, considerando as permissões adequadas atribuídas e definidas pela própria organização, sem que possam existir restrições geográficas ou qualquer restrição de acesso. Veja na Figura 3, a nuvem pública ilustrada: 16 Figura 3 – Nuvem pública Fonte: elaborada pela autora. A nuvem pública apresenta baixo custo quando comparadaa outras. Alguns dos exemplos bem conhecidos de provedores da nuvem pública são Amazon AWS, Google e Microsoft Azure. 3.2 Nuvem privada Nuvem privada especifica um tipo de nuvem que hospeda os serviços internamente, mantendo maior privacidade das informações da organização, que se encarrega de hospedar e gerenciar a nuvem como um todo. Nesse caso, todos os recursos computacionais se mantem dedicados aos usuários dessa corporação. Sendo assim, Chandrasekaran(2015), descreve que a nuvem é gerenciada internamente, atendendo integralmente todas as necessidades que envolvem a demanda da organização, estando em 17 conformidade com o que a organização espera em relação à segurança e proteção dos dados. Considere que uma empresa privada já possua um data center e tem interesse de migrar para nuvem, reaproveitando seus equipamentos e, ao mesmo tempo, busca a segurança que a nuvem pública não oferece. Nesse caso, a empresa cria sua própria nuvem de forma customizada e única, virtualizando seus servidores físicos e utilizando sob demanda. Ao aplicar virtualização ao seu ambiente, seguido da implantação da nuvem, a organização tem, como resultado, uma série de vantagens, sendo, uma delas, a flexibilidade. Alguns dos exemplos bem conhecidos de ferramentas para criação de uma nuvem privada são: CloudStack, Eucalyptus, OpenNebula, Openstack. Veja, na Figura 4, a nuvem privada ilustrada: Figura 4 – Nuvem privada Fonte: elaborada pela autora. 18 Finalmente, a nuvem privada pode ser implantada de duas formas: gerenciada, hospedada na própria infraestrutura da empresa e gerenciada internamente; hospedada, infraestrutura hospedada, utilizando infraestrutura terceirizada, isentando a organização de custos com infraestrutura física e, mesmo assim, permitindo que a nuvem mantenha a mesma segurança oferecida pela nuvem privada gerenciada. 3.3 Nuvem híbrida A nuvem híbrida é uma estratégia de nuvem que surgiu com o propósito de resolver impasses das organizações em relação à escolha da nuvem ideal. Dessa forma, é possível ampliar as possibilidades de aplicação da nuvem, combinando as características e benefícios de duas ou mais nuvens (privada ou pública), desfrutando de todas as vantagens. De acordo com Marinescu (2018), a nuvem hibrida é uma associação entre as nuvens privada e pública, e proporciona simplificação de infraestruturas de TI complexas, sendo, assim, possível migrar para nuvem sem maiores inconvenientes, já que balancear os dois modelos permite maiores adaptações das funcionalidades da nuvem. 19 Figura 5 – Nuvem híbrida Fonte: elaborada pela autora. Agora, tome como exemplo uma organização que, em determinado momento, teve um aumento na carga de trabalho hospedada na nuvem privada, porém, para não ser necessário adquirir mais hardware, pode mover alguns serviços menos críticos para nuvem pública temporariamente, dando vazão a demanda sem maiores esforços. Assim, a nuvem híbrida é capaz de conectar diversas nuvens, estabelecendo serviços de TI e provisionando recursos com agilidade. O gerenciamento é realizado de forma unificada entre as duas nuvens, utilizando ferramentas de gerenciamento (camada 3). Veja o exemplo que assume Red Hat (2020): 20 1. Pressuponha que uma nuvem privada pode ser criada por conta própria ou utilizando ferramentas de infraestrutura de nuvem, como as citadas anteriormente. 2. A organização, então, contrata uma nuvem pública com o provedor de sua escolha, para uso de aplicações mais simples, como armazenamento de dados poucos críticos, gerenciamento de documentos, acesso a e-mails, entre outros. Apesar de estarem isolados em relação a nuvem privada, as duas são conectadas, formando a nuvem hibrida. 3. Por último, a organização, então, vincula a nuvem pública a sua nuvem privada, utilizando conexões de rede como uma API (conjunto de rotinas e padrões de programação para acesso a um aplicativo de software ou plataforma baseado na web) ou uma VPN, por exemplo, mantendo a Rede Local conectada à Internet (nuvem). A nuvem híbrida faz com que algumas organizações se adaptem melhor a migração a nuvem, pois podem manter dados sensíveis na nuvem privada e combina-la com uma nuvem pública para serviço comuns, tendo como benefícios: menor custo; adaptação, conforme a confiabilidade dos dados; movimentação de carga, sempre que necessário. 3.4 Nuvem comunitária Nuvem comunitária é uma infraestrutura ainda pouco utilizada em comparação às outras e, geralmente, é compartilhada entre múltiplas organizações. Da mesma forma que a nuvem pública herda a característica do compartilhamento, mas considerando todas as organizações envolvidas, acaba por se tornar mais extensa que uma nuvem privada, tendo sua dimensão diretamente ligada ao número de usuários que a utilizam. 21 De acordo com o NIST (2011), a nuvem da comunidade (ou comunitária) é a infraestrutura ideal para organizações que compartilham preocupações em comum (por exemplo: missão, requisitos de segurança, política e considerações de conformidade), a exclusividade de sua estrutura se assemelha a nuvem privada, unindo interesses de negócio e estando hospedada no ambiente de uma dessas empresas envolvidas ou, ainda, estando terceirizada como na nuvem privada. Assim como já ocorre no gerenciamento de uma nuvem privada, a nuvem comunitária é gerenciada pelos proprietários dela, mas, nesse caso, várias organizações se responsabilizam pelas ações executadas nesse ambiente. Isso proporciona um baixo custo, pois até mesmo este fator é compartilhado entre a comunidade. Apesar do padrão de arquitetura e anatomia da nuvem, as possibilidades em termos de infraestrutura que consideram os equipamentos de hardware, uso das aplicações e comunicação entre todos os componentes e elementos, podem variar de acordo com os serviços disponíveis na nuvem. Construir a nuvem não é uma tarefa fácil quando se tem necessidades específicas, mas também pode se tornar mais simples do que manter uma infraestrutura própria quando os serviços utilizados são de menor complexidade. A migração para nuvem está tornando as possibilidades cada vez maiores para as organizações, porém, conhecer seu funcionamento é essencial para que a operação obtenha o sucesso esperado. Referências Bibliográficas CHANDRASEKARAN, K. Essentials of cloud computing. 1 ed., Chapman and Hall/ CRC, 2015. 22 MARINESCU, D. Cloud computing: theory and practice. 2 ed., Morgan Kaufmann, 2018. NIST. The NIST definition of cloud computing. National Institute of Standards and Thecnology (NIST), U. S. Department of Commerce, 2011. Disponível em: https:// nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf. Acesso em: 28 set. 2020. RED HAT. O que é uma nuvem híbrida. Red Hat, 2020. Disponível em: https://www. redhat.com/pt-br/topics/cloud-computing/what-is-hybrid-cloud. Acesso em: 28 set. 2020. TELECO. Serviço em nuvem I: computação em nuvem. Teleco – Inteligência em Telecomunicações, 2020. Disponível em: https://www.teleco.com.br/tutoriais/ tutorialservnuvopers1/pagina_2.asp. Acesso em: 28 set. 2020. VERAS, M. Computação em nuvem. Rio de Janeiro: Brasport, 2015. https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf https://www.redhat.com/pt-br/topics/cloud-computing/what-is-hybrid-cloud https://www.redhat.com/pt-br/topics/cloud-computing/what-is-hybrid-cloud https://www.teleco.com.br/tutoriais/tutorialservnuvopers1/pagina_2.asp https://www.teleco.com.br/tutoriais/tutorialservnuvopers1/pagina_2.asp 23 Cloud Computing e os processos de Governança de TI Autoria: Fernanda Rosa da Silva Leitura crítica: Luis Vinicius Antunes Palma Objetivos • Definir governança de TI, apresentar seus componentes, seu objetivo e modelos de melhores práticas de governança. • Definir governança de TI em cloud computing, riscos da aplicação de computação em nuvem e os processosde governança. • Definir etapas para executar e manter a governança em nuvem. 24 1. Governança de TI A transformação digital fez com que a maioria das empresas procurassem migrar seus serviços para a nuvem. No entanto, usufruir dos benefícios que este ambiente proporciona pode implicar em manter a governança corporativa de Tecnologia da Informação (TI), visto que este serviço está fora na empresa, enquanto a governança segue no ambiente interno. Ambientes que não possuem uma governança de TI, podem ficar ainda mais inseguros e desorganizados nesse contexto. Algumas empresas possuem, normalmente, uma visão de que os dados armazenados em nuvem estão completamente inseguros e passíveis de vazamentos; já outras, acreditam que estão seguros e não precisam se preocupar com nada. Qualquer uma das duas visões são perigosas, pois a primeira pode congelar a empresa para evoluir em busca de tecnologia em nuvem e a outra, esquece da necessidade de segurança e governança desse ambiente. Sendo assim, a empresa não pode ficar presa em inseguranças sem conhecimento de tecnologia e ambiente e, ao mesmo tempo, deve ter uma atenção adicional no processo de governança de nuvem. O planejamento de implementação para o ambiente em nuvem deve ser desenhado considerando o modelo de governança, atribuindo as boas práticas de governança e frameworks utilizados no mercado, em busca de maior segurança nesse ambiente e maior organização e gerenciamento. A governança de TI é parte integrante da governança corporativa, que se refere à aplicação de políticas relacionadas ao uso de serviços. É a definição de regras de organização que determinam como uma organização deve se comportar. Fernandes e Abreu (2014) citam a definição de governança de TI segundo o IT Governance Institute: 25 A governança de TI é de responsabilidade da alta administração (incluindo diretores e executivos), na liderança, nas estruturas organizacionais e nos processos que garantem que a TI da empresa sustente e estenda as estratégias e os objetivos da organização. (FERNANDES; ABREU, 2014, p. 13) São ferramentas, processos e metodologias que têm como objetivo garantir a entrega de resultados de negócios, tratando das decisões de TI que têm impacto no valor comercial. Isso significa que a governança de TI monitora e controla as principais decisões de tecnologia da informação que podem ter impacto positivo ou negativo nos negócios, permitindo que a organização alinhe a estratégia e os objetivos de negócios aos serviços, infraestrutura ou ambiente de TI, com o intuito de gerar confiança a todas as partes interessadas, incluindo clientes, fornecedores e funcionários, bem comoproporcionar que as organizações alcancem suas metas e objetivos. Figura 1 – Componentes principais da governança de TI Fonte: vaeenma/ iStock.com. 26 As preocupações da governança de TI (IT Governance) são a entrega de valor para o negócio e a mitigação de riscos de TI. As duas questões necessitam ser medidas adequadamente e, para isso, Software One (2017) explica os cinco componentes que devem ser levados em consideração, demonstrados na figura 1: • Alinhamento Estratégico (Strategic Alignment): a estratégia de negócios deve impulsionar a estratégia de TI. A governança de TI garante que as duas áreas trabalhem conjuntamente, para que as operações para alcançar objetivos sejam eficazes. • Gestão de Riscos (Risk Management): integra a governança das empresas, constituindo em identificação, avaliação, mitigação, comunicação e o monitoramento de riscos de negócios relacionadas à TI. É importante que seja realizado o desenvolvimento de um quadro de riscos, de modo que a governança de TI permita que a empresa visualize abrangente eventuais riscos e, assim, apresente meios para minimizá-los. • Entrega de Valor (Value Delivery): é um benefício importante da governança, que articula os direitos de decisão com relação aos investimentos em TI, a fim de garantir que entreguem o melhor valor comercial, a um nível de risco admissível. • Gestão de Recursos (Resource Management): a TI necessita de recursos suficientes, sendo assim, a governança deve garantir que a gestão de recursos (humanos e tecnológicos) seja o mais otimizada possível, para ser capaz de atender às demandas dos negócios. • Mensuração de Desempenho (Performance Measurement): a governança de TI deve assegurar uma medição e avaliação precisa de todos os níveis de recursos que sejam relevantes para a eficiência dos negócios. Busca direcionar as ações de TI na 27 organização de forma controlada, por meio de indicadores de desempenho. O principal objetivo da governança, de acordo com Fernandes e Abreu (2014), é fazer o alinhamento entre TI e requisitos de negócios, levando em consideração soluções de suporte ao negócio, bem como a garantia da continuidade dos serviços e minimizar a exposição da organização aos riscos de TI. A implantação da governança de TI não é implementar um simples controle, por meio dela, é possível garantir a segurança das informações que circulam na empresa e, ao antecipar problemas e riscos, torna possível maior precisão nas tomadas de decisões, também proporciona a durabilidade e eficiência de recursos de TI. Enfim, a governança é a peça-chave para assegurar a melhoria dos negócios. Para atingir esses objetivos, a governança de TI deve utilizar frameworks, que são uma estrutura de instruções utilizadas para auxiliar na implantação, suporte, controle, gerenciamento e manutenção de serviços, por meio de ferramentas, técnicas e sistemas para garantir a qualidade na prestação e entrega desses serviços. O uso de frameworks, na governança de TI, leva a padronização de processos, diminuindo o índice de falhas, tornando o ambiente das empresas integrado e, consequentemente, mais eficaz. COBIT e ITIL são exemplos de frameworks. Existem modelos de melhores práticas que são utilizados pela governança de TI. De acordo com Carstensen et al. (2012), os principais modelos encontram-se no Quadro 1, a seguir: 28 Quadro 1 – Modelos de melhores práticas Modelos de melhores práticas: Definição: Information Technology Infrastructure Library (ITIL). Conjunto de boas práticas detalhadas para gerenciamento de serviços de TI, concentrado no alinhamento de serviços de TI com necessidades dos negócios. SOA Governance– Service-Oriented Architecture. Refere-se aos processos usados para supervisionar a adoção e implementação da Arquitetura Orientada a Serviços, seguindo práticas, princípios e regulamentos governamentais reconhecidos, fornecendo qualidade, consistência, previsibilidade e desempenho aos serviços. Enterprise Architecture (EA). A Arquitetura Corporativa é o processo que leva as organizações à padronização e organização da infraestrutura de TI para se alinhar às metas de negócios. Control Objectives for Information and Related Technologies (COBIT). Os objetivos de Controle de Informação e Tecnologia Relacionada representam um modelo de controle que garante a integridade do sistema de informação, garantindo qualidade, controle e confiabilidade dos sistemas na organização. Fonte: elaborado pela autora. Todos esses modelos de frameworks podem ser aplicados à governança de TI e, em alguns casos, é preciso utilizar uma combinação deles para garantir aderência aos regulamentos e padrões. 29 2. Governança de TI em cloud computing A computação em nuvem é umas das áreas que mais cresce, atualmente, pelos benefícios que apresenta para as organizações, como redução de custos, escalabilidade, acessibilidade, entre outras. A governança da computação em nuvem é uma visão da governança de TI focada na responsabilidade, que define direitos de decisão, equilibra benefício ou valor, riscos e recursos em um ambiente que utiliza a computação em nuvem. Por meio da governança da nuvem, são criadas políticas e princípios orientadas aos negócios, que estabelecem um grau apropriado de investimentose controle, em torno do processo do ciclo de vida dos serviços de computação em nuvem. A computação em nuvem acrescenta positivamente às organizações. É possível ter maior controle sobre os ativos tecnológicos, pois, com a adoção da nuvem, são simplificados, já que na maioria dos casos, como em nuvens públicas e em partes nas nuvens híbridas, a infraestrutura física se encontra nos fornecedores. Entretanto, também existem riscos importantes que devem ser analisados, como: ameaças internas, cumprimento de auditoria, métricas de desempenho, segurança, prestação de contas e responsabilidade. A governança é a responsável por lidar com esses riscos. As ameaças internas, padrões, interfaces, controles e requisitos de integração devem ser tratados com políticas e procedimentos. A auditoria oferece uma visão geral das unidades de negócios e realiza a unificação dos fluxos e informações, que auxiliam as empresas a encontrarem vulnerabilidades na organização. O desempenho deve ser medido interna e externamente para oferecer insights sobre as áreas identificadas para alinhamento entre negócios e TI, podendo servir como um aviso prévio ao sistema de riscos e segurança que são importantes para lidar com os SLAs, que são acordos entre os fornecedores de nuvem e os 30 clientes. Para as organizações, é importante ter certeza que o controle de segurança está presente no provedor contratado, o que pode ser comprovado por meio de certificações de segurança por parte do provedor e transparência nos contratos e acordos de SLA na prestação de serviços, segundo Reijnders (2017). Os clientes que contratam as nuvens devem ser os responsáveis pelos mecanismos de governança da nuvem dentro de sua organização. Devem ser implementados mecanismos de auditoria, rastreamento e relatórios e monitoramento de contratos e SLAs. A falta de controle de governança, por parte das corporações em relação aos seus clientes, pode acarretar alguns riscos referentes a proteção dos ativos e informações da empresa. Um estudo, apresentado por Fernandes e Abreu (2014), aponta os principais riscos do uso da computação em nuvem: • Aplicações proprietárias: alterações e aplicações de dados podem não ser permitida para outros formatos, como estrutura de banco de dados, ou linguagem de programação, por exemplo. • Perda de governança: a perda de governança é um risco apresentado pelo uso da computação em nuvem, pois todos os processos de negócio estão sob gestão do provedor de nuvem contratado e não podem ser alterados pela gerência da empresa. • Desafios de conformidade: caso o provedor de serviço viole leis ou requisitos de conformidade, o cliente acaba também sendo responsabilizado pelo ocorrido. • Perda de reputação da empresa: caso outro cliente do provedor utilize seus serviços de maneira indevida, no caso das nuvens públicas, todos os demais que utilizam o mesmo serviço podem ser prejudicados. 31 • Término ou encerramento do serviço: se o provedor resolver não prestar mais esse tipo de serviço, o cliente, automaticamente, será prejudicado. • Aquisição do provedor de serviço por um concorrente: a alteração de propriedade do provedor pode acarretar problemas no fornecimento ou na qualidade dos serviços para o cliente. • Falha na cadeia de valor dos serviços: esse tipo de falha pode acarretar uma interrupção nos serviços da nuvem para as empresas. • Falha de configuração dos serviços: uma configuração mal feita pode resultar em vulnerabilidade, facilitando a invasão por hackers e o comprometimento de dados e informações. • Intrusão maliciosa ou papéis com alto privilégio de acessos: intrusão de dentro do provedor de serviço, por exemplo, um usuário mal intencionado. • Gerenciamento da interface compromissada: alguns itens podem afetar a segurança dos serviços e aplicações usadas pelo cliente, desde uma simples vulnerabilidade dos browsers, até mesmo acessos remotos. • Interceptação de dados, perda de dados: quando os dados são distribuídos entre várias nuvens ou servidores separados geograficamente, pode ocorrer a interceptação desses dados, caso não haja criptografia ou algum método de gerenciamento adequado. • Perda de chaves criptográficas: acesso de partes maliciosas às chaves ou senhas secretas, pode implicar em roubo ou perda de dados. 32 • Gerenciador de serviços compromissados: um gerenciador de serviços mal configurado pode possuir vulnerabilidades e sofrer ataques ou falhas inexplicadas. • Intimação: caso o provedor seja intimado, para fornecer informações que estejam em seu ambiente, os dados armazenados em discos compartilhados podem ser expostos por força da lei e o usuário pode não conseguir preservar ou proteger uma evidência, quando requerido pelas autoridades. • Risco de mudança de jurisdição: os dados podem estar distribuídos em vários locais com requisitos legais diferentes. • Queda da rede de comunicação: caso a rede no provedor sofra uma falha, afetará todos os clientes do provedor. • Logs operacionais e de segurança: a perda por parte do provedor desses logs implica em perda dos registros de sistemas e alterações, que poderiam ser utilizados como vestígios em casos de abuso de acessos ou exploração de vulnerabilidades. • Perda de backups: por parte do provedor. • Acesso não autorizado às instalações: pode comprometer a operação do provedor e automaticamente dos clientes. • Desastres naturais: interrupção no fornecimento dos serviços pelo provedor devido a inundações, terremotos, entre outros, caso o provedor de nuvem não preste um serviço de excelência, pois um bom provedor possui mecanismo de redundância em uma localidade diferente, garantindo a continuidade dos serviços se vier a ocorrer um desastre. Qualquer um desses itens, sob o controle do provedor de serviços, resulta em uma falta de controle de governança por parte do cliente, 33 não sendo possível este realizar um plano de ação para evitar esses riscos. Tomando como base os processos do COBIT 5, que define as atividades de TI em um modelo de processos genéricos com cinco domínios, e considerando os aspectos da computação em nuvem, é importante destacar como os processos de governança devem se comportar na nuvem, de acordo com Fernandes e Abreu (2014): • EDM – Evaluate, Direct, Monitor (avaliar, dirigir, monitorar): 1. Assegurar o estabelecimento e a manutenção do framework de governança: as questões de direito decisórias e definição de responsabilidades são mantidas em qualquer cenário. 2. Assegurar a entrega de benefícios: investimentos que tenham a TI como seu elemento principal devem ser avaliados quanto ao seu retorno e, depois, verificado se o retorno foi obtido. 3. Assegurar a otimização dos riscos: a mudança para a computação em nuvem apresenta vários riscos para a empresa, portanto, a tolerância aos riscos deve ser determinada junto aos executivos de negócios e as ações de mitigação e contingência devem ser estabelecidas e implantadas. 4. Assegurar a otimização dos recursos: empresa que estabelece as especificações dos serviços e abordagens de nuvem. A alocação e o uso dos recursos devem ser monitorados e avaliados periodicamente. 5. Assegurar a transparência para as partes interessadas: o negócio deve possuir informações sobre o desempenho da TI e de seu valor e impacto para a organização. 34 • APO – Align, Plan, Organise (alinhar, planejar, organizar): 1. Gerenciar o framework de gestão de TI: definição e manutenção da estrutura de TI, políticas, papéis e responsabilidades do pessoal de TI. 2. Gerenciar a estratégia: a definição de objetivos estratégicos de TI, seu alinhamento com o negócio e o desdobramento em metas e iniciativas se mantém com ou sem a nuvem. 3. Gerenciar a arquitetura corporativa: planejamento, desenvolvimento e implantação da arquitetura de serviços, são decisões da empresa. 4. Gerenciar a inovação: é de responsabilidade da empresa definir o direcionamento tecnológico da TI para a competitividadedo negócio. 5. Gerenciar o portfólio: é o que faz a ligação entre a estratégia e a execução, além de apoiar processos de governança, como o de assegurar a entrega de benefícios. A empresa realiza seu gerenciamento. 6. Gerenciar orçamentos e custos: é de responsabilidade da empresa e tem a ver com o processo de otimização de recursos. 7. Gerenciar recursos humanos: processo corporativo onde a TI está inserida, que deve ser alinhado com os objetivos estratégicos da empresa. 8. Gerenciar relacionamentos: relacionamento entre TI e as áreas de negócio. 9. Gerenciar acordos de serviço: os acordos de níveis de serviço (SLAs) da TI para o negócio definem os requisitos de serviços para a nuvem. 10. Gerenciar fornecedores: deve ser muito reforçado na computação em nuvem, pois inclui o gerenciamento de serviços relacionados a TI prestados por todos os tipos de fornecedores para atender às necessidades organizacionais, incluindo a seleção de fornecedores. 35 11. Gerenciar a qualidade: a qualidade dos serviços e produtos deve ser medida tanto na empresa quanto no provedor da nuvem. Definindo e comunicando os requisitos de qualidade em todos os processos, procedimentos e resultados das organizações. 12. Gerenciar riscos: com a nuvem sendo provida pelo fornecedor, esse processo deve ser contínuo. 13. Gerenciar a segurança: elemento muito importante em um cenário da computação em nuvem, pois define, opera e monitora um sistema para a gestão de segurança da informação. • BAI – Build, Acquire, Implement (construir, adquirir, implementar): 1. Gerenciar programas e projetos: processo que concretiza a estratégia de TI e de negócio. 2. Gerenciar definição de requisitos: empresa contratante decide se aceita ou não os requisitos e recomendações. 3. Gerenciar identificação e construção de soluções: execução pode ser terceirizada, porém, a empresa tem a palavra final. 4. Gerenciar disponibilidade e capacidade: processo que pode ser executado integralmente pelo fornecedor de serviços na nuvem. 5. Gerenciar a habilitação da mudança organizacional: qualquer mudança que venha a ocorrer, o gerenciamento é de responsabilidade da empresa. 6. Gerenciar mudanças: gerencia todas as mudanças de maneira controlada, o que inclui mudanças de padrão e de manutenção de emergência, relacionadas com processos de negócio, aplicações e infraestrutura. 7. Gerenciar aceite e transição de mudanças: processo compartilhado entre fornecedor e empresa, podendo ser estabelecidos padrões de qualidade estabelecidos em contrato. 8. Gerenciar conhecimento: processo que pode ocorrer na empresa e no fornecedor. 9. Gerenciar ativos: gerencia os ativos de TI, por meio do seu ciclo de vida para assegurar que seu uso agregue valor a um custo 36 ideal. O gerenciamento, quando todos os ativos se encontram no fornecedor da nuvem, são de sua responsabilidade. 10. Gerenciar configuração: se todos serviços, infraestrutura e aplicações forem do fornecedor, é dele a responsabilidade total. • DSS – Deliver, Service, Support (entregar, reparar, suportar): 1. Gerenciar operações: responsabilidade do fornecedor, de acordo com o que estiver no contrato de fornecimento de serviços. 2. Gerenciar requisições de serviços e incidentes: responsabilidade do fornecedor, de acordo com o que estiver no contrato de fornecimento de serviços. 3. Gerenciar problemas: responsabilidade do fornecedor, de acordo com o que estiver no contrato de fornecimento de serviços. 4. Garantir a continuidade: o fornecedor deve ter um plano de continuidade e recuperação de desastre, definido na SLA, e ser aprovado e monitorado pela empresa. 5. Gerenciar serviços de segurança: responsabilidade do fornecedor, de acordo com o que estiver no contrato de fornecimento de serviços. Deve proteger as informações da organização que contratou o serviço, a fim de manter o risco aceitável para a segurança da informação da contratante. 6. Gerenciar controles de processos de negócios: trabalho conjunto entre empresa e fornecedor. Pode haver restrições de controle em ambientes SaaS, pois a empresa pode ter limitações na configuração dos aplicativos e nos controles e privilégios de acesso. • MEA – Monitor, Evaluate, Assess (monitorar, avaliar, medir): 1. Monitorar, avaliar e medir o desempenho e a conformidade: Responsabilidade integral da empresa contratante, que deve coletar, validar e avaliar os objetivos e métricas do processo de negócio de TI. Esses requisitos devem estar nos SLAs e ser 37 monitorados para verificar se estão sendo realizados conforme metas e métricas de desempenho e conformidade acordadas. 2. Monitorar, avaliar e medir o sistema de controles internos: responsabilidade integral da empresa contratante, que deve monitorar e avaliar continuamente o ambiente de controle, incluindo auto-avaliações e análises de avaliações independentes. Isso permite a identificação de deficiências e ineficiências de controle e realizar ações de melhoria. 3. Monitorar, avaliar e medir a conformidade com requisitos externos: responsabilidade integral da empresa contratante, que deve avaliar se os processos de TI e processos de negócios suportados pela TI estão em conformidade com as leis, regulamentos e exigências contratuais. Esses requisitos devem estar presentes nos SLAs e ser monitorados periodicamente, por meio de auditorias próprias ou contratadas para este fim. 3. Etapas para governança em nuvem Introduzir a computação em nuvem em uma organização afeta funções, responsbilidades, processos e métricas. Sem a governança da nuvem em vigor, responsável por fornecer diretrizes para navegar pelos riscos e adquirir e operar com eficiência os serviços da nuvem, uma organização pode encontrar problemas comuns, como desalinhamento com os objetivos da empresa, revisões frequentes de exceções de política, projetos paralisados, conformidade, multas ou falhas regulatórias, excesso de orçamento e avaliações de risco incompletas (OMG, 2019). Para garantir que seja implementada e mantida uma boa governança na nuvem, a OMG (2019) apresenta sete etapas evolutivas que podem ser utilizadas para acompanhar as inovações em tecnologia e modelos de negócios, conforme Figura 3. 38 Figura 3 – Etapas evolutivas para governança na nuvem Fonte: elaborada pela autora. Compreender (understand): a primeira etapa se refere a compreensão do que é a governança na nuvem. Em resumo, a governança pode ser definida como um conjunto de políticas e padrões acordados com base em uma avaliação de riscos e a inclusão de procedimentos de auditoria, medição e elaboração de relatórios. Referência (benchmark): nesta etapa, é avaliado o modelo de maturidade de governança da organização. Esses modelos são úteis para avaliar lacunas no processo e padrões que possam interferir no estabelecimento e manutenção de TI e governança corporativa. Alcançar ótimos resultados de negócios depende de um escopo adequado de governança, pois avalia consistentemente o progresso e o valor dos negócios para a organização, que deve ser incluida tanto no processo de implementação da governança na nuvem, quanto no monitoramento contínuo. Estrutura (framework): uma estrutura de governança em nuvem precisará operar em harmonia com outras práticas corporativas e de governança de TI. Para isso, selecione os frameworks que serão utilizados para a governança da nuvem e implemente-os conforme sua escolha e necessidade. A governança de cloud é derivada da governança de negócios. Quando uma empresa possui um processo estabelecido e possui o serviço em nuvem, deve considerar que a governança da nuvem é baseada em execução de processos, controle, governança de TI e de arquitetura corporativa (EA) e negócios de governança. Alguns exemplos de 39 frameworks são: ITIL, COBIT e TOGAF. Já na nuvem, um framework, denominado cloud governance, se baseia nestes e aplica modificações especificas para o controle da computação em nuvem. Alinhar (allign):o alinhamento da governça de TI avalia onde o tópico da nuvem se encaixará no modelo já existente. Esse alinhamento deve levar em consideração a conformidade, obrigações contratuais e outras áreas de risco. O desalinhamento entre as necessidades do serviço do cliente e o serviço de nuvem, bem como expectativas do cliente e o que o provedor de serviços em nuvem realmente oferece, pode criar riscos ao projeto. Programa (program): é necessário que a organização defina o escopo do projeto, os fluxos de trabalho e um cronograma. Definir medidas e métricas relacionadas a governança em nuvem, bem como definir e revisar o plano de comunicação e que o plano de riscos, segurança e conformidade estejam de acordo com os orgãos governamentais. Medir (measure): não existe uma única forma de medida ou métrica que defina o quanto a governança está funcionando para todas as organizações. Então, comece a coletar dados como parte do ciclo de comunicação e revisão. Sustentar (sustain): a computação em nuvem é dinâmica e, para acompanhar essas mudanças, existem atividades e métricas mínimas que devem fazer parte de seu estatuto inicial de programa e procedimentos desde o início. Dessa forma, evoluindo os processos de governança, juntamente com os resultados e métricas do negócio. Um plano de migração para nuvem bem construído, levando em consideração a governança, fará toda a diferença no ambiente da empresa, buscando maior segurança e organização. O cloud é uma realidade e se torna quase impossível visualizar o mundo sem os serviços hospedados em nuvem, devido sua eficiência, disponibilidade 40 e escalabilidade. Então, regras e boas práticas tornam-se fundamentais para um ambiente seguro, confiável e com processos bem definidos. Referências Bibliográficas CARSTENSEN, J. et al. Cloud computing: assessing the risks. United Kingdom: ITGP, 2012. FERNANDES, A. A; ABREU, V. F. Implantando a governança de TI: da estratégia à gestão dos processos e serviços. 4. ed. Rio de Janeiro: Brasport, 2014. OMG. Practical guide to cloud governance. Object Management Group (OMG), v. 1, 2019. Disponível em: https://www.omg.org/cloud/deliverables/practical-guide-to- cloud-governance.pdf. Acesso em: 28 set. 2020. REIJNDERS, B. A comparison of governance models for cloud computing: with a case study on cloud IT controls for a telecom service provider. Master Thesis Information Management, 2017. SOFTWARE ONE. Conheça as 5 áreas de foco de uma boa governança de TI. Software One, sete de abril de dois mil e dezessete. Disponível em: https://blog- br.softwareone.com/conheca-as-5-areas-de-foco-de-uma-boa-governanca-de-ti. Acesso em: 28 set. 2020. 41 Serviços de nuvem e suas características Autoria: Fernanda Rosa da Silva Leitura crítica: Luis Vinicius Antunes Palma Objetivos • Categorizar os tipos de serviços de nuvem, considerando as camadas que os representam. • Conceituar SaaS (Software as a Service) e reconhecer suas funcionalidades. • Definir PaaS (Platform as a Service) e especificar suas funcionalidades. • Caracterizar IaaS (Infrastructure as a Service) e declarar suas funcionalidades. 42 1. Modalidades de serviços em cloud computing A cloud computing (computação em nuvem) trouxe transformações evidentes para o mundo tecnológico, se destacando e crescendo cada vez mais no mundo corporativo, apesar da complexidade do que a envolve, por oferecer uma gama de recursos que abrange diversas modalidades, serviços e aplicações que a compõe. Portanto, ao falar em cloud computing, é inevitável se deparar com as siglas IaaS, PaaS e SaaS,mas organizações, muitas vezes, ainda sustentam dúvidas sobre a escolha propícia para seu ambiente. Antes de surgir a possibilidade de migrar os serviços para nuvem, as organizações desenvolveram uma visão além do que diz respeito a manter uma infraestrutura completa dentro da organização, dando um passo para fora desse contexto e optando por serviços terceirizados denominados hosting e colocation, que permitiram a independência por parte da infraestrutura de TI. Entretanto, os recursos da computação em nuvem passaram a ser disponibilizados de diferentes formas, moldados a cada um desses serviços, sendo entregues por meio dos modelos de computação em nuvem: público, privado, híbrido, comunitário e refinando, ainda mais a tecnologia em relação ao tratamento dos serviços. Analise a ilustração da pilha abaixo (Figura 1): 43 Figura 1 – Pilha de serviços em nuvem Fonte: bakhtiar_zein/ iStock.com. A ilustração acima permite identificar os papéis desempenhados pela arquitetura baseada em nuvem, onde a camada inferior sempre suporta a superior. Sendo assim, IaaS suporta os serviços previstos em PaaS, que, consequentemente, suporta os serviços prestados pela camada SaaS. Ainda, é correto afirmar que SaaS e PaaS são camadas marcadas pelo consumo de serviços, e IaaS pelo fornecimento de recursos para as demais camadas, segundo Veras (2012). Com essa disposição em camadas, é possível que o provedor disponibilize os recursos necessários, tornando-se responsável por isso, além de definir, por meio dessa pilha, diferentes interesses, categorizando o que deve oferecer para cada organização ou usuário, considerando seus interesses e fornecendo suporte a todos os modelos de serviço. https://www.istockphoto.com/br/portfolio/bakhtiar_zein?mediatype=illustration 44 A partir de agora, vamos conhecer os conceitos, funções, vantagens e desvantagens para os serviços ofertados na nuvem, acompanhando em que casos devem ser aplicados e entendendo sua estrutura básica. 2. Conceitos básicos de SaaS e suas funcionalidades Software como serviço (Software as a Service–SaaS) é considerada a camada mais alta da pilha de serviços, utilizada por um grande número de usuários finais e amplamente implantada na nuvem pública como alternativa de hospedar aplicativos próprios para armazenar e processar dados, sendo uma alternativa de baixo custo. Nesa modalidade, os aplicativos são oferecidos como serviço, mantidos por provedores e acessados pelos usuários por meio de aplicações alcançadas com o uso de um simples browser (navegador). Todo o controle abaixo dessas aplicações, incluindo recursos computacionais, como gerenciamento de rede, sistemas operacionais, servidores, sejam físicos e virtualizados, dispositivos de armazenamento e energia, é realizado pelo provedor de serviço. Google Apps é um dos maiores exemplos de SaaS, que disponibiliza os recursos publicamente para qualquer um que vier a contratar. Em SaaS, o usuário fica isento de adquirir qualquer licença e até mesmo de instalar este aplicativo em seu computador, utilizando unicamente neste equipamento. Tome como exemplo o pacote Office, oferecido pela Microsoft, que antes comercializava somente por meio de licenciamento, sendo necessária a compra e instalação do programa, seguido da inserção de chave de ativação, restringindo o uso dos recursos localmente. Na nuvem, adquirindo software como serviço, pode-se optar pela contração do Office 365, onde qualquer documento é editado on-line, por meio de qualquer dispositivo que suporte acesso via navegador, estando os artigos, planilhas e documentos armazenados 45 na biblioteca, disponíveis a qualquer momento para edição, download e compartilhamento. Assim, essa aquisição é realizada por meio de uma assinatura, pagamento mensal conforme o número de contas que utilizam o serviço, podendo ser de uso individual ou conjunto em caso de planos empresariais, permitindo também configuração de e-mail na nuvem, acesso à caixa de e-mail e até mesmo, em alguns casos, fornecendo o download do aplicativo local para usuários que ainda não se adaptaram totalmente, mas que podem fazer o uso simultâneo dos dois modos, nuvem e local, adequando à sua necessidade. Outro fator importante é a cobrança dos serviços, onde Veras (2012) menciona que pode ocorrer de acordo com o fornecedor, sendo baseada em uma taxa fixa para o uso ilimitadodos recursos ou sendo aplicada de forma variável baseada no uso, considerando o período de tempo estabelecido. Ainda, quando um software é comprado em forma de licença e uma atualização ou correção é lançada pelo fabricante, fica a cargo do usuário, aceitar, realizando download e aplicação da mesma ao seu software. Já em SaaS, qualquer patch (atualização ou correção de software) lançado é aplicado automaticamente e, muitas vezes, nem é visível, importando, assim, somente o funcionamento correto dos recursos. 2.1 Vantagens no uso de SaaS Utilizar o sistema de software na nuvem traz um leque de vantagens e benefícios à organização, sendo, o primeiro deles, o poder de migrar softwares menos críticos, que até então dependiam de profissionais habilitados para gerenciá-los, mesmo sendo de estrutura simples. A implementação desses serviços geravam um grande custo, que, hoje, com a aquisição na nuvem, diminuem drasticamente. 46 Licenciamento, infraestrutura e integração com outros sistemas, acabavam exigindo tempo e orçamento que, e, de acordo com Veras (2012), poderiam vir a representar riscos a empresas de todos os portes, muitas vezes, ficando de fora do alcance de empresas menores sem condições de manter tudo isso localmente. A nuvem, nesse ponto de vista, veio como uma solução simplificada, onde empresas de pequeno porte podem até abandonar parte de suas instalações, quando mantidas somente para o fim de utilizar softwares simples como ferramentas de escritório, por exemplo. Chandrasekaran (2015) ainda adiciona que estarão essas organizações livres de manutenção, sendo responsáveis apenas por executar os serviços no topo da nuvem, gerenciados pelo provedor. Com a migração para este serviço, tarefas como monitoramento, assegurar recursos de alta disponibilidade, atualizações, correções, se tornam dispensáveis, podendo o administrador da rede e dos negócios transferir essa responsabilidade ao provedor, se concentrando em atividades que agreguem valor ao negócio, alinhando suas metas mais voltadas às operações estratégicas. 2.2 Desvantagens no uso de SaaS Quando o assunto é confiança, ainda existem dúvidas por parte das organizações, além de uma preocupação ao externar seus dados, independente da criticidade das informações ser baixa ou não. Os dados são bens importantes para qualquer negócio e, no novo modelo, estarão fora da organização, o que para muitas empresas é um problema. (Veras, 2012, p. 227) Apesar dos benefícios de gerenciamento centralizado e baixo custo estabelecidos ao utilizar um software na nuvem, é necessário, no entanto, adaptar seus dados ao nível de privacidade e segurança 47 oferecidos na nuvem, além de depositar confiabilidade no provedor responsável pelo controle dos dados e suas soluções. Veja a comparação do modelo citado com a infraestrutura local: Figura 2 – Comparação de SaaS com a infraestrutura tradicional Fonte: elaborada pela autora. 48 Podemos concluir que utilizando SaaS, o gerenciamento completo se torna responsabilidade do provedor, o usuário somente os consome, gerenciando suas informações e dados. 3. A plataforma em nuvem e suas funcionalidades Plataforma como serviço (Platform as a Service–SaaS) é uma das principais formas como os serviços são disponibilizados na nuvem, camada intermediária da pilha que oferece todos os recursos necessários para publicação de um aplicativo ou site e consiste no fornecimento de ferramentas que dão liberdade aos desenvolvedores para codificar no ambiente de nuvem, sendo, de acordo com Chandrasekaran (2015), responsáveis por gerenciar e implementar aplicativos e configurar o ambiente de desenvolvimento. Ainda, aponta que alguns dos recursos oferecidos são CLI (interface de linha de comando) web, interface do usuário (User Interface–UI) e ambientes de desenvolvimento integrados (Integrated Developmet Environment -IDE). Exemplos de provedores populares são Red Hat OpenShift e Salesforce. com. De qualquer forma, não somente as aplicações criadas pelo desenvolvedor podem ser instaladas na nuvem, como qualquer aplicação adquirida de terceiros podem ser mantidas, utilizando ferramentas e bibliotecas oferecidas pelo provedor de nuvem, tornando o uso das aplicações mais flexíveis. Portanto, considere que uma aplicação seja desenvolvida para ser utilizada na plataforma Red Hat OpenShift, utilizando uma linguagem padrão de programação, como Python, que rodaria normalmente na plataforma utilizada pelo desenvolvedor, mas, ao migrar para nuvem, deve ser adaptada para que possa ser suportada corretamente. 49 3.1 Benefícios para o uso de PaaS Optando por migrar para essa modalidade, a necessidade de gerenciar os recursos computacionais, como software e hardware, é eliminada, permitindo o desenvolvimento de aplicações e instalação de recursos apropriados para as aplicações hospedadas. Veja na Figura 3: Figura 3 – Comparação de PaaS com a infraestrutura tradicional Fonte: elaborada pela autora. 50 Com essa estrutura, é possível acelerar o tempo que as equipes levam para desenvolver suas aplicações, ao invés de perder tempo analisando questões de hardware, rede e segurança, necessitando estudar a compatibilidade entre todos esses recursos antes de começar, verificando requisitos mínimos, adaptando a infraestrutura e gerando, assim, custos para tornar a operação possível. Fica fácil para qualquer organização se adaptar às necessidades do negócio, visto que quaisquer recursos podem ser disponibilizados imediatamente, assim como também pode abrir mão quando não for mais útil. Além disso, realizar testes aplicando configurações diversas, considerando localidades distintas e utilizando recursos que forneçam o desempenho necessário, se torna mais rápido e corta custos que envolvam o data center e que seriam necessários em uma infraestrutura tradicional, também com um número menor de pessoas envolvidas nos processos de TI. A mobilidade de desenvolvedores é cada vez mais evidente e o fato do ambiente estar acessível via Internet, conforme relata Opus (2015), abre muitas opções quanto a localização, como trabalho remoto, times dispersos geograficamente e facilidade na colaboração em projetos. Por fim, erros envolvendo o ambiente de desenvolvimento passam a ser menos recorrentes, abonando os desenvolvedores com mais tempo para que possam se envolver em outras tarefas. 3.2 Obstáculos ao adotar PaaS Ainda não existe uma padronização determinada entre os provedores, conforme Opus (2015), ainda existem fatores que não estão definidos da melhor maneira, o que faz com que fique mais complicado comparar soluções de fornecedores, a fim de escolher uma plataforma adequada para migração para o novo modelo, por isso, PaaS ainda é o modelo 51 menos maduro no mercado, comparado aos serviços oferecidos pela nuvem, além de ser o menos procurado atualmente. A segurança também é considerada pelas organizações, ainda mais considerando que seus ambientes de desenvolvimento e homologação estariam fora da organização, podendo ser corrompidos ou vazados antes mesmo de se tornarem aplicações produtivas. PaaS ainda exige certo esforço por parte da organização. Isso faz com que SaaS seja preferência por oferecer aplicações prontas ou IaaS ser a melhor escolha por oferecer melhor liberdade, por isso, veja no próximo item como esse serviço é oferecido na nuvem. 4. Características e funcionalidades do modelo IaaS Infraestrutura como serviço (Infrastructure as a Service–IaaS) é a forma mais completa que os serviços em nuvem são oferecidos e muda totalmente as formas como os recursos são fornecidos e consumidos, pois a infraestrutura, apesar de invisível, pode ser gerenciada pela organização apenas com algumas limitações. Agora, migrando para essa infraestrutura, dispositivos de armazenamento, rede e recursos ainda estão no data center do provedor, mas a organização e os usuários são capazes de gerenciar alguns recursos de virtualização, definiro que será utilizado para cada servidor: adicionar discos, memória, escolher a localização (considerando opções disponíveis), desligar e ligar as máquinas virtuais, atribuir nome ao host e credenciais administrativas ao recurso. Em termos de sistema operacional, é possível escolher e instalar o sistema operacional, adquirir licenciamento para ativação do sistema ou até mesmo utilizar uma existente, configurar serviços, 52 instalar programas, entre outras ações. Todos os recursos podem ser adicionados ou removidos a qualquer momento, definindo o custo que pode ser mensurado sempre que necessário. Considerando tarefas mais avançadas, é possível adicionar interfaces de redes redundantes, configurar balanceamento de carga, adicionar unidades de processamento (CPUs) de forma específica, considerando até mesmo quantos núcleos de processamento serão necessários, eliminando, de acordo com Chandrasekaran (2015), a complexidade de manter a infraestrutura física, porém, mantendo todos os benefícios da nuvem em relação à um ambiente de infraestrutura local, como elasticidade, serviço sob demanda e maior disponibilidade dos serviços. Lembrando que cada recurso adicionado ao hardware gera custos de acordo com sua especificação e capacidade técnica, este sistema, geralmente, é denominado pay and use. 53 Figura 3 – Comparação de IaaS com a infraestrutura tradicional Fonte: elaborada pela autora. 54 4.1 Privilégios no uso de IaaS O maior privilégio de utilizar esse modelo é que mesmo com os recursos distribuídos, muitas vezes, por políticas e padrões estabelecidos pelo próprio provedor, o gerenciamento aos olhos do administrador é centralizado, realizado por meio do navegador, dando a visão facilitada de todos os recursos criados e implementados na nuvem. Veja abaixo, como isso funciona no Microsoft Azure. Figura 4 – Painel Microsoft Azure Fonte: print de tela do portal Azure, da Microsoft. Os usuários têm total liberdade para configurar a VM do zero. O uso de IaaS permite que múltiplos usuários acessem os recursos, simultaneamente, com login próprio e as contas podem ser personalizadas como ocorre em qualquer sistema operacional. IaaS é a escolha ideal para organizações que enfrentam picos de uso imprevisíveis, assim, para demandas que não podem ser previstas, 55 a elasticidade do ambiente permite ajustar imediatamente qualquer recurso. Tanto para empresas pequenas que não possuem hardware, como para empresas que necessitam de muitos recursos e seria necessário um grande investimento em infraestrutura, IaaS é um bom investimento. 4.2 Dificuldades ao considerar o no uso de IaaS Todas as máquinas virtuais (VM) mantidas no formato de infraestrutura na nuvem podem estar propícias a riscos, pois a virtualização tem um papel importante na disponibilização desses serviços e, de acordo com Chandrasekaran (2015), ataques podem comprometer esses recursos e os dados armazenados por eles. No entanto, atualmente, a maioria dos provedores é capaz de proteger as Vms de forma eficiente. Migrar de um provedor para o outro, considerando uma infraestrutura completa na nuvem acaba sendo um processo mais complexo, quando comparado aos serviços oferecidos como plataforma e software, pois nem sempre será compatível com todos os provedores e estruturas. Portanto, Chandrasekaran (2015) ainda aponta que por estar em outra rede, o acesso às máquinas virtuais podem apresentar maior latência, trazendo problemas com seu desempenho. Tendo em vista os três modelos principais de serviços, conclui-se que IaaS é capaz de fornecer recursos computacionais, seja hardware ou software, já em relação à PaaS, recursos, como tecnologias e ferramentas para desenvolvimento, são providos, utilizando os recursos da camada inferior, permitindo a execução dos serviços implementados e que são disponibilizados como SaaS. Mesmo assim, isso não significa que todos os modelos devem ser disponibilizados como uma estrutura única, onde, muitas vezes, o provedor pode apenas oferecer SaaS, PaaS ou IaaS (onde apenas sub recursos podem ser utilizados (Nework as a Service–NaaS; Banco de 56 dados as a Service–DBaaS; Storage as a Service–STaaS), assim como a organização também pode optar pela escolha somente de um modelo, migrando somente o que for conveniente para sua organização e adaptando ao seu modelo de negócio. Referências Bibliográficas CHANDRASEKARAN, K. Essentials of cloud computing. 1ed., Chapman and Hall/ CRC, 2015. OPUS. O que é PaaS? como começar a usar? A Opus Software, vinte e oito de julho de dois mil e quinze. Disponível em: https://www.opus-software.com.br/o-que-e- paas-como-comecar-a-usar/. Acesso em: 28 set. 2020. VERAS, M. Computação em nuvem. Rio de Janeiro: Brasport, 2015. 57 Aplicações em nuvem e o futuro da tecnologia Autoria: Fernanda Rosa da Silva Leitura crítica: Luis Vinicius Antunes Palma Objetivos • Descrever características das aplicações na nuvem e fatores importantes sobre sua migração e desenvolvimento. • Explorar o uso de aplicações e suas funcionalidades na infraestrutura de cloud computing. • Entender como cloud computing está caminhando com a evolução dos seus recursos e o futuro que podemos esperar para a tecnologia. 58 1. Características das aplicações na nuvem Em um curto período de tempo, a maioria das organizações terá migrado pelo menos um de seus serviços para nuvem, aderindo ao uso de aplicações por meio desse modelo, avaliando antes sua criticidade e mediante planejamento adequado. Isso porque as opções e modelos de nuvem proporcionam diferentes intervenções que permitem flexibilizar a migração para o novo modelo. Nuvens privadas e híbridas oferecem grande confiabilidade e grande capacidade de manter as aplicações seguras. As principais aplicações e seu uso da nuvem vêm expandindo cada vez mais, aumentando o escopo de serviços compatíveis com a plataforma e facilitando a forma como as organizações passam a gerenciar seus serviços. Simplificadamente, a computação em nuvem se refere ao modelo como a ideia de utilizar, em qualquer lugar, as aplicações por meio da Internet, sem depender de nenhuma plataforma e isentando o processo da etapa de instalação em computadores locais, segundo Alecrim (2015). De acordo com Veras (2012), uma aplicação pode ser definida como qualquer software que possa ser acessado pelo usuário, principalmente pela Internet, como é o caso de aplicações disponíveis na nuvem, gerenciada por um servidor e não pela máquina local do usuário. Outro ponto importante a ser considerado é que a virtualização é um recurso indispensável para que as aplicações sejam entregues por meio da nuvem. De acordo com Hausmann, Cook e Sampaio (2013), uma aplicação independentemente de estar ou não armazenada na nuvem, é 59 representada por três camadas: camada de apresentação, camada de negócio e camada de dados, conforme ilustrado na Figura 1: Figura 1 – Modelo lógico de três camadas de uma aplicação Fonte: elaborada pelo autor. Anteriormente à existência da nuvem, aplicações eram mantidas localmente sem depender de qualquer recurso extra, como conexão com a Internet, interação com outros usuários, serviços de rede e nenhuma permissão de acesso específica, tornando mais simples tarefas do cotidiano, como uso de um editor de texto, se limitando ao uso do disco local para armazenar as informações geradas e proporcionando recursos do aplicativo, sempre que necessário, por meio de acesso ao dispositivo hospedeiro. Entretanto, essa forma de uso de aplicações acabou se tornando limitada até que a tendência de manter as aplicações na nuvem surgiu. 60 Na nuvem, as aplicações são mantidas de forma centralizada logicamente, apesar de que podem estar distribuídas em relação ao hardware. Por isso, trazem maiores possibilidades de compartilhamento e colaboração entre os usuários, contribuindo para maior visibilidade aos negócios, incluindo serviços de qualquer setor. Atualmente, nãoexiste a preocupação de manter um negócio geograficamente subdividido por questão de acessibilidade em relação aos dados, pois, na nuvem, as informações podem ser acessadas em qualquer local, facilitando a comunicação sem oferecer qualquer obstáculo, de acordo com Hausmann, Cook e Sampaio (2013). 1.1 Migração Quando uma aplicação já faz parte da rotina de uma organização e uma migração para a nuvem é planejada, essa aplicação, geralmente, tende a ser reaproveitada e, para isso, é necessário rever os padrões desse aplicativo e adaptá-los para que estejam em conformidade com a nuvem. Sendo assim, a organização está suscetível a enfrentar alguns desafios que envolvem a adaptação ao modelo de nuvem em relação ao ambiente tradicional que hospedava as aplicações até então. Por isso, avaliar a migração de aplicações de forma minuciosa é um fator decisivo, pois existe uma percepção errônea sobre o processo de migração ser uma solução simples, que traz como principal benefício a redução de custos. No entanto, isso só se torna uma realidade se, de fato, as aplicações forem elegíveis para serem adaptadas à plataforma da nuvem. Softwares legados, por exemplo, não são bons candidatos, assim como aplicações proprietárias, desenvolvidas pela proporia organização, com requisitos específicos para atender ao seu ambiente local, pois, em alguns casos, podem não ser compatíveis com o novo modelo proposto. Softwares criados há muito tempo podem ser dependentes de hardware especifico e, possivelmente, falhar quando sua operação for alterada para nuvem. 61 Após a identificação das aplicações contidas no ambiente da organização, é necessário tomar uma decisão sobre quais delas podem ou não ser migradas para nuvem. De acordo com Hausmann, Cook e Sampaio (2013) alguns aplicativos, como aqueles categorizados pela modalidade SaaS, podem ser facilmente substituídos por outros. Já os serviços mais complexos, podem ter como opção utilizar serviços oferecidos como infraestrutura ou tirar proveito de ofertas disponíveis em PaaS. As seguintes opções são sugeridas por Hausmann, Cook e Sampaio (2013) para que as aplicações sejam alocadas na nuvem de maneira correta: Quadro 1–Prós e contras de manter as aplicações na nuvem Migrar para: Prós: Contras: SaaS. Baixo custo ao substituir uma aplicação local por SaaS. Baixa flexibilidade para customização. PaaS. Não necessita realizar manutenção no sistema operacional e oferece ferramentas necessárias a baixo custo. Limita o desenvolvimento da aplicação ao ambiente do provedor. IaaS. Maior probabilidade de ser compatível com plataforma de outros provedores, uso de tecnologias de desenvolvimento que mais se adaptem a familiaridade do desenvolvedor com elas. Requer controle e manutenção de recursos que compõem a infraestrutura da nuvem, desde o sistema operacional até as configurações necessárias para manter a funcionalidade do ambiente. Fonte: adaptada de Hausmann, Cook e Sampaio (2013, p.134). 62 Com as demandas que surgem, referentes à migração de aplicações dos atuais ecossistemas de software alocados dentro das organizações para a nuvem, visando aderir a forma como as aplicações são mantidas pelo novo modelo, se torna necessário o suporte à implantação e execução de soluções que permitam a integração entre os ambientes, permitindo o alcance às aplicações absorvidas pela nuvem. Por isso, os provedores ainda devem oferecer serviços de orquestração (OaaS). Nas palavras de Frantz etal. (2014), a orquestração como um serviço está diretamente relacionada ao modelo de negócio e define a forma como os recursos em ambientes distintos passam a ser combinados e equilibrados entre si. Assim, em casos onde a migração parcial de aplicações de um conjunto de recursos da organização é realizada, é possível comunicar os dois ambientes, tornando a nuvem uma extensão da rede local e tornando esta invisível aos olhos dos usuários, que terão a percepção de que a rede é uma só. Aplicações que hospedam dados mais críticos ou são obsoletas, talvez não devam ser migradas para nuvem por questão de segurança e suporte adequado, respectivamente. Para as aplicações elegíveis, é recomendado que alguns passos sejam considerados, como questionamentos que deixem mais claro se a migração deve ser realizada, definição de processos, escolha de provedores e planejamento adequado antes da migração. 1.2 Desenvolvimento Apesar das facilidades que a nuvem oferece, nem todas as aplicações são elegíveis para serem migradas como solução para a preservação de suas características e funcionalidades. Portanto, em alguns casos, a migração é o caminho mais adequado, já em outros, desenvolver uma aplicação para substituir a atual, é a melhor escolha a ser feita, ainda mais considerando que, de acordo com Arruda (2011), o desenvolvimento das aplicações diretamente na nuvem flexibiliza e 63 maximiza os recursos computacionais disponíveis e ainda permite aplicar a personalização necessária para cada aplicativo que seja criado a partir de sua estrutura. Para que novas aplicações sejam desenvolvidas e projetadas para estarem prontas para nuvem, diversos sistemas de desenvolvimento podem ser utilizados, uma variedade de ferramentas está disponível, atendendo necessidades diversas que incluem desde a intenção de oferecer aplicativos pessoais e ferramentas de produtividade até o objetivo de implementar a função de back-end envolvida pela nuvem e o suporte adequado dado à organização. Assim como qualquer aplicação local, as aplicações em nuvem também são segmentadas em diversas camadas, cada qual com sua função específica, desde a que faz interface com o usuário até a camada mais baixa que comunica toda a estrutura lógica do sistema com a nuvem. O design no sistema é um dos desafios que podem influenciar diretamente quando se considera o desenvolvimento de uma aplicação na nuvem. Existem fatores, de acordo com Hausmann, Cook e Sampaio (2013), que devem ser levados em consideração pelos desenvolvedores sempre que uma nova aplicação precisar ser criada: • Aplicações sem estado ou aplicações com estado. Respectivamente, as aplicações sem estado não acumulam nenhuma informação sobre o cliente, atendendo solicitação e descartando qualquer dado após seu processamento, armazenando as informações somente no cliente e não no servidor. Por outro lado, as aplicações com estado exigem que as informações sobre os dispositivos sejam mantidas entre cada chamada ao servidor, porém, pelo fato da infraestrutura da nuvem ser distribuída, não há garantia de que o mesmo servidor receberá a todas as solicitações, por isso, esse padrão deve ser evitado na nuvem. 64 • Escolha entre IaaS e PaaS. Apesar de uma oferta de PaaS oferecer uma estrutura melhor preparada para desenvolvimento de aplicações, este modelo ainda apresenta algumas limitações, quando a questão é a compatibilidade entre as plataformas dos provedores ou quando se pensa em migrar, posteriormente, de um provedor para o outro, pois nem sempre APIs (conjunto de rotinas e padrões específicos para programas e acessar um software baseado na web) utilizadas como base são as mesmas, o que pode se tornar um problema de compatibilidade em casos específicos, tornando sua aplicação aprisionada em uma tecnologia específica. Ao optar pelo uso de IaaS, o desenvolvedor se torna livre para escolher as ferramentas que utilizará e recursos necessários para disponibilizar sua aplicação, porém, é necessário estar atento aos custos, planos e a combinação entre eles, avaliando as vantagens e custo benefício que será agregado ao seu negócio. As principais características das aplicações na nuvem são: alta disponibilidade e escalabilidade, mantidas por sistemas específicos, como aplicação de clusters de failover (tolerância a falhas), que são capazes de manter altas cargas de trabalho recebida pelos servidores e compartilhar, entre si, dados que são manipulados pelas aplicaçõese expostos a rede por meio de um único ponto (a nuvem). • Acordo de nível de serviço e estrutura de data center. Hausmann, Cook e Sampaio (2013) destacam que os provedores de nuvem, geralmente, garantem um nível de disponibilidade que esteja entre 99,99% e 100%, garantindo financeiramente qualquer prejuízo relacionado ao tempo de indisponibilidade (considerando o valor pago pelo serviço), caso o Acordo de nível de serviço (Service Level Agreement–SLA) não seja atendido. Essa situação deve ser avaliada e monitorada sempre, para que os indicadores não venham a impactar 65 no desenvolvimento e disponibilidade das aplicações. Outro fator importante é a distribuição de dados, alguns provedores como Amazon e Rackspace mantém centros espelhados por todo mundo. • Monitoramento, instâncias e custos. Em alguns (poucos) casos, o provedor não provê nenhum tipo de monitoramento, sendo necessário terceirizar ferramentas e serviços para este fim. Outros (a maioria), fornecem ferramentas integradas sem custo adicional. Alguns provedores, ainda, definem o número de servidores que podem ser utilizados, então, é necessário avaliar se isso não prejudicará o desenvolvimento de duas aplicações, pois, nesse caso, recursos como CPU, memória e sistema operacional, são preestabelecidos (principalmente em PaaS). 2. Aplicações na nuvem e suas funcionalidades Aplicações em nuvem bem projetadas são capazes de proporcionar uma experiência ao usuário da mesma forma como se tivesse um programa instalado completamente em uma máquina local, em uma rede de computadores privada, porém, sem a necessidade de utilizar recursos e realizar atualizações, sendo possível acessar suas funcionalidades em qualquer dispositivo. Por padrão, as organizações costumam manter as aplicações de forma distribuída, funcionando em diversos equipamentos de forma simultânea, para uso de diversos usuários. De fato, nesse caso, podem surgir alguns problemas, como incompatibilidade com alguns sistemas operacionais, por exemplo. Já na nuvem, as aplicações podem ser oferecidas de várias formas, estando centralizadas nas plataformas, porém, podendo ser acessadas independente de qualquer sistema 66 operacional e hardware. Entre as aplicações, estão inclusos aplicativos e ferramentas de uso pessoal, aplicações utilizadas para fins de produtividade e desenvolvimento de softwares, incluindo rotinas de testes. A Figura 2 ilustra como isso funciona: Figura 2 – Visão geral de uma aplicação na nuvem Fonte: adaptada de Hausmann, Cook e Sampaio (2013, p.124). Com as aplicações na nuvem, o uso de servidores físicos diminui e utiliza como característica a escalabilidade, de forma automática. As principais formas de uso de aplicações na nuvem, de acordo com Hausmann, Cook e Sampaio (2013) são as seguintes: • Nuvens de armazenamento. Sempre quando uma organização aloca espaço de armazenamento para seus servidores locais, à medida que estes dispositivos são utilizados, os recursos vão se esgotando, o que leva a uma nova necessidade 67 em pouco tempo, altos custos e imprevistos que surgem até que um recipiente temporário seja encontrado, ainda mais quando se tem urgência para realização de um projeto especifico. Atualmente, quando isso acontece, as organizações recorrem ao armazenamento na nuvem. • Ferramentas de videoconferência. Aplicativos de videoconferência baseada na web permitem colaboração entre organizações que atuam de forma distribuída, compartilhando aplicações na web e utilizando o recurso apenas com a instalação de plug-ins, que permitem conectar e estender a funcionalidade do navegador para o hardware utilizado, integrando recursos como microfone e webcam. • Websites e plataformas de desenvolvimento. Mesmo com o uso da virtualização, recursos são subutilizados, por isso, considerar a migração de aplicações em desenvolvimento ou em fase de testes, uma vez que, quando em testes, os dados tratados por uma aplicação são menores do que em fase de produção. Nessa modalidade, um site é hospedado de forma transparente em diversas máquinas físicas que simulam uma única máquina virtual, trabalhando, assim, de forma integrada por trás da nuvem, distribuindo a carga de processamento, armazenamento de dados que trabalham integradas, distribuindo as cargas de processamento, armazenamento de dados e memória. Alguns recursos aplicados para essa finalidade são Grid (vários computadores em uma rede local que constroem uma grande máquina virtual), redes do tipo CDN, rede de fornecimento, entrega e distribuição de conteúdo (armazena o conteúdo do site em múltiplos servidores, dispersos geograficamente que garantem acesso por meio do servidor disponível que se encontra mais próximo do ponto de acesso) e recursos escaláveis. 68 • Customer Relationship Management (CRM). Esse sistema é indispensável para empresas de todos os portes, sendo utilizado para armazenar informações importantes de clientes, dando um salto em relação ao processo de aquisição de licenças e infraestrutura física, agregando a plataforma, colaboração e acesso às informações de forma remota, aumentando a produtividade no ambiente de negócios. Um exemplo é a SalesForce que oferece a capacidade de hospedar aplicativos personalizados para atendimento ao cliente. • E-mails corporativos e proteção. E-mails corporativos já são aplicações muito conhecidas na nuvem, porém, tratar spans, neste serviço, se tornou mais simples com a migração para nuvem, combinando uma infinidade de serviços que possibilitam o tratamento dessas ameaças como o uso de lista negra, filtro de spans, tecnologias antifraude e outros malwares baseados em e-mails. Outras utilizações atreladas às aplicações em nuvem são: • Administração de banco de dados, permitindo que a base de informações da organização esteja disponível em 100% do tempo e possa ser acessada, alterada e analisada sempre que necessário. • Serviços de segurança e conectividade: o uso de VPN (rede virtual privada, utilizada para criar uma rede de comunicação entre computadores utilizando um túnel criptografado, permitindo a troca de informações), por exemplo. É possível, por meio da nuvem, para estabelecer uma conexão direta com a rede local a partir de configurações específicas que interligam as duas estruturas. 69 3. O futuro da computação em nuvem Há muito tempo, a computação se tornou uma necessidade básica para qualquer organização e, atualmente, a computação em nuvem é considerada sinônimo de alta produtividade e baixo custo. Isso se dá pela forma como a tecnologia já revolucionou a forma com que os serviços podem ser consumidos pelas organizações, buscando sempre otimizar os resultados que oferecem e a possibilidade que a computação em nuvem trouxe para dentro das organizações vai além disso. A evolução da computação em nuvem e o futuro da tecnologia estão diretamente ligados a um ambiente adaptado que envolve os serviços e recursos computacionais, que incluem dispositivos de rede, armazenamento e outros equipamentos, os quais o data center envolve e estão sendo criados para receber a nuvem. O uso de máquinas virtuais e os modelos que a compõe, necessitam de alocação de hardware, como servidores, discos e capacidade de processamento adequada. Além disso, recursos de automatização e outros dispositivos fazem parte dessa evolução. O futuro da nuvem sofre constantes previsões, porém, é possível traçar algumas perspectivas sobre a evolução desse modelo. Veja algumas delas de acordo com Hausmann, Cook e Sampaio (2013). • Evolução para Serverless: Serverless (sem servidor) computing é uma evolução da computação em nuvem, que está cada vez mais aparente no mercado, onde a camada operacional de servidores é eliminada, oferecendo ainda mais economia para as aplicações na nuvem. Com o uso de Serverless, os servidores físicos ainda existirão, porém, não será mais necessário se preocupar com o gerenciamento, provisionamento e manutenção dosrecursos necessários para os servidores da nuvem. Com isso, será possível aperfeiçoar o uso da elasticidade na nuvem, tornando este recurso ainda mais efetivo, permitindo que a máquinas virtuais 70 sejam automaticamente alocadas quando o número de usuários conectados ou a carga de trabalho aumentar, por exemplo, ou diminuir estes recursos à medida que esses mesmos usuários venham a declinar ou a demanda diminua não necessitando mais dos recursos. Tornar o hardware escalável, assim como hoje são os serviços, seria o caminho para alcançar esse objetivo e alguns fornecedores já trabalham em projetos para tornar a nuvem privada escalável, utilizando esse modelo de aplicação. • Containers: o uso de containers robustos para substituir os recursos de redundância atuais que se baseiam em hardwares específicos, criando um sistema de tolerância a falhas baseado em automação que contenha maior quantidade de servidores. A implantação de containers completos que utilizam servidores de forma redundante, mantendo cópias de dados e máquinas virtuais que podem ser transferidas de forma eficaz, poderá suportar falha de qualquer hardware, sendo, assim, o conjunto de servidores simplesmente desconectado transferindo sua carga para outro container até que o recipiente seja reparado. A própria Microsoft já iniciou com alguns projetos desse tipo, onde containers abrigam centenas de servidores conectados diretamente, que compartilham recursos de energia e de rede. Esses recursos tornam as soluções de armazenamento altamente redundantes e substituíveis de forma rápida, sendo a ação de substituição do container realizada antes mesmo que a interrupção se torne um problema para a operação, porém, o custo para este recurso é consideravelmente alto. • Internet das Coisas: criação de cidades inteligentes que envolvam dispositivos sem fio, redes conectadas por meio de sensores, envolvendo a conectividade da computação em nuvem e a Internet das Coisas, revolucionando a forma como vivemos em sociedade e potencializando controle de informações em diversos segmentos. Esse recurso crescerá e se tornará comum para beneficiar a população, aumentando a forma como as informações 71 são coletadas, criando plataformas de vigilâncias, identificação de placas de carros, faces, entre outros serviços de monitoramento inteligentes que incluem rastreamento e monitoramento de frotas, coleta de lixos e outros serviços com o uso de GPS, armazenando as informações na nuvem em tempo real, podendo ser acessadas mais facilmente. • Big Data: o conceito de Big Data anda junto com a computação em nuvem e já vem apresentando grande evolução para a tecnologia, o que crescerá futuramente, por conta do seu potencial elevado para processar informações e armazenar dados, Big Data terá ainda mais poder quando aliado com a computação em nuvem, sendo, assim, possível tratar um grande volume de dados, monitoramento de operações e identificar melhoras estratégias para análise de dados. • Nuvem móvel: Rittinghouse e Ransome (2010) também apontam uma previsão para o futuro da nuvem, pela qual os recursos da nuvem são oferecidos por meio de ambientes móveis, transferindo a capacidade da nuvem de forma simples para o uso em smartphones. Dessa forma, sendo um ambiente que fornece sistema de armazenamento em rede permitindo disponibilidade onipresente, será cada vez mais possível que a nuvem seja acessada remotamente por meio da Internet, com o uso de dispositivos móveis, oferecendo recursos completos e utilizando o sistema operacional móvel como uma extensão para a nuvem. Atualmente, apesar de toda a evolução pela qual passou, os dispositivos móveis não são suficientemente bons para executar softwares, como Adobe e pacote office, de forma nativa, apesar de versões móveis estarem disponíveis com recursos limitados, mas com o uso da computação em nuvem, provavelmente, o modelo de computação em nuvem móvel fará parte do futuro. Com a crescente evolução tecnológica da computação em nuvem, a adoção da plataforma vem crescendo cada vez mais e as aplicações 72 locais estão dando lugar à migração e implantação na nuvem, seja em modelo SaaS, PaaS ou IaaS. Com isso, a ocorrência de falhas técnicas, indisponibilidade e instabilidade são quase nulas, mantendo a continuidade do negócio sem maiores percalços. A tendência é que o uso da nuvem cresça, se adaptando ao propósito de atender a todos os aspectos do negócio, ampliando a oferta de recursos, tornando a tecnologia cada vez mais pertinente para atender as escalas que se tornam cada vez maiores nas organizações, consequentemente, tornando as demandas cada vez mais complexas, vistas pelo lado dos usuários, em um cenário ainda mais competitivo que o atual. Consequentemente, os custos para adotar a computação em nuvem se tornarão menores na medida em que os componentes de TI também se tornarem mais acessíveis. Referências Bibliográficas ALECRIM, E. O que é cloud computing? Info Wester, 2015. Disponível em: https:// www.infowester.com/cloudcomputing.php. Acesso em: 28 set. 2020. ARRUDA, D. Benefícios e desafios encontrados na adoção de cloud computing. 2011. Disponível em: http://www.facol.com/si/downloads/Revista_SI_2011/Artigo04. pdf. Acesso em 29 set. 2020. CHEE, B. J. S.; FRANKLIN, C. Cloud computing: technologies and strategies of the ubiquitous data center. Boca Raton: CRC Press, 2010. FRANTZ, R. et. al. Desafios para a implantação de soluções de integração de aplicações empresariais em provedores de computação em nuvem. Comunicações em conferências e congressos internacionais. Jornada de pesquisa: IJUI, 2014. HAUSMAN, K; COOK. S.L; SAMPAIO, T. Cloud Essentials: CompTIA Authorized Courseware for Exam CLO-001. Indianópolis: Sybex, 2013. RED HAT. What are cloud applications. Disponível em: https://www.redhat.com/pt- br/topics/cloud-native-apps/what-are-cloud-applications. Acesso em: 28 set. 2020. RITTINGHOUSE, J; RANSOME. J. Cloud computing: implementation, management, and security. Boca Raton: CRC Press, 2010. https://www.infowester.com/cloudcomputing.php https://www.infowester.com/cloudcomputing.php https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.facol.com%2Fsi%2Fdownloads%2FRevista_SI_2011%2FArtigo04.pdf&data=01%7C01%7Cdaniela.v.silva%40kroton.com.br%7C563505e8a0fc4cc8896008d864ab54b6%7Ca50e7b768ea5492cbf1797d652fc3ce9%7C0&sdata=PYH%2F8Rn4p5FLpaWsUrwrptnrRfswxnQPyCXZg%2FUNmUE%3D&reserved=0 https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.facol.com%2Fsi%2Fdownloads%2FRevista_SI_2011%2FArtigo04.pdf&data=01%7C01%7Cdaniela.v.silva%40kroton.com.br%7C563505e8a0fc4cc8896008d864ab54b6%7Ca50e7b768ea5492cbf1797d652fc3ce9%7C0&sdata=PYH%2F8Rn4p5FLpaWsUrwrptnrRfswxnQPyCXZg%2FUNmUE%3D&reserved=0 https://iconline.ipleiria.pt/handle/10400.8/12 https://iconline.ipleiria.pt/handle/10400.8/12 https://b-ok.lat/book/2224948/24f9ce https://b-ok.lat/book/2224948/24f9ce https://www.redhat.com/pt-br/topics/cloud-native-apps/what-are-cloud-applications https://www.redhat.com/pt-br/topics/cloud-native-apps/what-are-cloud-applications https://b-ok.lat/book/2224948/24f9ce 73 Bons estudos! Sumário Arquitetura e Infraestrutura de Cloud Computing Objetivos 1. Arquitetura da computação em nuvem 2. Anatomia da computação em nuvem 3. Tipos de nuvem Referências Bibliográficas Cloud Computing e os processos de Governança de TI Objetivos 1. Governança de TI 2. Governança de TI em cloud computing 3. Etapas para governança em nuvem Referências Bibliográficas Serviços de nuvem e suas características Objetivos 1. Modalidades de serviços em cloud computing 2. Conceitos básicos de SaaS e suas funcionalidades 3. A plataforma em nuvem e suas funcionalidades 4. Características e funcionalidades do modelo IaaS Referências Bibliográficas Aplicações em nuvem e o futuro da tecnologia Objetivos 1. Características das aplicações na nuvem 2. Aplicações na nuvem e suas funcionalidades 3. O futuro da computaçãoem nuvem Referências Bibliográficas