# data[].attributes.attachment_link.title
Afinal o que é um sistema distribuído? - Pplware

# data[].attributes.attachment_link.description
Conheça alguns exemplos de sistemas distribuídos, características e também os desafios.

# data[].attributes.attachment_link.readable_text
Cloud computing is the delivery of computing resources over the internet. It offers cost savings, scalability, high performance, economies of scale, and more. For many companies, a cloud migration is directly related to data and IT modernization.

When the phrase "the cloud" first began popping up in the early 2000s, it had an esoteric ring. The idea of accessing computing resources from somewhere other than an on-premise IT infrastructure (the sky?) sounded like science fiction. The reality was much more profound and forever changed technology and how we conduct business.

What is cloud computing?

Cloud computing is the delivery of computing resources - including storage, processing power, databases, networking, analytics, artificial intelligence, and software applications - over the internet (the cloud). By outsourcing these resources, companies can access the computational assets they need, when they need them, without needing to purchase and maintain a physical, on-premise IT infrastructure. This provides flexible resources, faster innovation, and economies of scale. For many companies, a cloud migration is directly related to data and IT modernization.

Characteristics of cloud computing

Before cloud computing, organizations purchased and maintained an on-premise IT infrastructure. Though cost-savings drove much of the initial shift to the cloud, many organizations find that public, private, or a hybrid cloud infrastructure offers a host of benefits.

For agile and DevOps teams, cloud computing provides the ability to simplify and accelerate the development process.

The following is a list of characteristics that define cloud computing.

On-demand self service

Cloud computing providers offer APIs that users access to requisition new resources or scale existing resources whenever needed. Teams can automate their infrastructure provisioning in a simple way with infrastructure as code tools from the likes of Terraform and Ansible.

Broad network access

Physical hardware location is a significant concern when delivering the optimal end-user experience. Cloud computing provides a huge boon by offering globally-distributed physical hardware, which allows organizations to strategically provision location-targeted hardware.

Resource pooling

Computing resources in a cloud infrastructure platform are dynamically divided and allocated on demand. Since a cloud host's physical machines are dynamically provisioned and shared between multiple tenants, cloud hardware is thoroughly optimized for maximum usage.

Rapid elasticity

Cloud infrastructures can grow and shrink dynamically, allowing users to request that their computational resources auto-scale with traffic demands. Elasticity can happen on a per-machine basis, where an allocation of resources grows to maximize the available machine resources, or multi-machine basis, in which an application automatically scales to multi-networked machines.

Measured service

Cloud infrastructure providers give detailed usage metrics that are used to communicate usage costs. For example, Amazon Web Services (AWS) provides usage for each service category in hourly or daily line items. Cloud service providers generally take a utility style pay-as-you-go billing model that is measured and delivered, so customers are charged for the exact amount of computing resources used.

Types of cloud deployments

There are three primary types of cloud deployments. Each has unique benefits and organizations often benefit from using more than one.

Public cloud

Public clouds deliver computing resources -- servers, storage, applications, etc. -- over the internet from a cloud service provider, such as AWS and Microsoft Azure. Cloud providers own and operate all hardware, software, and other supporting infrastructure.

Private cloud

A private cloud is computing resources dedicated exclusively to an organization. It can be physically located at an organization's on-site data center, or hosted by a cloud provider. A private cloud delivers a higher level of security and privacy than public clouds by offering dedicated resources to companies.

Private cloud customers get the primary benefits of a public cloud, including self-service, scalability, and elasticity, but with the added benefit of additional control and customization. Plus, private clouds can have a higher level of security and privacy because they are housed on private networks not accessible to public traffic.

Hybrid cloud

Hybrid clouds are a combination of private and public clouds (for example, IBM Hybrid Cloud, powered by Red Hat), connected together with technology that enables data and application to work together. Sensitive services and applications can be kept in the secure private cloud while publicly-accessible web servers and customer-facing endpoints can live in the public cloud. Most popular third-party cloud providers offer a hybrid cloud model, allowing users to combine private and public clouds to satisfy their needs. This allows businesses greater flexibility to deploy the specific infrastructure requirements of their application.

Cloud computing services

The dynamic properties of cloud computing sets the foundation for novel higher-level services. These services can help not only complement, but often provide necessary services for agile and DevOps teams.

Infrastructure as a service

Infrastructure as a service (IaaS) is a foundational cloud service layer that allows organizations to rent IT infrastructure -- servers, storage, networks, operating systems -- from a cloud provider. IaaS lets users reserve and provision the resources they need out of raw physical server warehouses. In addition, IaaS lets users reserve pre-configured machines for specialized tasks like load balancers, databases, email servers, distributed queues.

DevOps teams can use IaaS as an underlying platform from which to build a DevOps toolchain, which can include the use of various third-party tools.

Platform as a service

Platform as a service (PaaS) is a cloud infrastructure built on IaaS that provides resources to build user-level tools and applications. It provides the underlying infrastructure including compute, network, and storage resources, as well as development tools, database management systems, and middleware.

PaaS leverages IaaS to automatically allocate the resources needed to power a language-based tech stack. Popular language tech stacks are Ruby On Rails, Java Spring MVC, MEAN, and JAM stacks. PaaS customers can then simply upload an artifact of their application code that is automatically deployed to the infrastructure of the PaaS. This is a novel and powerful workflow that allows teams to focus completely on their specific business application code and not worry about hosting and infrastructure concerns. The PaaS automatically handles scaling and monitoring of the infrastructure to grow or shrink resources with observed traffic loads.

Software as a service

Software as a service (SaaS) delivers software applications over the internet, on-demand and typically by subscription. The cloud providers host and manage the application, addressing software upgrades and security patching as needed. Examples of SaaS are CRM systems, webmail applications, productivity tools like Jira and Confluence, analytics tools, monitoring tools, chat applications, and more.

