Escolar Documentos
Profissional Documentos
Cultura Documentos
Computação em nuvem é uma filosofia, um conceito que reúne vários softwares e também
utiliza da virtualização. Uma estrutura para ser considerada nuvem precisa ter algumas
características específicas que são:
Autoserviço sob demanda, amplo acesso a rede, pool de recursos, rápida elasticidade e
serviços mensuráveis.
Eu vou explicar o que é cada uma destas características mais para frente.
O que você precisa saber agora é que virtualização não é cloud computing, então se você
está utilizando na sua rede 1000 máquinas virtuais, você não tem uma nuvem, se você tem
uma VPS contratada em um provedor, isso também não é cloud ou se você pega o seu
servidor físico e hospeda em um provedor qualquer, você não está levando seu servidor
para nuvem, isso é apenas um colocation.
Definições de cloud:
Existem algumas definições para o que é cloud, aqui vou mostrar algumas delas de
diferentes entidades:
NIST: A computação em nuvem é um modelo para habilitar o acesso por rede ubíquo,
conveniente e sob demanda a um conjunto compartilhado de recursos de computação
(como redes, servidores, armazenamento, aplicações e serviços) que possam ser
rapidamente provisionados e liberados com o mínimo de esforço de gerenciamento ou
interação com o provedor de serviços.
Características cloud:
Estas entidades também definem algumas características essenciais para uma estrutura ser
considerada cloud, destas a que é levada em consideração para prova da comptia são as
características apresentados pelo NIST.
Segundo o NIST as características essenciais são:
Auto-serviço sob demanda: O consumidor pode provisionar por conta própria recursos de
computação, como tempo de servidor e armazenamento em rede, automaticamente e
conforme necessário, sem necessitar intervenção humana dos provedores de serviços.
Amplo acesso por rede: Os recursos estão disponíveis através da rede e são acessados
através de mecanismos padronizados que promovem o uso por dispositivos, clientes leves
ou ricos de diversas plataformas (como smartphones, tablets, laptops ou desktops).
A ABNT coloca uma característica a mais e descreve algumas delas de forma diferente:
Acesso amplo via rede: Característica na qual os recursos físicos ou virtuais estão
disponíveis através de uma rede e são acessíveis através de mecanismos-padrão que
permitam seu uso por plataformas de cliente heterogêneas. O foco desta característica-
chave é mostrar que a computação em nuvem oferece um alto nível de conveniência,
através da qual os usuários podem acessar os recursos físicos ou virtuais onde há
necessidade de uso, desde que a rede seja acessível por uma variedade de dispositivos,
como telefones móveis, tablets, laptops e estações de trabalho.
Serviço mensurado: Característica na qual a mensuração dos serviços de nuvem é tal que
sua utilização possa ser monitorada, controlada, relatada e cobrada. Esta é uma
característica importante e necessária para otimizar e validar o serviço de nuvem entregue.
O foco desta característica-chave é permitir que o cliente pague somente por aquilo que use.
Na perspectiva do cliente, a computação em nuvem oferece valor aos usuários ao permitir
uma troca do modelo de negócios de baixa eficiência na utilização de recursos para um
modelo de alta eficiência.
Para o NIST
Auditor: Um auditor de nuvem é uma parte que pode realizar uma avaliação
independente de serviços na nuvem, informações de sistemas operacionais, desempenho e
segurança de uma implementação de computação em nuvem. Um auditor da nuvem pode
avaliar os serviços fornecidos por um provedor de nuvem em termos de controles de
segurança, impacto de privacidade, desempenho e aderência aos parâmetros do acordo de
nível de serviço (SLA).
Segundo a ABNT
Cliente do serviço de nuvem: Uma parte, pertencente a uma relação de negócios, cujo
objetivo é a utilização de serviços de nuvem. A relação de negócios é estabelecida com um
provedor do serviço de nuvem ou um parceiro de serviço de nuvem. As atividades-chave de
um cliente do serviço de nuvem incluem, mas não estão limitadas a, usar serviços de
nuvem, realizar a administração de negócios e administrar a utilização dos serviços de
nuvem.
Tipos de Nuvem
Essa categorias podem estar em mais de um tipo de nuvem, como por exemplo o
armazenamento, que pode ser como SaaS ex dropbox, google drive, ou IaaS que é o caso
do EBS da AWS.
Nuvem privada: A infraestrutura na nuvem é provisionada para uso exclusivo por uma única
organização composta de diversos consumidores (como unidades de negócio). A sua
propriedade, gerenciamento e operação podem ser da organização, de terceiros ou de uma
combinação mista, e pode estar dentro ou fora das instalações da organização.
Nuvem privada não é virtualização e ela não precisa estar instalada localmente.
Dar exemplos
Nuvem comunitária: A infraestrutura na nuvem é provisionada para uso exclusivo por uma
determinada comunidade de consumidores de organizações que têm interesses em comum
(de missão, requisitos de segurança, políticas, observância de regulamentações). A sua
propriedade, gerenciamento e operação podem ser de uma ou mais organizações da
comunidade, de terceiros ou de uma combinação mista, e pode estar dentro ou fora das
instalações das organizações participantes.
Dar exemplos
*Diferenças entre nuvem privada e nuvem pública
A nuvem privada é utilizada por uma única organização, ela pode ser gerenciada pela
própria organização ou por terceiros e não precisa estar localmente na organização, pode
estar em datacenter de terceiros. Os serviços que utilizam esta nuvem são para uso
exclusivo da organização.
Segurança e arquitetura, tanto hardware como software nesta casa são mais fáceis de
serem tratados.
Exemplo nuvem privada
Na nuvem pública o serviço é oferecido por provedores, que compartilham recursos com
diferentes usuários e organizações, os provedores devem suportar uma arquitetura
multitenancy, no qual todos os usuários e aplicativos utilizam uma mesma arquitetura.
Se você criar uma estrutura com servidores redes e vários outros recursos, por exemplo na
nuvem da Amazon e configurar esse ambiente para ser acessado apenas de dentro da rede
da sua organização através de uma VPN ou até mesmo conexão direta, isso continua sendo
uma nuvem pública porque você está utilizando recursos compartilhados.
Rede
O conceito utilizado em redes locais é o mesmo da nuvem, porém na nuvem a camada de
rede é disponibilizada como serviço, mas o endereçamento de rede que você utiliza na rede
local pode ser mantido ao migrar para nuvem, configurações de redes e sub-redes são
exatamente iguais, apenas no momento de configurar uma sub-rede você não irá precisar
configurar VLANs em switch, configurar roteadores físicos, tudo isso é abstraído como
software.
Com esse método é possível você criar nuvens híbridas sem precisar fazer qualquer
alteração na sua rede local, criando uma extensão da sua rede local na nuvem pública.
Automação ou self-service
A capacidade do provedor tem de disponibilizar recursos e serviços para o usuário sem que
o usuário precise solicitar este recurso ao provedor de serviços, de forma que tudo ocorra
automaticamente, isso serve para adicionar e remover recursos.
Rápida Elasticidade
A elasticidade rápida só é possível por causa da automação, isso significa que quando um
sistema exigir mais recurso computacional, este recurso será disponibilizado rapidamente e
de forma automatizada, e no momento que este recurso não for mais necessário ele será
devolvido ao provedor de serviços.
Um exemplo é o auto-scaling da AWS que permite esta escala automaticamente.
Federação
A federação de identidades permite que clientes da nuvem usem suas identidades
(usuários) para ter acesso seguro aos recursos da nuvem, um exemplo é a integração com o
Active director da microsoft, assim os usuários do AD podem logar na nuvem e receber suas
permissões de acesso conforme for definida pelo administrador da nuvem, isso também é
conhecido como single sign-on (SSO), o SSO representa para os usuários um número
menor de credênciais para controlar aumentando assim a segurança.
Segurança inadequada: Para muitos a segurança pode ser um problema para adoção da
computação em nuvem, mas hoje, os grandes provedores de nuvem tem as maiores
certificações de segurança na área, algumas delas praticamente impossíveis de se ter nos
datacenters da maioria das empresas.
Mitigar riscos
Armazenamento
Grande parte dos provedores de nuvem pública disponibilizam para fazer upload e download
de dados para os storages por meio de SSL, você ainda pode utilizar sua própria biblioteca
de criptografia ou ainda criptografar os dados com tecnologias dos próprios provedores de
nuvem.
Eles oferecem ainda suporte a autenticação de usuários, grupos e APIs para controlar os
acessos aos dados com ACLs para conceder diferentes permissões de acesso e a geração
de logs que mostram tudo que aconteceu com os seus dados pode ser muito útil para
auditoria.
A agilidade na transferência dos dados por meio de API, console de linha de comando e
interfaces gráficas, significa que você pode disponibilizar soluções de recuperação de
desastres rapidamente e até utilizar soluções híbridas.
Desempenho
A obtenção de recursos em larga escala é um desafio para qualquer organização,
principalmente para acesso de baixa latência a grandes volumes de dados, grande parte dos
provedores de nuvem já disponibilizam unidades de estado sólido (SSD) para
armazenamento que oferecem tempo de resposta muito mais rápidos que as mídias
tradicionais.
Se você precisar distribuir um conteúdo globalmente, como vídeo, atualização de software,
sites, imagens ou outro conteúdo em grande escala, você pode contar com um serviço de
entrega de conteúdo (CDN) que oferece uma boa experiência com baixa latência para seus
usuários.
Para garantir o desempenho dos seus serviços, você deve distribuir a carga utilizando o
serviço de balanceamento com escalabilidade e gerenciamento automático aumentando
muito o desempenho e garantir a disponibilidade dos seus serviços.
Integração de dados
Grandes volumes de dados são muito difíceis de serem gerenciados e analisados, porém a
maioria dos provedores de nuvem pública já oferecem serviços de bancos de dados, tanto
relacionais com não relacionais.
Para bancos de dados relacionais, eles disponibilizam cópias de réplicas para grandes
análises de dados, não comprometendo assim o desempenho da sua aplicação, e ainda
recurso de espelhamento distribuído em diferentes pontos para aumentar a disponibilidade e
segurança dos dados.
Segurança
Arquitetura de Aplicações
Para um melhor aproveitamento da computação em nuvem uma aplicação deve ser multi-
tenancy ou multi-inquilino e o que é uma aplicação multi-tenancy.
Vou falar sobre o que exatamente é arquitetura Multi-tenant e Single Tenants:
Multi-tenant é uma arquitetura onde várias empresas compartilham a mesma instância para
armazenar seus dados. Esta instância geralmente está dividida (ou particionada) para evitar
que as empresas acessem as informações da outra. Isto é como um prédio alto, onde as
plantas de chão geralmente são iguais, mas pequenas mudanças estéticas podem ser feitas
para as unidades individuais. Mudança significativa tem um custo muito maior.
Single Tenants é uma arquitetura onde cada empresa possui sua própria instância do
aplicativo e infra-estrutura. Pense nisso como uma comunidade de bairro desenvolvida pelo
mesmo arquiteto e engenheiro onde cada família tem a capacidade de mudar e personalizar
sua propriedade conforme desejado. Ao ter uma única instância hospedada, o comprador
pode ajustar e personalizar o software para atender às suas necessidades.
Agora, temos uma definição exata com o exemplo do edifício alto e da comunidade
individual, podemos comparar imediatamente todos os benefícios e desvantagens com
nossos desafios em tempo real.
Menos customização: como resultado de vários inquilinos executando seus negócios fora do
mesmo código e banco de dados, as empresas individuais não têm praticamente nenhuma
capacidade de personalizar o software para suas necessidades específicas.
Menos Autorização e Atraso de Tempo: as mudanças no aplicativo de software podem ser
feitas e implantada em sua empresa sem autorização, pois você está confiando na mesma
base de código que os outros inquilinos (potencialmente maiores).Além disso, os recursos e
funcionalidades futuras podem ser adiados ou removidos do roteiro do produto, pois os
provedores SaaS multi-tenant normalmente se concentram nas solicitações de recursos (e
bugs) enviadas pelos seus maiores clientes
Máxima privacidade: há apenas uma instância para um usuário, há menos risco de outra
empresa acidentalmente ou através de espionagem corporativa obterem dados que não lhes
pertencem.
É impossível afetar as tarefas de outra pessoa. As soluções de inquilino único são mais
populares entre as empresas.
Os trabalhos com requisitos de computação intensiva podem fazer uso pleno do sistema.
Se o Cliente decidir executar a nuvem na premissa, eles devem suportar os custos de todo o
sistema sozinho.
Um sistema de inquilino único geralmente é mais caro do que uma solução multi-inquilino.
Um sistema de inquilino único geralmente não é o uso mais eficiente dos recursos, a menos
que seja totalmente carregado. Para cada instância, o software subjacente, como o sistema
operacional e as bibliotecas de tempo de execução, deve ser atualizado.
Segundo Cezar Taurion essa arquitetura é classificada em alguns modelos que ele chama
de inquilino isolada e multi inquilino.
Inquilino isolado: Neste modelo, cada inquilino tem seu próprio stack de tecnologia, não
havendo compartilhamento de recursos. Na prática, embora o usuário sinta a experiência de
multi-inquilino, pois a aplicação é oferecida a múltiplos clientes a partir do mesmo data
center, este modelo não é multi-inquilino. É similar ao modelo tradicional de hosting
(hospedagem), no qual cada usuário tem seu próprio conjunto de recursos computacionais e
sua própria instância da aplicação. Para uma oferta SaaS, este modelo carece de agilidade
e de elasticidade, porque adicionar um novo inquilino requer o provisionamento de sua
própria instância de hardware e de software. Também não permite economia de escala. Os
provedores que comercializam softwares no modelo tradicional podem oferecer esta opção,
sem alterar sua aplicação. Embora não seja verdadeiramente Computação em Nuvem, é um
passo nessa direção, oferecendo como atrativo a facilidade de uma rápida oferta para SaaS.
Multi-inquilino via container: Neste modelo, vários inquilinos são executados na mesma
instância de um container de aplicação (um servidor de aplicações), mas cada inquilino está
associado a uma instância separada do software de banco de dados. O ambiente de
execução é compartilhado entre vários inquilinos, mas a plataforma de dados é a mesma. A
premissa do modelo é que o isolamento do banco de dados garante integridade dos dados
dos inquilinos, ao mesmo tempo em que o container de execução, por ser compartilhado,
oferece as vantagens de elasticidade e de customização. Para garantir o isolamento dos
inquilinos dentro de uma única instância do container ou servidor de aplicações, este deve
ser desenhado com funcionalidade para gerenciar a alocação de recursos aos seus
inquilinos.
Tem um vídeo que eu gosto muito que explica essa arquitetura, se você quer se aprofundar
coloquei ele aqui neste módulo.
https://www.youtube.com/watch?v=S9_K1jwjo1U
Padronizações
Com a computação em nuvem, recursos de capital (CAPEX) são substituídos por despesas
operacionais (OPEX).
Então qual é a diferença entre CAPEX e OPEX?
CAPEX São despesas de capital ou investimento em bens de capital , significa um montante
de dinheiro utilizado para aquisição de bens para empresa.
É você pegar por exemplo R$ 50.000,00 e investir em um servidor para um determinado
sistema ou aplicação.
Com a computação em nuvem você não precisa de CAPEX, você utiliza apenas OPEX,
assim você gasta conforme a sua necessidade.
A Empresa
A Nuvem
Com a computação em nuvem este retorno é muito maior, com um custo benefício muito
melhor, fazendo com que o setor de TI seja visto como uma parceira de negócios e não um
centro de custos.
A computação em nuvem faz uso da economia em escala, neste modelo quanto maior a
produção menor o custo por unidade, a computação em nuvem altera do custo capital para o
custo operacional.
O Provedor
Uma coisa muito importante é que ir para nuvem não significa colocar todo seu datacenter
na nuvem mas fazer uso das cinco características essenciais da computação em nuvem
para melhorar o seu negócio.
Na hora de iniciar um novo projeto, com o modelo de computação tradicional, você vai ter
um custo de aquisição de hardware às vezes até mesmo sistema operacional para
implementar esse no projeto e isso pode inviabilizar o seu projeto, já com a computação em
nuvem isso não é necessário, se a empresa utilizar nuvem pública basta alocar novos
recurso e pagar apenas pelo que for utilizado.
Caso a empresa adote o modelo de nuvem privada, o conceito é o mesmo, pois será
necessário alocar recursos do pool de recursos disponíveis na nuvem privada para iniciar o
seu projeto.
Um exemplo de menor custo de manutenção de hardware e sistema operacional é a
utilização de SaaS, onde o provedor de serviços é responsável por isso.
Escala horizontal: é a adição de novas instâncias ao cluster, muito mais rápida e barata,
pois quando não estiver utilizando você pode rapidamente excluir esta instância e pagará
apenas o tempo que foi utilizada.
Destas duas formas a empresa obtém a capacidade de rapidamente expandir o seu poder
computacional a escalabilidade, a computação em nuvem permite a adição e remoção de
servidores, armazenamento e poder computacional
Agilidade do negócio
Existem alguns outros cenários que também podem tirar proveito da computação em
nuvem, como por exemplo:
Mobilidade: Para muitas empresas manter uma estrutura para dar mobilidade com VPNs e
outros recurso se torna muito cara, porém com a nuvem você pode disponibilizar suas
aplicações globalmente de forma mais simples e barata.
Apesar de ter citado vários benefícios da computação em nuvem existem alguns pontos a
considerar na hora de avaliar se vale ou não a pena migrar uma aplicação para nuvem,
principalmente para uma nuvem pública.
O custo real: Você deve verificar se o modelo atual usado pela empresa tem um custo mais
alto do que o modelo de computação em nuvem.
Legalidade: Nem todas as empresas podem mover suas aplicações para nuvens públicas,
e um dos motivos são os fatores legais, regulamentações do tipo de negócio ou país que a
empresa opera, que não permitem que os dados estejam localizados fora do país.
Existirão outros cenários que vão aparecer para você e você deve avaliar qual o melhor
modelo a utilizar, não existe um modelo certo, depende muito do seu negócio.
E não é porque você começou em um modelo que depois não poderá mudar, existem casos
de empresas que decidiram utilizar apenas nuvem privada mas depois resolveram utilizar
alguns recursos de nuvem pública como por exemplo uma CDN, ou até mesmo ao contrário.
Também é importante lembrar que algumas empresas podem não se beneficiar migrando
seus dados para nuvem, por exemplo.
Uma empresa não vai migrar para nuvem simplesmente porque você vai chegar lá para o
seu chefe ou sócio e falar que a computação em nuvem é linda, que é tudo uma maravilha.
A empresa só vai migrar para nuvem se os objetivos organizacionais da empresa, o negócio
e os benefícios vierem em primeiro lugar.
Por isso é muito importante mapear os objetivos da empresa em primeiro lugar e verificar
qual é o modelo de serviço de nuvem ideal para a organização.
Isso é apenas uma mapeamento inicial apenas para saber o modelo de nuvem a ser
adotado e não a forma, se pública, privada ou híbrida.
Vale também lembrar que a responsabilidade por gerenciamento de roteadores, switches
físicos é responsabilidade do provedor de nuvem independente se for SaaS, PaaS ou IaaS.
Isso é o que todo mundo quer saber, mas não existe um provedor de nuvem ideal, tudo
depende do serviço que você vai utilizar, o modelo de nuvem escolhido.
Alguns aspectos devem ser levados em consideração, como o histórico do provedor, o
feedback dos usuários, o ranking do provedor em estudos e pesquisas, verificar a
disponibilidade dos serviços do provedor também é muito importante, mas não esqueça todo
o provedor vai ter momentos que alguns serviços ou todos irão ficar fora, então veja o SLA
que o provedor oferece.
Outra coisa são as tecnologias utilizadas e oferecidas por este provedor, isso conta muito,
pois você não vai migrar sua estrutura para um provedor que utiliza equipamentos
ultrapassados e sucateados.
Vou falar alguns pontos que julgo importante verificar na hora de escolher um provedor:
Responsabilidade do provedor: Você precisa ler o contrato que o provedor disponibiliza,
ninguém faz isso, mas é lá que está escrito qual é o nível de responsabilidade do provedor.
Segurança dos dados: O que é responsabilidade do provedor e o que é sua
responsabilidade, na maioria das vezes a segurança é compartilhado, o provedor
disponibiliza as ferramentas, mas você precisa utilizá-las, conhecer as certificações que o
provedor tem na área de segurança também é muito importante.
Recuperação contra desastre: Saber se o provedor tem um plano de contingência em
caso de falha do serviço principal, isso vale mais para SaaS.
Modelo de adoção suportados pelo provedor: Verificar, e se o provedor suporta a
integração da nuvem pública com a sua nuvem privada para poder criar uma nuvem híbrida.
Modelo de controle de identidade: pesquisar os tipos de controle de acesso fornecidos
pela nuvem, saber se é possível fazer a integração de seus usuário locais com os usuários
na nuvem, utilizando o mesmo modelo de autenticação.
Manutenção dos serviços: Na hora que o provedor for fazer alguma manutenção nos
serviços como você será afetado, você precisa saber como são os procedimentos de
manutenção, e isso serve para qualquer modelo de nuvem.
Visão futura: É muito importante você saber quais são os projetos do provedor para o futuro
pois assim você já pode planejar a sua estrutura para isso, saber se tem algo que eles não
ofereçam hoje mas vão oferecer no futuro, pois essa é uma parceria de longo prazo, não
pense só no presente.
Flexibilidade: Você deve saber se o seu provedor tem flexibilidade de customização, isso é
muito importante principalmente para o modelo SaaS e também flexibilidade nos termos
contratuais, isso pode tornar a negociação menos complicada.
Desempenho: Na maioria das vezes você não sabe se a capacidade do provedor vai
satisfazer a suas necessidades, por isso muitos provedores disponibilizam um período para
você fazer testes e validar se o desempenho satisfaz as suas necessidades.
Segurança física: É muito importante procurar documentações e conhecer as certificações
que provem a segurança física dos datacenters dos provedores.
Esses pontos vão ajudar você a escolher o provedor de nuvem ideal para sua necessidade.
A adoção da computação em nuvem quebra o paradigma que muitas empresas têm, que se
você não tem acesso físico a infraestrutura você não é dono. Muitas empresas nasceram e
vivem a anos com essa ideia.
As empresas usam o departamento de TI muito mais de forma reativa do que de forma
proativa, precisam ver e saber o nome do técnico que vem fazer manutenção no sistema, e
isso se torna totalmente diferente quando lidamos com a computação em nuvem, é uma
mudança de paradigma, de cultura para as empresas e seus gestores.
Essa mudança de cultura é muito difícil e afeta não só os gestores, mas toda a empresa,
uma empresa com os processos bem alinhados terá uma dificuldade menor de fazer esta
mudança.
Durante essa mudança a revisão dos processos deve ser vista junto com o departamento
jurídico e administrativo, pois algumas cláusulas contratuais possivelmente tenham que ser
alteradas independente do modelo de nuvem a ser utilizado.
Neste processo alguns riscos podem ser definidos por tipos conforme a tabela.
Negocio Probabilidade de perda nas operações que O provedor de nuvem fica indisponível
possa impactar o retorno do investimento causando uma perda direta no negócio
do cliente
Técnico Mudança de tecnologia que possa impactar O provedor não previu direito o
o negócio ou causar perda durante a crescimento de um inquilino que acaba
execução de um processo técnico usando todo recurso da nuvem
Legal Perda da reputação causada por uma ação Vazamento de dados do cliente causado
legal, como falha de cumprir o contrato pelo provedor
SLA
O SLA (Service Level Agreement) acordo de nível de serviço é utilizado pelas empresas a
muito tempo. e na computação em nuvem não é diferente e deve ser muito bem analisado
antes de você escolher qual o provedor de nuvem vai utilizar.
Nos provedores de nuvem pública o SLA é definido por serviço a ser utilizado, por exemplo
a AWS tem SLA para S3, outro para RDS outro para EC2 assim como a microsoft, a google,
todas estas têm diferentes SLAs para diferentes serviços,
Vou mostrar alguns exemplos de SLA da AWS e da Microsoft.
https://aws.amazon.com/pt/rds/sla/
https://aws.amazon.com/pt/ec2/sla/
https://aws.amazon.com/pt/s3/sla/
https://azure.microsoft.com/pt-br/support/legal/sla/virtual-machines/v1_6/
https://azure.microsoft.com/pt-br/support/legal/sla/storage/v1_2/
https://contaazul.com/termos/
Muitas empresas pensam que estão prontas para migrar suas aplicações para a nuvem,
mas é muito importante avaliar o cenário atual da empresa, principalmente a infraestrutura
de redes, servidores, estações de trabalho, treinamento de funcionários e sistema de
segurança.
Vou mostrar uma topologia simples de uma empresa que hoje utiliza o sistema em um
servidor local e está pretendendo migrar para nuvem.
Vou apontar alguns pontos de falha que devem ser analisados para essa mudança.
Uma simples topologia que aparentemente parece estar pronta para migrar para nuvem
pode ter muitos pontos de falha, muitas vezes as empresas exigem uma alta disponibilidade
dos provedores mas o maior ponto de falha está dentro da própria empresa.
Processo de validação
Um piloto sempre deve ser realizado após a empresa identificar o modelo de nuvem que vai
utilizar, para fazer uma validação o mais proxima possível da realidade.
Durante a fase de piloto, seleciona aplicações fáceis de migrar mas que tenham valor para o
negócio, não é recomendado fazer piloto com aplicações de alto risco ou aplicações de
legado.
Para saber por onde iniciar um piloto devemos considerar alguns aspectos:
Identificar os segmentos da empresa que mais vão tirar proveito da migração.
Identificar as aplicações para validar na nuvem.
identificar quem são os usuários que vão utilizar essas aplicações para fazer a validação.
Identificar os recursos TI que serão usados na migração.
Identificar os recursos financeiros que serão necessários para fazer este piloto.
Nem toda a aplicação justifica ser migrada para nuvem, um dos principais pontos é a
capacidade de elasticidade e escala horizontal, é muito importante que a empresa que vai
adotar a nuvem considere todo o ecossistema da nuvem para desenvolver sua aplicação,
tendo assim um maior proveito da escalabilidade e elasticidade que a computação em
nuvem oferece e garantindo um maior desempenho da aplicação.
A elasticidade é uma das principais características da computação em nuvem, portanto para
garantir esta elasticidade precisamos considerar alguns padrões.
Capacidade de crescimento: Para a computação em nuvem uma aplicação precisa ter a
capacidade de começar pequena e crescer conforme a sua demanda adicionando assim
mais recursos de infraestrutura.
Capacidade de demanda em momentos de pico: Uma aplicação para nuvem tem que ser
capaz de suportar picos de demanda, previsíveis ou não previsíveis sem sofrer com isso.
Um exemplo clássico de pico de demanda é a black friday para os ecommerces, essas
aplicações recebem picos de mais de 10x a quantidade de acessos que estão acostumadas
no dia-a-dia. As aplicações de nuvem são preparadas para isso devido a capacidade de
elasticidade e alocação de recursos dinâmicos.
Capacidade de Processamento Periódico: Muitas aplicações são utilizadas em apenas
um determinado período, um exemplo é o imposto de renda que recebe uma quantidade
enorme de acessos durante um período e depois fica praticamente parado, com aplicações
baseadas em nuvem, todo este poder computacional que foi utilizado durante este período,
depois pode tranquilamente ser realocado para outra demanda.
Uma aplicação desenvolvida para nuvem, que quer aproveitar ao máximo os recursos da
computação em nuvem deve ser não statefull, porque uma aplicação statefull mantém a
conexão com o servidor, como na nuvem utilizamos no mínimo 2 servidores para manter a
disponibilidade e se utilizarmos escalonamento automático, não podemos garantir que o
servidor que vai responder a requisição será sempre o mesmo.
Caso a empresa opte por escolher o modelo PaaS e utilizar as APIs do provedor deve saber
que essas APIs são proprietários e dificilmente serão migradas para outro provedor sem
precisar fazer alterações no código, por esse motivo muitas empresas acabam utilizando o
modelo IaaS.
Caso a empresa escolha trabalhar no modelo IaaS, alguns aspectos devem ser analisados.
Preço e forma de pagamento: A maioria dos provedores oferece o serviço de pagar
somente pelo que for utilizado, e isso é uma grande vantagem, principalmente para quem
está iniciando.
SLA: Como falei nas aulas anteriores, o SLA deve ser muito bem analisado.
Custo de transferência: Muitas pessoas esquecem de considerar este custo na hora de
fazer o levantamento inicial, cada provedor cobra de uma forma diferente, alguns cobram
transferência de entrada outros de saída.
Suporte: Verificar os níveis de suporte que são oferecidos pelos provedores
Monitoramento: Verificar qual o nível de monitoramento é disponibilizado.
Segurança na nuvem.
Licenciamento