O que é "a nuvem" e como ela se relaciona com o desenvolvimento? [fechadas]

14

Eu continuo ouvindo sobre a tecnologia Cloud, embora principalmente no desenvolvimento de redes sociais, etc. Ouvi falar sobre isso hoje de novo e agora estou muito curioso: o que é a 'Cloud' e como ela se relaciona comigo (no meu caso, eu palpite) como desenvolvedor da Web? Como respondo à pergunta que continuo me perguntando - "está na nuvem?" - sem dizer "O que você está perguntando não faz sentido?"

Mattsven
fonte
11
en.wikipedia.org/wiki/Cloud_computing deve começar.
Demian Brecht
21
A nuvem é a nova Web2.0, mas sem os cantos arredondados.
Unholysampler
@unholysampler: gráfico ou css-ed?
Christopher Mahan 27/05
Ele deveria ser robusto e confiável - exceto que a nuvem da Amazon caiu há algumas semanas. E meus amigos hackers de chapéu branco me dizem que também não é tão "seguro". Mas isso não significa que não é útil.
Steven A. Lowe
1
Eu sou a grande nuvem. Ignore os computadores atrás da cortina. Você é um programador. Você não entenderia. É uma coisa de hardware. Pesquise no Google e faça uma pergunta melhor.
JeffO 28/05

Respostas:

32

A "nuvem" é uma palavra da moda. Não possui uma definição que não inclua a palavra "Nuvem". Aqui está como a Dell descreve sua nuvem:

A computação em nuvem oferece TI como um serviço. Pode ser sua própria nuvem privada acessível apenas dentro da sua organização, a nuvem pública de um provedor externo ou uma nuvem híbrida que abrange ambos.

Ah, então a nuvem é TI como um serviço. Certo. Eu pensei que o Geek Squad era a TI como um serviço? Então, a nuvem é o Geek Squad ou o Geek Squad é a nuvem? E se o Geek Squad começar a oferecer serviços em nuvem, o universo terminará com a singularidade? Não há inferno quente ou profundo o suficiente para o pessoal de marketing.

Basicamente, é a progressão lógica de clusters, virtualização e conexões mais rápidas à Internet. As empresas podem se especializar no fornecimento de capacidade de armazenamento e processamento, e você pode hospedar seu aplicativo no cluster deles e acessá-lo pela Internet. E, usando a virtualização, ela pode existir em um ambiente arbitrário não relacionado ao hardware físico real em que está sendo executado. Muito legal.

A capacidade de hospedar um aplicativo em equipamentos de terceiros que podem ser dimensionados de forma transparente é muito poderosa. Você pode criar uma presença na web sem precisar se comprometer demais com o hardware. A implementação específica de hardware não importa para os desenvolvedores, então isso é bom também.

A razão pela qual eles chamam de "nuvem" é porque, nos diagramas de rede tradicionais, a Internet, o resto do mundo, a WAN, a rede e o hardware que estão além do escopo do diagrama imediato, são sempre representados como uma nuvem.

Diagrama de rede

A própria natureza da nuvem como país desconhecido persistiu até os dias atuais, e está na raiz de por que ninguém pode descrever satisfatoriamente o que a nuvem é . A questão toda é que você não sabe o que é. Você não precisa. Você apenas sabe que pode dar seu aplicativo à Amazon, IBM ou qualquer outro provedor de "Cloud", e eles o hospedarão e cobrarão o valor com base no uso.

Satanicpuppy
fonte
1
De que brochura de marketing você tirou isso?
Christopher Mahan 27/05
1
Você acabou de dar uma definição que não inclui a palavra "nuvem".
Rein Henrichs
9
@Rein sim, mas tem uma imagem de uma nuvem sobre ele rotulado como "Internet"
Steven A. Lowe
3
Essa é uma explicação fantástica. +100 de mim.
1
Puta merda, essa é uma boa resposta.
mattsven 27/05
10

Quando você ouve o termo "nuvem", é realmente um termo abstrato (ruim) que varia desde:

  • Infraestrutura como serviço (IaaS) - onde você virtualizou os recursos de computação disponíveis por meio de um provedor remoto e uma API programática. Exemplos comuns disso são o Amazon EC2 e o Rackspace Cloud. Observe que a parte "API programática" dessa descrição é a melhor - caso contrário, você está apenas falando sobre hospedagem remota ou VPSs (Virtual Private Servers).
  • Plataforma como serviço (PaaS) - que é uma abstração até a camada do aplicativo. Por exemplo, você como desenvolvedor de aplicativos da Web constrói um artefato implementável (digamos .war em java ou uma jóia em ruby, por exemplo) e depois implanta esse artefato em um provedor de PaaS. Eles pegam seu aplicativo, ocultam todos os detalhes de hardware e sistema operacional e gerenciam a escalabilidade para cima e para baixo com base no tráfego / taxa de transferência do seu aplicativo. Você, como desenvolvedor, se preocupa apenas em escrever o aplicativo em si e nada mais (isso é um exagero grosseiro, mas pretende mostrar que você realmente controla o aplicativo). Exemplos são o Google App Engine ou Heroku.
  • Software como serviço - é aqui que você, como desenvolvedor, renuncia ao controle de tudo a terceiros, com exceção de se tornar um cliente de seus serviços. Você basicamente usa uma API fornecida externamente para trabalhar com seus dados na infraestrutura de outra pessoa por meio de um conjunto de serviços da web. Provavelmente, o exemplo mais popular disso é o Salesforce.