Function as a service

Function as a service (FaaS) is a cloud computing service that offers a platform where customers can develop, run, and manage applications. This alleviates the need for developers to build and maintain the infrastructure needed to develop and launch an app. Cloud providers offer cloud resources, execute a block of code, return the result, and then destroy the resources that were used.

Benefits of cloud computing

The unique properties of cloud infrastructures provide several novel technical and business benefits. The following are the key cloud computing benefits for agile teams.

Reduced cost

Teams that use cloud resources do not have to purchase their own hardware assets. Beyond hardware costs, cloud providers do their best to maximize and optimize hardware usage. This transforms hardware and computing resources into a commodity, and cloud providers compete to offer the lowest bottom line.

Increased scalability

Since cloud computing is elastic by default, organizations can scale resources on demand. Cloud computing enables auto-scaling features for teams. Cloud applications can automatically shrink and grow their infrastructure resources in response to spikes of traffic.

Better performance

Cloud computing offers the latest and greatest computational resources. Users can access the newest machines with extreme, multi-core CPUs designed for heavy parallel processing tasks. Additionally, major cloud providers offer cutting-edge GPU and TPU hardware machines for intense graphical, matrix, and artificial intelligence processing tasks. These cloud providers consistently update with the latest in processor technology.

Major cloud computing providers have globally distributed hardware locations that ensure high performance connections depending upon the physical connection location. Additionally, cloud providers offer global content delivery networks that cache user requests and content by location.

Improved execution speed

Teams that use cloud infrastructures can more rapidly execute and deliver value to their customers. Agile software teams can leverage a cloud infrastructure to rapidly spin up new virtual machines to experiment and validate unique ideas, and automate the testing and deployment phases of the pipeline.

Increased security

Private cloud hosting offers isolated firewalled infrastructure that improves security. In addition, cloud providers offer many security mechanisms and technologies to help build secure applications. User access control is an important security concern, and most cloud providers offer tools to limit granular user access.

Continuous integration and delivery

Continuous integration and continuous delivery (CI/CD) is a key practice for DevOps practitioners that helps to increase team velocity and reduce time to market. Cloud-based CI/CD, such as Bitbucket Pipelines, allows teams to automatically build, test and deploy code, without worrying about the management or maintenance of the CI infrastructure. Bitbucket Pipelines relies on Docker containers to provide isolation and reproducibility of the release pipeline. Teams can run commands similar like they might on a local machine, but with all the advantages of a fresh and reproducible setup for each build.

Comprehensive monitoring and incident management

Cloud deployments allow teams to connect their tools from end to end, making it easier to monitor all parts of the pipeline. Comprehensive monitoring is another key capability for organizations practicing DevOps because it allows them to address issues and incidents faster. Cloud providers share metrics about the health of the system, including application and server CPU, memory, request rate, error rate, average response time, etc. For example, monitoring the load across many virtual machines (VMs) means that teams can add more capacity if there is an increase in demand, or teams can automate the scaling (up/down) based on those metrics to reduce human intervention and costs. Read more about DevOps monitoring.

# data[].attributes.attachment_link.title
O que é computação em nuvem? Uma visão geral da nuvem

# data[].attributes.attachment_link.description
Cloud computing is the delivery of computing resources over the internet. It offers cost savings, scalability, high performance, economies of scale, and more. For many companies, a cloud migration is directly related to data and IT modernization. When the phrase "the cloud" first began popping up in the early 2000s, it had an esoteric ring.

# data[].attributes.attachment_link.readable_text
Computação em Nuvem, muitas vezes tida por "computação sob demanda", se trata de um sistema computacional no qual recursos, dados e informações são fornecidos a computadores e dispositivos conectados à internet sob demanda, se espelhando no princípio de computação em GRID. Em sua idealização, o usuário final acessa a rede em um dispositivo, tal qual um terminal, que faz a requisção de recursos computacionais e/ou dados. Essa requisiçãoé atendida remotamente por meio da infraestrutura da nuvem distribuída pela internet e, por fim, os dados e processamento destinados a esse usuário são mantidos na infraestrutura remota.
Computação em nuvem. Fonte.
A utilização da nuvem possui várias vantagens tanto para o usuário quanto para o provedor da aplicação. Nesse ambiente, o provedor dispõe de uma poderosa infraestrutura computacional, mesmo que não tenha acesso a ela fisicamente. Ademais, se vê livre dos custos de manutenção de hardware, ao passo em que se torna capaz a oferecer um serviço mais estável e com melhor gerenciamento de carga. Todas esses pontos contribuem para uma melhor experiência do usuário final. Nesse sentido, surge o entendimento da nuvem como um meio para o desenvolvimento da computação como um serviço.

XaaS - Tudo como um Serviço

"Xaas" significa, justamente, "X as a Service". Com o desenvolvimento da computação em nuvem esse tipo de nomeclatura passou a ser utilizado para representar serviços providos por meio da nuvem. Os mais comuns são:

SaaS - Software as a Service: como Google Apps, Dropbox, Spotify

PaaS - Platform as a Service: como Heroku, Cloud Foundry, Google App Engine, OpenShift

IaaS - Infrastructure as a Service: como OpenStack, CloudStack, Amazon AWS, Microsoft Azure, Google Compute Engine

NaaS - Network as a Service: como FENICS, Aryaka

XaaS. Ressalte em NaaS. Fonte.
NaaS - Rede como Serviço

Se trata da integração dos serviços em nuvem com o cliente, por meio de um acesso direto à infraestrutura de rede. Por meio desse serviço o cliente pode personalisar o roteamneto da rede em que seus outros serviçoes estão distribuídos e implantar protocolos de multicast de maneira fácil. Ademais, o usuário pode implantar serviços anvançados de rede, como a modificação depacotes "in-path".

