Instrutor: Hoje em
dia, a computação em nuvem pode ser encontrada
em todos os lugares, e isso se deve ao fato de que há muitas vantagens
em usar a computação em nuvem.
E é nisso que vamos nos concentrar nesta lição, quando
começarmos a falar
sobre as diferentes características da nuvem.
Quando falamos de computação em nuvem, há
vários benefícios ou características que vemos
quando optamos por usar a nuvem.
Isso inclui alta disponibilidade, escalabilidade, elasticidade, utilização
medida, recursos compartilhados
e sincronização de arquivos.
Vamos dar uma olhada nelas.
Primeiro, temos alta disponibilidade.
Agora, a alta disponibilidade
refere-se ao fato de que os serviços
sofrem pouquíssimo tempo de inatividade quando se usa a nuvem.
Isso ocorre porque a maioria dos serviços criados
na nuvem é desenvolvida para ser altamente confiável
e muito tolerante a falhas.
Isso significa que podemos garantir um alto nível de disponibilidade.
Agora, quando se trata de disponibilidade,
geralmente medimos isso em termos de uma porcentagem
do tempo de atividade em relação ao tempo de inatividade.
Assim, por exemplo, o padrão ouro dentro
das redes é conhecido como cinco noves.
Cinco noves significa 99. 999% de tempo de atividade ou disponibilidade,
conforme experimentado por seus usuários finais.
Isso significa que só podemos ter cerca de cinco minutos
e 15 segundos de tempo de inatividade a cada ano.
Isso mesmo, apenas cinco minutos e 15
segundos em todos os 365 dias de um ano.
Agora, para fazer isso, é preciso ter
sistemas altamente confiáveis e altamente disponíveis.
Portanto, se você tiver um site, na
verdade terá pelo menos dois servidores da Web para hospedá-lo.
Portanto, se um cair, o outro
ainda estará carregando a carga, o que significa
que o usuário final não sofrerá nenhum tempo de inatividade.
É disso que estamos falando
quando falamos de alta disponibilidade.
Por exemplo, com meu próprio site, diontraining. com, temos de fato uma configuração
altamente disponível que foi criada
usando serviços de nuvem.
Portanto, dependendo de onde você está vindo no mundo, você acessará
um de nossos vários servidores
localizados em todo o mundo que esteja mais próximo
de você para obter uma experiência melhor.
Agora, se o seu servidor estiver inativo por algum motivo,
você será automaticamente redirecionado para outro que esteja um pouco
mais longe de você, mas que ainda esteja ativo.
Dessa forma, você ainda obtém o serviço que está procurando,
e essa é uma maneira de garantir alta disponibilidade.
A segunda característica da nuvem sobre a qual falaremos
é conhecida como escalabilidade.
Agora, quando falamos de escalabilidade, estamos
falando do fato de que podemos aumentar o
número de pessoas ou o número de
coisas em nosso sistema em uma taxa linear ou menos que uma taxa linear.
Agora, o que quero
dizer com isso é que digamos que eu tenha 100 usuários usando
meu sistema, e ele custa US$ 10.
Bem, se eu colocar 200 usuários no meu sistema,
ele deverá custar US$ 20 ou menos, e isso seria uma escala linear.
Agora, se eu passasse de 100 para 200 usuários e o
preço fosse de US$ 10 para US$ 100, isso seria
uma escala exponencial, e não
queremos isso.
Portanto, ao desenvolvermos nossos sistemas
de nuvem, estamos sempre buscando a escalabilidade,
o que significa que, mesmo que tenhamos apenas 10 usuários hoje, amanhã
poderemos ter 100.
No dia seguinte, temos 1.000, no
dia seguinte, podemos ter 10.000, e assim por diante.
Se olharmos para
algumas das grandes empresas, como Facebook, Google,
LinkedIn e UNI, elas têm milhões de usuários finais que acessam
suas plataformas todos os dias e são capazes de aumentar
a escala com base na escalabilidade dos serviços em
nuvem, porque não preciso comprar outro
servidor de US$ 10.000
para colocar em meu data center local, porque,
em vez disso, posso simplesmente
usar o da Amazon e usar uma parte de sua capacidade
conforme necessário.
Agora, quando se trata de escalabilidade,
há duas maneiras de escalar.
Uma delas é aumentar a escala, o que é conhecido como escala vertical.
Isso ocorre ao adicionar mais recursos
a um determinado servidor ou nó.
Por exemplo, se você estiver usando um servidor
baseado em nuvem que tenha duas CPUs virtuais,
poderá aumentar esse número para quatro CPUs virtuais.
Essa é a ideia de aumentar a escala.
Você está adicionando mais recursos,
sejam eles mais processadores, mais RAM, mais armazenamento,
mais largura de banda ou coisas do gênero.
Agora, por outro lado, você também pode reduzir a escala,
o que é conhecido como escala horizontal.
Nesse caso, você ainda usa máquinas menores, mas
usa mais delas, todas
trabalhando em conjunto por trás de um balanceador de carga.
Portanto, em vez de ter um servidor que
esteja lidando com toda a sua carga e escalando para
cima aumentando as CPUs e a memória, você pode escalar para fora
e ir de um servidor para dois servidores ou de dois servidores
para quatro, ou de quatro para oito, e pode continuar se movendo para fora, adicionando
servidores adicionais por
trás do balanceador de carga com os quais você pode lidar com
tráfego adicional.
Agora, isso nos leva à terceira área,
conhecida como elasticidade rápida.
Agora, quando falamos de elasticidade rápida, estamos falando
do fato de que podemos aumentar
ou diminuir a escala muito rapidamente.
Isso é feito porque usamos automação e orquestração
com muitas máquinas virtuais nesses servidores
físicos pertencentes à Amazon,
ao Google, à Microsoft e a outras empresas
que nos permitem usar partes ou todos os seus serviços
conforme necessário, sob demanda.
E isso nos dá essa rápida elasticidade.
Quando ouvir o termo elasticidade rápida
ou elasticidade em geral, pense nele como o fato de o sistema
ser capaz de lidar com mudanças na demanda em
tempo real.
Então, vamos voltar ao exemplo
do uso de meu website em diontraining. com.
Se agora eu acessar meu site e tiver
1.000 alunos conectados, e daqui a cinco minutos
eu acessar e tiver 10.000 alunos
conectados, meus sistemas serão projetados
para ativar recursos adicionais
de nuvem e transferir parte da carga desses novos usuários para esses
serviços adicionais.
Essa é a ideia de elasticidade rápida.
Em geral, quando se trabalha na nuvem,
se você projetou seus sistemas corretamente,
tem a capacidade de ter elasticidade e aumentar a escala
muito rapidamente e, da mesma forma, quando a
demanda diminui, você pode se livrar rapidamente
desses servidores extras
e reduzi-los novamente.
E o motivo pelo qual você quer fazer isso
é porque todos esses servidores extras custarão mais dinheiro
e, se você não tiver usuários suficientes para tê-los,
não vai querer pagar por isso,
então você os liberará e os devolverá ao seu provedor
de serviços para que ele
possa alugar esse serviço para outra pessoa.
Em vez disso, se você estiver usando um modelo no local,
digamos que eu tenha 1.000 alunos hoje.
Bem, para 1.000 alunos, talvez eu precise de três servidores da Web.
Mas se eu passar a ter 10.000 alunos,
precisarei de mais 15 servidores da Web.
Bem, para fazer isso, eu teria que comprar mais 15 servidores.
Eu teria que colocá-los em uma prateleira.
Eu teria que instalar todos os softwares,
teria que configurá-los.
Tudo isso leva tempo e, portanto,
não é muito rápido em termos de medidas de elasticidade para que
possamos aumentar a escala para atender a essa demanda.
Se você tiver um modelo de negócios de crescimento muito lento, tudo bem.
Mas se você estiver lidando com algo de alta velocidade
ou com qualquer uma dessas plataformas modernas
de mídia social, e algo que você fez se tornou viral,
e todos vão para o seu site e começam a inundá-lo, se você não
tiver a capacidade de aumentar a escala rapidamente, perderá a capacidade
de capturar o tráfego proveniente desse incidente
viral.
Portanto, você quer ser capaz de criar
seu material de forma rápida e elástica,
e é isso que a nuvem nos permite fazer.
A quarta coisa que temos é conhecida como utilização medida.
Isso remete à nossa discussão
sobre elasticidade rápida que acabamos de fazer.
Agora, quando estamos falando de utilização
medida, estamos falando do fato
de que estamos pagando por um serviço com base no pagamento por uso.
Portanto, quando usamos um serviço medido, como um banco de dados,
eles podem nos cobrar com
base no número de usuários, no número
de conexões ou no número de dados armazenados.
Essencialmente, estamos sendo cobrados
com base no uso real do serviço que está sendo consumido.
E fazemos isso por segundo,
por minuto, por hora, por dia ou até mesmo por mês.
Por exemplo, eu uso o AWS Lambda
para muitas das minhas automações e funções de back-end,
e eles cobram com base no meu uso.
Agora, para cada um milhão de solicitações que eu fizer,
eles me cobram 20 centavos.
Portanto, essa é uma maneira
muito eficiente de realizar minhas
automações, pois o custo é muito baixo.
Posso ter milhões e milhões de solicitações
e isso me custaria apenas alguns dólares,
e essa é a ideia de um serviço medido.
Agora, outra coisa que
você verá é que, às vezes, há uma distinção
entre serviço medido e serviço medido.
Agora, quando falamos de serviços medidos ou mensurados,
estamos realmente falando da mesma coisa,
que é a nossa capacidade de
pagar por algo com base no consumo.
Mas há uma diferença aqui.
Quando você usa um serviço medido,
está pagando por
coisas com base no uso real do que fez.
Portanto, se você pensar
na conta de água ou de energia elétrica de sua casa.
Se você ligou a mangueira
de água e encheu a piscina este mês,
pagará muito mais pela
conta de água porque usou muito mais água.
Por outro lado, quando você lida com um serviço medido, isso
é mais parecido com o seu plano de telefone celular.
Na maioria dos lugares, você paga uma taxa mensal por uma determinada
quantidade de uso do celular, seja o número de mensagens
de texto, minutos ou dados que pode consumir.
E quando você atingir esse limite,
eles interromperão o serviço e não fornecerão mais nada
até que você pague novamente.
Portanto, quando pensar em um serviço medido, pense
no fato de que você está pagando antecipadamente por
uma determinada quantidade e, independentemente de usá-la ou não,
você já pagou por essa quantidade.
Mas quando se trata de um
serviço com medidor, você paga pela quantidade exata
que está usando.
E essa é realmente uma das vantagens de usar a nuvem,
pois a maioria das coisas é feita com base em medidores,
em que você paga apenas pelo que usa.
A próxima coisa sobre a qual falaremos é sobre recursos compartilhados.
Agora, quando falamos de recursos compartilhados, estamos
realmente falando da capacidade de minimizar nosso custo, pois
podemos colocar nossas máquinas virtuais
nos servidores de outra pessoa.
Quando você olha para os servidores
que estamos usando na Amazon, no Azure e no
Google Cloud, eles custam 10, 20,
US$ 30.000 por um servidor de boa qualidade.
Portanto, se você precisar
comprar um desses para hospedar seu blog do WordPress, não
estará realmente usando toda essa capacidade,
pois se você tiver apenas algumas centenas
de leitores, não usará tanta carga.
Portanto, em vez disso, faz muito mais
sentido pegar aquele servidor realmente caro,
dividi-lo em pequenos pedaços e distribuí-lo
em máquinas virtuais para todos
que quiserem usá-lo.
Portanto, talvez possamos hospedar 50 ou 100
blogs WordPress nesse único servidor, em vez de hospedar apenas um.
Essa é a ideia de usar recursos compartilhados.
Quando falamos de recursos compartilhados,
estamos falando de reunir todo o hardware que compõe
o data center do provedor de nuvem.
Dessa forma, ele não é dedicado a um único indivíduo,
mas todos nós podemos usá-lo com base na rápida elasticidade
porque, esperamos, o que a Amazon, o Google e o Azure estão pensando é
que, quando há períodos de alta
demanda para a minha empresa, pode haver períodos
de baixa demanda para a sua empresa e vice-versa.
Assim, em vez de termos que ter recursos de hardware dedicados
a cada uma de nossas empresas,
podemos compartilhar recursos em toda a linha.
E a característica final
da nuvem é a capacidade de sincronização de arquivos.
Agora, o melhor de usar um recurso baseado em nuvem
é que você pode colocar algo em um
lugar e, em seguida, espalhar para outros
lugares com base em como você o configura.
Por exemplo, em minha empresa, dependemos muito
da sincronização de arquivos porque a maioria
de nossos funcionários são, na verdade, funcionários remotos que
trabalham em todo o mundo, não apenas em nossos próprios escritórios.
Portanto, enquanto estou
sentado aqui no meu escritório gravando isso
agora, preciso de uma maneira de entregar esse arquivo ao meu designer gráfico
para que ele possa criar todas as coisas diferentes
que você está vendo na tela enquanto eu falo.
Depois, ela vai enviar o vídeo
para outro país, onde meu editor de vídeo está localizado.
E, quando terminarem, eles enviarão o material de
volta para o meu escritório, onde um dos
meus funcionários fará as verificações de garantia de qualidade e,
em seguida, enviaremos o material para outro
país, que fará o upload para
o site final, onde você poderá vê-lo.
Portanto, esse vídeo viajou provavelmente por
quatro ou cinco lugares diferentes para chegar ao
produto final que você está vendo agora na tela.
Essa é a ideia de sincronização
de arquivos, porque quando eu gravo isso, estou gravando
em um servidor de arquivos baseado em nuvem, todos
na minha equipe podem acessar esse arquivo porque temos essa
cópia sincronizada em todos os seus dispositivos e em todos
os nossos servidores em todo o mundo para que possam acessá-lo
e fazer o que precisam.
E, enquanto eles fazem isso,
a gravação não fica apenas no computador
deles, mas é sincronizada em todos os nossos servidores em nuvem,
de modo que todo o resto do caminho que precisa ser percorrido
entre a gravação e a publicação, e depois
você a assiste, pode acontecer
em todos esses servidores de maneira muito simplificada.
E esse é um dos grandes benefícios
de usar a nuvem do ponto de vista comercial:
você não tem um servidor no seu escritório.
Agora, ele está na nuvem,
em um data center protegido, altamente disponível, que pode
ser escalonável e elástico
para atender às demandas de
períodos mais altos e mais baixos.
Só temos que pagar pelo que
usamos e podemos compartilhar recursos com outras
pessoas que talvez nem conheçamos,
pois estamos todos no mesmo servidor físico.
E essas são todas as coisas de que
estamos falando quando começamos a falar sobre as características
da nuvem e por que tem havido essa grande migração
para a nuvem por muitas empresas em todo o mundo