O termo "nuvem" em si é uma descrição muito ruim dessas três coisas. Em geral, quando as pessoas se referem à "computação em nuvem", o que elas estão enfrentando é a mudança de paradigma, na qual você tem fornecedores especializados nos quais renuncia ao controle de algumas (ou todas) das preocupações não funcionais do seu software, em vez de hospedar, escrever e gerenciando tudo sozinho.

baleia
fonte
1

Muito antes de "The Cloud" ser um chavão, as pessoas que desenhavam diagramas de rede desenhavam todos os clientes, servidores, roteadores e comutadores sob seu controle direto e as conexões entre eles, mas tradicionalmente apenas desenhavam uma nuvem para partes da rede que não usavam. controle. Para alguns exemplos, faça uma pesquisa de imagens no Google por PSTN (rede telefônica pública comutada). A nuvem representa uma coisa nebulosa em que nossos fios entram e saem. Não precisamos entender como isso funciona, porque outras pessoas cuidam disso. Apenas confiamos que os pacotes voltem ao lugar certo do outro lado. Normalmente, a Internet é desenhada como uma nuvem, porque uma vez que seus pacotes atingem seu ISP, você confia que sabe como levá-los ao lugar certo e não se importa com os roteadores específicos pelos quais viaja.

"Computação em nuvem" em poucas palavras refere-se a serviços hospedados dentro da nuvem no diagrama de rede da sua casa ou empresa, ou seja, a Internet. O hardware não está sob seu controle direto, basta enviar seus dados "para a nuvem" e confiar no seu fornecedor para processá-los e armazená-los para que estejam disponíveis quando você precisar retirá-los. O significado da palavra da moda também implica que as coisas que estão sendo manipuladas "na nuvem" eram tradicionalmente o domínio de um computador local. Tradicionalmente, você pode ter um servidor de backup, mas migrou para um serviço como o carbonite que faz seus backups "na nuvem". Você já usou o MS office na área de trabalho local, mas agora usa o Google Docs, etc.

Como desenvolvedor da Web, o que isso significa para você é que os clientes geralmente procuram maneiras de substituir serviços tradicionalmente manipulados por computadores desktop por aplicativos da Web. Ser capaz de substituir e não apenas complementar o software de desktop pode oferecer uma vantagem competitiva.

Karl Bielefeldt
fonte
A nuvem representa "uma coisa nebulosa" - eu gosto. Muito meta :-)
1

Muitas pessoas explicaram admiravelmente o que é nuvem, então tentarei abordar o que a nuvem pode trazer para você (um desenvolvedor da Web), além de unicórnios e arco-íris dourado: (com conectores descarados à nossa tecnologia)

  1. Hospedagem e dimensionamento horizontal sob demanda - Amazon EC2. Digamos que nosso site seja pontilhado ou redditado e você precise de hosts extras apenas nos próximos dias - não há problema. Eles podem ser trazidos para cima e para baixo sob demanda.
  2. Carregamento com granulação fina - pague apenas pelo que usar. O serviço mais barato da AWS é realmente gratuito para uso limitado! Portanto, tente criar seu site sem nenhum custo. Chega de primavera para hospedagem de datacenter, etc.
  3. Você deseja criar um site que precise de um banco de dados de backup - não há problema. Você pode usar o AWS SimpleDB para noSQL / RDS se precisar de SQL.
  4. Você quer armazenar essas imagens fofas de gatinhos e criar um link para elas? AWS S3.
  5. Deseja abordar um conjunto global de pessoas, com baixa latência? Frente da AWS Cloud! Eles têm servidores de borda localizados perto dos seus clientes, para que elas obtenham essas imagens rapidamente!
  6. Monitoramento / relatório ao vivo do uso de seus sites
  7. Você quer um sistema distribuído para resolver um grande problema de conjunto de dados? AWS MapReduce
  8. Deseja enviar um email para seus clientes de maneira confiável? AWS SES
  9. Deseja fazer algum processamento assíncrono como um back-end para pedidos on-line? AWS SQS

Há muito mais em http://aws.amazon.com/ . Confira! Obviamente, tudo isso é da AMZN. Outros, como o Google, também oferecem ofertas competitivas.

Subu Sankara Subramanian
fonte
0

O problema é que "nuvem" é um significado um tanto ambíguo (no escopo).

O mínimo que a maioria das pessoas pensa quando ouve "Cloud" é infraestrutura virtualizada e seus benefícios:

  • elimina a redundância necessária para explicar uma possível falha de hardware
  • o potencial de ter recursos de infraestrutura "elásticos" ou sob demanda (por exemplo, aumentar 10 vms totalmente provisionados para lidar com carga de pico ou sazonal)
  • facilidade de realocação / reatribuição / desativação de recursos
  • facilidade de replicação de ambientes
  • capacidade de "capturar" e "reverter" recursos de infraestrutura virtualizada e, em alguns casos, ambientes inteiros

A propósito, você nem sempre obtém tudo da lista e, mesmo se o fizer, pode não ser 100%. Você pode pesquisar no Google o que aconteceu com "AWS US East Outage" para obter um exemplo do mundo real.

Às vezes, as pessoas também adicionam outros serviços como parte da "nuvem", como banco de dados, log e qualquer outro serviço que meio que ocupa o espaço entre "infraestrutura" e "aplicativo".

Algumas pessoas também usam "Cloud" como sinônimo de "virtual". Às vezes, as pessoas também o usam para significar "Software e plataforma como serviço".

dietbuddha
fonte
0

Nuvem é apenas mais uma palavra para a internet. Agora está se tornando cada vez mais popular, à medida que a Internet amadurece o suficiente para que as organizações confiem nela para serviços importantes de software, por isso continuamos ouvindo sobre coisas como o SAAS.

Craig
fonte