As funcionalidades desse tipo de serviçopodem ser divididas em:

Processamento In-network: É possível a redução do tráfego total da rede, e consequente redução dos tempos de execução de serviços que a utilizam, uma vez realizada a agregação em rede. Essa agregação, contudo, é específica ao aplicativo distribuídopelarede, portanto não é fornecida como um serviço de rede.

Fowarding Customizado: É possível a implementação de protocolos de roteamento customizados.

Visibilidade de Rede: Muitos aplicativos são construídos em cima de redes "overlay" (redes sobrepostas). A fim de maximizar o desempenho, é necessário optimizar o mapeamento entre as topologias lógica e física.

Alguns modelos de serviço que implementam NaaS são:

Virtual Private Network (VPN): Extende uma rede privada e os recursos nela contidos através de redes públicas como a internet. Elapermite que um comoutador envie e receba dados por meio de redes compartilhadas ou públicas como se essa transmissão ocorresse dentro de uma rede privada.

Bandwidth on Demand (BoD): Nesse modelo a capacidade da rede é distribuida entre os nós e usuários da rede. A mudança dacapacidade pode ser feita dinamicamente a fim de se obtero melhor resultado tendou objetivoespecífico em mente.

Mobile Network Vizualization: Modelo no qual uma fabricante do setor de telecomunicações ou uma operadora independente controla uma rede e vende seuuso, cobrando por consumo e carga.

IaaS - Infraestrutura como serviço

Serviços de infraestrutura em nuvem fornecem, sob demanda, monitoramento, acesso e administração à infraestrutura de um datacenter remotamente. Dessa formao cliente desse tipo de serviço não requer a aquisição de hardware físico e passa a ser cobrado por consumo.

Alguns dos grandes fornecedores desse tipo de serviço são:

Amazon (Amazon Web Services - AWS)

Microsoft (Microsoft Azure)

Google (GoogleCompute Engine - GCE)

Diferentemente de SaaS e PaaS, os usuários de IaaS são responsáveis por administrar applicações, dados, tempos de execução, middleware e sistemas operacionais.

PaaS - Plataforma como Serviço

São serviços que sustentam aplicações que necessitam de componentes da nuvem. O uso de PaaS fornece um framework que facilita a construção e manutenção do software das aplicações que se utilizam de componentes da nuvem. Com essa tecnologia, um fornecedor terceirizado pode administrar sistemas operacionais, virtualização, servidores, armazenamento, networking e o próprio software PaaS. Desenvolvedores, entretanto, precisam administrar as aplicações.

Originalmente o Paas foi concebido como uma solução para o desenvolvimento de aplicativos em nuvem pública, sendo, em grande parte, uma derivação de SaaS. Posteriormente foi expandido para atender nuvens privadas e híbridas.

PaaS Público: Derivado de SaaS, está situado entre o SaaS e a IaaS. Auxilia o cliente no gerenciamento do servidor e , de maneira geral, na interface entre o aplicativoe o servidor.

PaaS Privado: Normalmente se encontra instalado em infraestrutura local ouem nuvens públicas. Ele organiza os componentes de aplicação e banco de dados em uma única plataforma de hospedagem.

SaaS - Software como Serviço

Se trata das aplicações oferecidas na camada final da rede, em contato com o usuário final. Em geral são as aplicações web, administradas por terceiros e acessadas diretamente pelo cliente da aplicação diretamente pelo browser deum dispositivo conectado à rede.

Nesse modelo, todos, ou quase todos, os recursos acessados pelo usuário não estão sendo armazenados ou processados no terminal, e sim na nuvem. Essa metodologia facilita na manutenção, gerenciamento e suporte dos sistemas e aplicativos.

# data[].attributes.attachment_link.description
Computação em Nuvem, muitas vezes tida por "computação sob demanda", se trata de um sistema computacional no qual recursos, dados e informações são fornecidos a computadores e dispositivos conectados à internet sob demanda, se espelhando no princípio de computação em GRID.

# data[].attributes.attachment_link.readable_text
A nuvem (cloud) é o nome genérico dado à computação em servidores disponíveis na Internet a partir de diferentes provedores

Computação em nuvem (em inglês, cloud computing) é um termo coloquial para a disponibilidade sob demanda de recursos do sistema de computador, especialmente armazenamento de dados e capacidade de computação, sem o gerenciamento ativo direto do utilizador. O termo geralmente é usado para descrever centros de dados disponíveis para muitos utilizadores pela Internet. Nuvens em grande escala, predominantes hoje em dia, geralmente têm funções distribuídas em vários locais dos servidores centrais. Se a conexão com o utilizador for relativamente próxima, pode ser designado um servidor de borda.

O armazenamento de dados é feito em serviços que poderão ser acedidos de qualquer lugar do mundo, a qualquer hora, não havendo necessidade de instalação de programas ou de armazenar dados. O acesso a programas, serviços e arquivos é remoto, através da Internet - daí a alusão à nuvem. O uso desse modelo (ambiente) é mais viável do que o uso de unidades físicas.

Num sistema operacional disponível na Internet, a partir de qualquer computador e em qualquer lugar, pode-se ter acesso a informações, arquivos e programas num sistema único, independente de plataforma. O requisito mínimo é um computador compatível com os recursos disponíveis na Internet. O PC torna-se apenas um ligado à Internet - a "grande nuvem" de computadores - sendo necessários somente os dispositivos de entrada ( teclado, rato/mouse) e saída ( monitor).

Empresas como Amazon, Oracle, Google, IBM e Microsoft foram as primeiras a iniciar uma grande ofensiva nessa nuvem de informação ("i nformation cloud"), que especialistas consideram uma "nova fronteira da era digital". Aos poucos, essa tecnologia vai deixando de ser utilizada apenas em laboratórios para ingressar nas empresas e, em breve, em computadores domésticos.

O primeiro serviço na Internet a oferecer um ambiente operacional para os utilizadores - antigamente, disponível no endereço www.webos.org - foi criado por um estudante sueco, Fredrik Malmer, utilizando as linguagens XHTML e Javascript.

Em 1999, foi criada nos EUA a empresa WebOS Inc., que comprou os direitos do sistema de Fredrik e licenciou uma série de tecnologias desenvolvidas nas universidades do Texas, Califórnia e Duke.

Atualmente, a computação em nuvem é dividida em dez tipos:

- "Infrastructure as a Service" ou Infraestrutura como Serviço (em português): refere-se a serviços online que fornecem APIs de alto nível usadas para desreferenciar vários detalhes de baixo nível da infraestrutura de rede subjacente, como recursos de computação física, localização, particionamento de dados, dimensionamento, segurança, backup etc. Executa as máquinas virtuais como convidados. "Pools" de "hipervisores" dentro do sistema operacional de nuvem podem suportar um grande número de máquinas virtuais e a capacidade de escalonar os serviços de acordo com os diferentes requisitos dos clientes. Os contentores Linux são executados em partições isoladas de um único kernel do Linux em execução diretamente no hardware físico. "Cgroups" e "namespaces" do Linux são as tecnologias subjacentes do kernel do Linux usadas para isolar, proteger e gerenciar os contentores. A contentorização oferece maior desempenho do que virtualização, porque não há sobrecarga de "hipervisor". Além disso, a capacidade do contentor é dimensionada automaticamente de maneira dinâmica com a carga computacional, o que elimina o problema de provisionamento excessivo e permite o facturamento baseado em uso. As nuvens de IaaS geralmente oferecem recursos adicionais, como uma biblioteca de imagem de disco de máquina virtual, armazenamento bruto de bloco, armazenamento de arquivos ou objetos, firewalls, balanceadores de carga, endereços IP, VLANs (redes locais virtuais) e pacotes de software. Os provedores de nuvem IaaS fornecem esses recursos sob demanda a partir de seus grandes pools de equipamentos instalados nos datacenters. Para conectividade de área ampla , os clientes podem usar a Internet ou as nuvens da operadora (redes privadas virtuais dedicadas). Para implantar seus aplicativos, os utilizadores da nuvem instalam imagens do sistema operacional e seu software de aplicativo na infraestrutura de nuvem. Nesse modelo, o utilizador da nuvem corrige e mantém os sistemas operacionais e o software do aplicativo. Provedores de nuvem geralmente cobram serviços IaaS em uma base de computação utilitária: o custo reflete a quantidade de recursos alocados e consumidos;

PaaS - "Plataform as a Service" ou Plataforma como Serviço (em português): dá aos desenvolvedores as ferramentas necessárias para criar e hospedar aplicativos Web. A PaaS foi desenvolvida para proporcionar aos utilizadores o acesso aos componentes necessários para desenvolver e operar rapidamente aplicativos Web ou móveis na Internet, sem se preocupar com a configuração ou gerenciamento da infraestrutura subjacente dos servidores, armazenamento, redes e bancos de dados. (p.ex.: IBM Bluemix, Windows Azure e Jelastic). A definição do NIST de computação em nuvem define Plataforma como um serviço como: A capacidade oferecida ao consumidor é implementar na infraestrutura em nuvem os aplicativos criados ou adquiridos ou controlados pelo consumidor criados usando linguagens de programação, bibliotecas, serviços e ferramentas suportados pelo provedor. O consumidor não controla a infraestrutura de nuvem subjacente, incluindo rede, servidores, sistemas operacionais ou armazenamento, mas tem controle sobre os aplicativos implantados e possivelmente configurações para o ambiente de hospedagem de aplicativos;

- "Software as a Service" ou Software como Serviço (em português): O software como um serviço oferece um produto completo, executado e gerenciado pelo provedor de serviços. Na maioria dos casos, as pessoas que se referem ao software como um serviço estão se referindo às aplicações de utilizador final. Com uma oferta de SaaS, não é necessário pensar sobre como o serviço é mantido ou como a infraestrutura subjacente é gerenciada, você só precisa pensar em como usará este tipo específico de software.(p.ex.: Google Docs , Microsoft SharePoint Online);

CaaS - "Containers as a Service" ou Contêineres como Serviço (em português): refere-se à oferta de serviço de virtualização baseado em contêineres. Contêineres são sistemas de virtualização ditos "leves" porque implementam uma arquitetura computacional que abstrai hardware como em IaaS mas, também, o sistema operacional. A sigla é, porventura, usada em referência a outros modelos de serviço, como "Content as a Service".

FaaS - "Function as a Service" - ou Função como Serviço (em português): é uma chamada de procedimento remoto hospedada em serviço que aproveita a computação sem servidor para permitir a implementação de funções individuais na nuvem que são executadas em resposta a eventos. O FaaS está incluído no termo mais amplo computação sem servidor, mas os termos também podem ser usados ​​de forma intercambiável;

MBaaS - "Mobile Back-End as a Service" - ou Back-End móvel como Serviço (em português): também conhecido como Back-End como um Serviço (BaaS), os desenvolvedores de aplicativos móveis e de aplicativos web são providos com uma maneira de vincular seus aplicativos a serviços de armazenamento em nuvem e computação em nuvem com Interface de programação de aplicações (APIs) expostas às suas aplicações e Kit de desenvolvimento de software personalizado (SDK). Os serviços incluem gerenciamento de utilizadores, notificações por push, integração com serviços de redes sociais, entre outros. Esse é um modelo relativamente recente na computação em nuvem, com a maioria das startups de BaaS datadas de 2011 ou posteriores, mas as tendências indicam que esses serviços estão ganhando tração significativa junto aos consumidores corporativos.

Os seguintes serviços atualmente são oferecidos por empresas:

A definição de computação em nuvem do Instituto Nacional de Padrões e Tecnologia identifica "cinco características essenciais":

Auto atendimento sob demanda - Um consumidor pode utilizar unilateralmente recursos de computação, como tempo de servidor e armazenamento de rede, conforme necessário, automaticamente, sem exigir interação humana com cada provedor de serviços;

Amplo acesso à rede - Os recursos estão disponíveis na rede e são acedidos ​​por meio de mecanismos padrão que promovem o uso por plataformas heterogêneas (por exemplo, telefones celulares, tablets, notebooks e estações de trabalho);

Pool de recursos - Os recursos de computação do provedor são agrupados para atender a vários consumidores usando um modelo de multilocação, com diferentes recursos físicos e virtuais atribuídos e reatribuídos dinamicamente de acordo com a demanda do consumidor;

Elasticidade rápida - Os recursos podem ser provisionados e liberados elasticamente, em alguns casos automaticamente, para escalar rapidamente para fora e para dentro de acordo com a demanda. Para o consumidor, os recursos disponíveis para utilização muitas vezes parecem ilimitados e podem ser apropriados em qualquer quantidade e a qualquer momento;

Serviço medido - Os sistemas em nuvem controlam e otimizam automaticamente o uso de recursos aproveitando um recurso de medição em algum nível de abstração apropriado ao tipo de serviço (por exemplo, armazenamento, processamento, largura de banda e contas de utilizador ativas). O uso de recursos pode ser monitorado, controlado e relatado, fornecendo transparência tanto para o provedor quanto para o consumidor do serviço utilizado.

A adoção de sistemas Cloud Computing dependem das características tecnológicas e do modo como os utilizadores percebem a utilidade da Cloud. Por exemplo se os sistemas Cloud forem fáceis de usar e se acrescentarem utilidade aos utilizadores finais, estes tendem a usar sistemas Cloud. Para auxiliar na decisão do utilizador final na escolha do modelo Cloud, o utilizador deverá identificar a adequação da infraestrutura tecnológica, deverá mensurar os custos e o retorno desse investimento, bem como identificar as medidas de controle de integridade de informação, a usabilidade da informação e dos sistemas. Neste contexto, importa ainda identificar as medidas de confiabilidade e segurança e integridade dos sistemas da informação e dos dados. Dependemos das necessidades das aplicações que serão implementadas no modelo de implantação. A restrição ou abertura de acesso depende do processo de negócios, do tipo de informação e do nível de visão desejado. Percebemos que certas organizações não desejam que todos os utilizadores possam aceder e utilizar determinados recursos no seu ambiente de computação em nuvem. Segue abaixo a divisão dos diferentes tipos de implantação:

As nuvens privadas são aquelas construídas exclusivamente para um único utilizador (uma empresa, por exemplo). Diferentemente de um data center privado virtual, a infraestrutura utilizada pertence ao utilizador, e, portanto, ele possui total controle sobre como as aplicações são implementadas na nuvem. Uma nuvem privada é, em geral, construída sobre um data center privado.

Segundo Veras, a nuvem privada é uma infraestrutura em nuvem operada exclusivamente para uma única organização, e quase sempre operada pela própria organização ou por terceiros e hospedada interna ou externamente. Realizar um projeto de nuvem privada requer engajamento significativo para virtualizar o ambiente de negócios e exige que a organização reavalie as decisões sobre os recursos existentes. Pode melhorar os negócios, mas cada etapa do projeto levanta questões de segurança que devem ser abordadas para evitar vulnerabilidades sérias.

A hospedagem interna é bastante interessante, quando o controle dos dados é algo muito crítico, nesses casos, hospedar através de algum provedor, não é uma solução interessante, devido a perda do controle do armazenamento das informações.

Nuvem pública

Uma nuvem é chamada de "nuvem pública" quando os serviços são disponibilizados em uma rede aberta para uso público. Os serviços de nuvem pública podem ser gratuitos. Tecnicamente, pode haver pouca ou nenhuma diferença entre a arquitetura de nuvem pública e privada, entretanto, a consideração de segurança pode ser substancialmente diferente para serviços (aplicativos, armazenamento e outros recursos) disponibilizados por um provedor de serviços para uma base de usuários pública e quando a comunicação é efetuada através de uma rede não confiável. Geralmente, os provedores de serviços de nuvem pública, como o Amazon Web Services (AWS), a Oracle, a Microsoft e o Google, possuem e operam a infraestrutura em seu data center e o acesso é geralmente feito pela Internet. A AWS, Oracle, Microsoft e Google também oferecem serviços de conexão direta chamados "AWS Direct Connect", "Oracle FastConnect", "Azure ExpressRoute" e "Cloud Interconnect" respectivamente. Essas conexões exigem que os clientes comprem ou concedam uma conexão privada a um ponto de " peering" oferecido pelo provedor de nuvem.

Nuvem híbrida

Nas nuvens híbridas temos uma composição dos serviços disponibilizados por nuvens públicas, privadas e de terceiros com orquestração entre essas plataformas. Elas permitem que uma nuvem privada possa ter seus recursos acedidos a partir de uma reserva de recursos em uma nuvem pública. Essa característica possui a vantagem de manter os níveis de serviço mesmo que haja flutuações rápidas na necessidade dos recursos. A conexão entre as nuvens pública e privada pode ser usada até mesmo em tarefas periódicas que são mais facilmente implementadas nas nuvens públicas, por exemplo. O termo computação em ondas é, em geral, utilizado quando se refere às nuvens híbridas.

Nuvem comunitária

A nuvem comunitária é de uso exclusivo para específicas comunidades de consumidores de organizações com interesses compartilhados (Requerimentos de segurança, política, considerações de compliance, entre outros). Ela pode ser gerenciada por uma ou mais organizações na comunidade, por terceiros, ou por alguma combinação entre eles, e podem ser hospedadas tanto internamente ou externamente. Seu custo por utilizadores é maior a Nuvem pública (porém, menor do que na Nuvem privada), então apenas alguns recursos de menor custo da computação em nuvem podem ser aplicados.

Nuvem HPC se refere ao uso dos serviços e infraestrutura da computação em nuvem para executar aplicações de alta performance (em inglês, High Performance Computing Cloud ou HPC Cloud). Essas aplicações consomem uma porção considerável de poder de computação e de memória, e são tradicionalmente aglomerados de computadores. Vários vendedores oferecem servidores que suportam a execução dessas aplicações. Em nuvem HPC, o modelo de implantação permite que todos os recursos de HPC estejam dentro da infraestrutura do provedor da nuvem ou em diferentes porções de recursos HPC a serem compartilhados entre o provedor e o cliente no local em que a infraestrutura se encontra. A implementação de nuvem para rodar aplicações de alta performance ( HPC applications) começou majoritariamente para aplicações compostas de tarefas independentes, sem " Inter-process Communication" (IPC). Conforme os provedores de nuvens começaram a oferecer tecnologias de rede de alta velocidade, como a InfiniBand, aplicações com multiprocessamento totalmente acopladas começaram a se beneficiar dos serviços de nuvem também.

Multicloud

O Multicloud é o uso de vários serviços de computação em nuvem em uma única arquitetura heterogênea para reduzir a dependência de fornecedores individuais, aumentar a flexibilidade por meio de opções, mitigar desastres etc. Diferencia-se da nuvem híbrida em se referir a vários serviços em nuvem, em vez de várias implantações modos (público, privado, legado).

Nuvem de BigData

Os problemas para transferir grandes quantidades de dados para a nuvem, assim como segurança desses dados uma vez que esses dados estão na nuvem inicialmente dificultaram a implementação de nuvem para Big Data, mas agora que muitos dados se originam na nuvem e com o advento dos servidores "bare-metal", a nuvem se tornou uma solução para usada para diversos casos, incluindo análise de negócios ("business analytics") e análises geoespaciais ("geospatial analysis").

Nuvem Distribuída

Uma plataforma de computação em nuvem pode ser montada por máquinas distribuídas em diferentes locais, conectadas a uma rede ou a um serviço de hub. Existem dois tipos de nuvem distribuída: computação com recursos públicos ("public-resource computing") e nuvem voluntária ("volunteer cloud").

Computação com recursos públicos: Este tipo de nuvem distribuída é resultado de uma extensa definição de computação em nuvem, porque eles são mais semelhantes à nuvem distribuída do que à computação em nuvem. De qualquer forma, esta é considerada uma subclasse da computação em nuvem, e alguns exemplos incluem plataforma distribuídas de computação como: BOINC e Folding@Home;

Nuvem voluntária: Esta é caracterizada como a interseção entre nuvem distribuída e computação em nuvem, onde a infraestrutura da computação em nuvem é construída utilizando recursos voluntários. Muitos desafios surgem por conta deste tipo de infraestrutura, por causa da volatilidade dos recursos usados para a construção e por conta do ambiente dinâmico em que opera. Esta também pode ser chamada de nuvens de pessoa para pessoa ("peer-to-peer cloud"), ou nuvens "ad-hoc". A Cloud@Home é uma iniciativa interessante nessa direção, ela tem como objetivo implementar uma infraestrutura de computação em nuvem utilizando recursos voluntários provendo um modelo de negócios que incentiva contribuições através de restituição financeira.

Cloud computing sample architecture

Arquitetura de nuvem, os sistemas de arquitetura dos sistemas de software envolvidos na entrega da computação em nuvem, tipicamente envolvem múltiplos componentes de nuvem comunicando-se entre si através de um mecanismo de acoplamento solto, como uma fila de mensagens. O fornecimento elástico implica inteligência no uso de acoplamento rígido ou solto aplicado a mecanismos como esses e outros.

Engenharia de nuvem é a aplicação de disciplinas de engenharia à computação em nuvem. Tal acarreta uma abordagem sistemática para as preocupações de alto nível de comercialização, padronização e governança na concessão, desenvolvimento, operação e manutenção de sistemas de computação em nuvem. É um método multidisciplinar que engloba contribuições de diversas áreas, como sistemas, software, web, desempenho, informação, segurança, plataforma, risco e engenharia de qualidade.

A maior vantagem da computação em nuvem é a possibilidade de utilizar softwares sem que estes estejam instalados no computador. Mas há outras vantagens:

Na maioria das vezes o utilizador não precisa se preocupar com o sistema operacional e hardware que está usando em seu computador pessoal, podendo aceder os seus dados na "nuvem computacional" independentemente disso;

As atualizações dos softwares são feitas de forma automática, sem necessidade de intervenção do utilizador;

O trabalho corporativo e o compartilhamento de arquivos se tornam mais fáceis, uma vez que todas as informações se encontram no mesmo "lugar", ou seja, na "nuvem computacional";

Os softwares e os dados podem ser acedidos em qualquer lugar, basta apenas que haja acesso à Internet, não são mais restritos ao ambiente local de computação, nem dependem da sincronização de mídias removíveis;

O utilizador tem um melhor controle de gastos ao usar aplicativos, pois a maioria dos sistemas de computação em nuvem fornece aplicações gratuitamente e, quando não gratuitas, são pagas somente pelo tempo de utilização dos recursos, paga pelo que consome; Não é necessário pagar por uma licença integral de uso de software;

Diminui a necessidade de manutenção da infraestrutura física de redes locais cliente/servidor, bem como da instalação dos softwares nos computadores corporativos, pois esta fica a cargo do provedor do software em nuvem, bastando que os computadores clientes tenham acesso à Internet;

A infraestrutura necessária para uma solução de computação em nuvem é bem mais enxuta do que uma solução tradicional de hospedagem ou alojamento, consumindo menos energia, refrigeração e espaço físico e consequentemente contribuindo para a preservação e o uso racional dos recursos naturais.

A maior desvantagem da computação em nuvem vem fora do propósito desta, que é o acesso à internet. Caso você perca o acesso, comprometerá todos os sistemas embarcados.

Velocidade de processamento: caso seja necessário uma grande taxa de transferência, se a internet não tiver uma boa banda, o sistema pode ser comprometido. Um exemplo típico é com mídias digitais ou jogos;

Assim como todo tipo de serviço, ele é custeado.

Sete princípios de segurança em uma rede em nuvem:

Acesso privilegiado de utilizador - A sensibilidade de informações confidenciais nas empresas obriga um controle de acesso dos utilizadores e informação bem específica de quem terá privilégio de administrador, para que então esse administrador controle os acessos;

Compliance com regulamentação - As empresas são responsáveis pela segurança, integridade e a confidencialidade de seus próprios dados. Os fornecedores de computação em nuvem devem estar preparados para auditorias externas e certificações de segurança;

Localização dos dados - A empresa que usa cloud provavelmente não sabe exatamente onde os dados estão armazenados, talvez nem o país onde as informações estão guardadas. O fornecedor deve estar disposto a se comprometer a armazenar e a processar dados em jurisdições específicas, assumindo um compromisso em contrato de obedecer os requerimentos de privacidade que o país de origem da empresa pede;

Segregação dos dados - Geralmente uma empresa divide um ambiente com dados de diversos clientes. Procure entender o que é feito para a separação de dados, que tipo de criptografia é segura o suficiente para o funcionamento correto da aplicação;

Recuperação dos dados - O fornecedor em cloud deve saber onde estão os dados da empresa e o que acontece para recuperação de dados em caso de catástrofe. Qualquer aplicação que não replica os dados e a infraestrutura em diversas localidades está vulnerável a falha completa. Importante ter um plano de recuperação completa e um tempo estimado para tal;

Apoio à investigação - A auditabilidade de atividades ilegais pode se tornar impossível na computação em nuvem uma vez que há uma variação de servidores conforme o tempo onde estão localizados os acessos e os dados dos utilizadores. Importante obter um compromisso contratual com a empresa fornecedora do serviço e uma evidência de sucesso no passado para esse tipo de investigação;

Viabilidade em longo prazo - No mundo ideal, o seu fornecedor de computação em nuvem jamais vai falir ou ser adquirido por uma empresa maior. A empresa precisa garantir que os seus dados estarão disponíveis caso o fornecedor de computação em nuvem deixe de existir ou seja migrado para uma empresa maior. Importante haver um plano de recuperação de dados e o formato para que possa ser utilizado em uma aplicação substituta.

Desenho entre os documentos - Nuvem do Google com a face sorrindo ironicamente que irritou aos engenheiros do Google

Revelações da Vigilância pela NSA

Em outubro de 2013 a imprensa publicou, com base nos documentos revelados por Edward Snowden, que através do Programa MUSCULAR, o GCHQ britânico e a NSA secretamente invadiram os principais enlaces de comunicação dos centros de processamento de dados do Yahoo! e do Google ao redor do mundo, tendo acesso aos dados da nuvem de ambos.

Um dos slides de uma apresentação da NSA sobre o programa mostra como este funciona e apresenta um rosto com um sorriso indicando o sucesso da NSA em invadir os sistemas alvo. Em palestra em abril de 2014, o jornalista Barton Gellman disse que quando os engenheiros do Google viram o slide, responderam furiosamente ao ataque ao sistema do Google. Foi também este slide um dos fatores importantes em convencer o jornal Washington Post da necessidade e importância de publicar os documentos revelados por Edward Snowden.

Arquitetura em nuvem é muito mais que apenas um conjunto (embora massivo) de servidores interligados. Requer uma infraestrutura de gerenciamento desse grande fluxo de dados que incluem funções para aprovisionamento e compartilhamento de recursos computacionais, equilíbrio dinâmico do e monitoração do desempenho.

Embora a novidade venha ganhando espaço, ainda é cedo para dizer se dará certo ou não. Os arquivos são guardados na web e os programas colocados na nuvem computacional - e não nos computadores em si - são gratuitos e acessíveis de qualquer lugar. Mas a ideia de que 'tudo é de todos e ninguém é de ninguém' nem sempre é algo bem visto.

O fator mais crítico é a segurança, considerando que os dados ficam "online" o tempo todo.

Os sistemas operacionais para Internet mais utilizados são:

Google Chrome OS: Desenvolvido pela Google, já incorporado nos Chromebooks, disponíveis desde 15 de junho de 2011. Trabalha com uma interface diferente, semelhante ao do Google Chrome, em que todas as aplicações ou arquivos são salvos na nuvem e sincronizados com sua conta do Google, sem necessidade de salvá-los no computador, já que o HD dos dois modelos de Chromebooks anunciados contam com apenas 16gb de HD;

Joli Os: desenvolvido por Tariq Krim, o ambiente de trabalho chamado jolicloud usa tanto aplicativos em nuvem quanto aplicativos offline, baseado no ubuntu notebook remix, já tem suporte a vários navegadores como Google Chrome, Safari, Firefox, e está sendo desenvolvido para funcionar no android;

YouOS: desenvolvido pela empresa WebShaka, cria um ambiente de trabalho inspirado nos sistemas operacionais modernos e utiliza a linguagem Javascript para executar as operações. Ele possui um recurso semelhante à hibernação no MS-Windows XP, em que o utilizador pode salvar a área de trabalho com a configuração corrente, sair do sistema e recuperar a mesma configuração posteriormente. Esse sistema também permite o compartilhamento de arquivos entre os utilizadores. Além disso, possui uma API para o desenvolvimento de novos aplicativos, sendo que já existe uma lista de mais de 700 programas disponíveis. Fechado pelos desenvolvedores em 30 de julho de 2008;

DesktopTwo: desenvolvido pela empresa Sapotek, tem como pré-requisito a presença do utilitário Flash Player para ser utilizado. O sistema foi desenvolvido para prover todos os serviços necessários aos utilizadores, tornando a Internet o principal ambiente de trabalho. Utiliza a linguagem PHP como base para os aplicativos disponíveis e também possui uma API, chamada Sapodesk, para o desenvolvimento de novos aplicativos. Fechado para desenvolvedores;

G.ho.st: Esta sigla significa "Global Hosted Operating SysTem" (Sistema Operacional Disponível Globalmente), tem como diferencial em relação aos outros a possibilidade de integração com outros serviços como: Google Docs, Meebo, ThinkFree, entre outros, além de oferecer suporte a vários idiomas;

eyeOS: Este sistema está sendo desenvolvido por uma comunidade denominada EyeOS Team e possui o código fonte aberto ao público. O objetivo dos desenvolvedores é criar um ambiente com maior compatibilidade com os aplicativos atuais, MS-Office e OpenOffice. Possui um abrangente conjunto de aplicativos, e o seu desenvolvimento é feito principalmente com o uso da linguagem PHP;

iCloud: Sistema lançado pela Apple em 2011, é capaz de armazenar até 50gb de fotos, músicas, documentos, livros e contatos gratuitamente, com a possibilidade de adquirir mais espaço em disco (pago);

Ubuntu One: Ubuntu One é a suíte que a Canonical (Mantenedora da distribuição Linux Ubuntu) usa para seus serviços online. Atualmente com o Ubuntu One é possível fazer backups, armazenamento, sincronização e compartilhamento de arquivos e vários outros serviços que a Canonical adiciona para oferecer mais opções e conforto para os utilizadores;

IBM Cloud: Sistema da IBM que engloba um conjunto de serviços e produtos integrados em nuvem voltados para a empresa. O portfólio incorpora sofisticada tecnologia de automação e autosserviço para tarefas tão diversas como desenvolvimento e teste de software, gerenciamento de computadores e dispositivos, e colaboração;

Dropbox: Dropbox é um sistema de armazenamento em nuvem que inicia-se gratuitamente com 2gb e conforme indica amigos o espaço para armazenamento de arquivos cresce até 50gb. Também tem opções pagas com maior espaço;

OneDrive: Serviço de armazenamento em nuvem da Microsoft com 5gb free e com a possibilidade de adquirir mais espaço. Tem serviços sincronizados com o Windows 8, Windows phone e Xbox.

No Brasil, a tecnologia de computação em nuvem é muito recente, mas está se tornando madura muito rapidamente. Empresas de médio, pequeno e grande porte estão adotando a tecnologia gradativamente. O serviço começou a ser oferecido comercialmente em 2008 e em 2012, ocorreu uma grande adoção.

A empresa Centralx ® foi a primeira a desenvolver a tecnologia em nuvem no Brasil, em 2001. Desenvolvedora de software para consultório médico, em 2001 lançou o HiDoctor ® NET, que permitiu que os dados do software fossem sincronizados com a Internet, de maneira que vários computadores pudessem ser mantidos com os mesmos dados atualizados e ainda que os médicos conseguissem, através de conexão segura com a Internet, aceder aos dados dos seus pacientes. Sendo assim, foi a primeira aplicação a implementar o conceito de "nuvem" e sincronização de dados no Brasil e a Centralx ® a primeira empresa a oferecer a tecnologia para sistemas médicos. A tecnologia de sincronia multiponto e acesso web aos dados do software instalado são usados até hoje pelo programa, que recebe atualizações constantes.

No ano seguinte, 2002, a empresa Katri também desenvolveu a tecnologia no Brasil, batizando-a IUGU. Aplicada inicialmente no site de busca de pessoas físicas e jurídicas Fonelista. Durante o período em que esteve no ar, de 2002 a 2008, os utilizadores do site puderam comprovar a grande diferença de velocidade nas pesquisas proporcionada pelo processamento paralelo.

Em 2009 a tecnologia evoluiu muito e sistemas funcionais desenvolvidos no início da década já passam de sua 3ª geração, incorporando funcionalidades e utilizando de tecnologias como "índices invertidos" ("inverted index").

No ambiente acadêmico o Laboratório de Redes e Gerência da UFSC foi um dos pioneiros a desenvolver pesquisas em Computação em Nuvem publicando artigos sobre segurança, IDS ("Intrusion Detection Systems") e SLA ("Service Level Agreement") para computação em nuvem. Além de implantar e gerenciar uma nuvem privada e computação em nuvem verde.

Existem pouco menos de 10 empresas ofertantes do serviço em nuvens públicas (que podem ser contratadas pela internet em estrutura não privativa e com preços e condições abertas no site) com servidores dentro do Brasil e com baixa latência. A maioria utiliza tecnologia baseada em Xen, KVM, VMWare, Microsoft Hypervisor.

Referências

# data[].attributes.attachment_link.title
Computação em nuvem - Wikipédia, a enciclopédia livre

# data[].attributes.attachment_link.description
Computação em nuvem (em inglês, cloud computing ) é um termo coloquial para a disponibilidade sob demanda de recursos do sistema de computador, especialmente armazenamento de dados e capacidade de computação, sem o gerenciamento ativo direto do utilizador. O termo geralmente é usado para descrever centros de dados disponíveis para muitos utilizadores pela Internet.