Pilha aberta - OpenStack

Pilha aberta
OpenStack® Logo 2016.svg
Autor (es) original (is) Rackspace Hosting e NASA
Desenvolvedor (s) Open Infrastructure Foundation e comunidade
lançamento inicial 21 de outubro de 2010 ; 10 anos atrás ( 2010-10-21 )
Versão estável
Wallaby / 6 de outubro de 2021 ; 9 dias atrás ( 2021-10-06 )
Repositório opendev .org / openstack
Escrito em Pitão
Plataforma Plataforma cruzada
Modelo Computação em nuvem
Licença Licença Apache 2.0
Local na rede Internet www .openstack .org

OpenStack é uma plataforma de computação em nuvem de padrão aberto e gratuita . Ele é implementado principalmente como infraestrutura como serviço (IaaS) em nuvens públicas e privadas, onde servidores virtuais e outros recursos são disponibilizados aos usuários. A plataforma de software consiste em componentes inter-relacionados que controlam diversos conjuntos de hardware de vários fornecedores de recursos de processamento, armazenamento e rede em um data center . Os usuários o gerenciam por meio de um painel baseado na web, por meio de ferramentas de linha de comando ou por meio de serviços da Web RESTful .

O OpenStack começou em 2010 como um projeto conjunto da Rackspace Hosting e NASA . Em 2012, ele era gerenciado pela OpenStack Foundation , uma entidade corporativa sem fins lucrativos criada em setembro de 2012 para promover o software OpenStack e sua comunidade. Em 2018, mais de 500 empresas aderiram ao projeto. Em 2020, a fundação anunciou que seria renomeada para Open Infrastructure Foundation em 2021.

História

Plataforma nebulosa da NASA

Em julho de 2010, a Rackspace Hosting e a NASA anunciaram uma iniciativa de software em nuvem de código aberto conhecido como OpenStack. A missão era "produzir a onipresente plataforma Open Source Cloud Computing que atenderá às necessidades de nuvens públicas e privadas, independentemente do tamanho, por ser simples de implementar e extremamente escalável".

O projeto pretendia ajudar as organizações a oferecer serviços de computação em nuvem rodando em hardware padrão. O primeiro lançamento oficial da comunidade, de codinome Austin, apareceu três meses depois, em 21 de outubro de 2010 , com planos de lançar atualizações regulares do software a cada poucos meses. O código inicial veio da plataforma Nebula da NASA, bem como da plataforma Cloud Files da Rackspace . A pilha de nuvem e os módulos de pilha aberta foram fundidos e lançados como código aberto pela equipe Nebula da NASA em conjunto com a Rackspace.  ( 2010-10-21 )

Em 2011, os desenvolvedores da distribuição Ubuntu Linux adotaram o OpenStack com uma amostra de tecnologia sem suporte do lançamento do OpenStack "Bexar" para o Ubuntu 11.04 " Natty Narwhal ". O patrocinador do Ubuntu, Canonical, então introduziu o suporte completo para nuvens OpenStack, começando com o lançamento do Cactus do OpenStack.

O OpenStack tornou-se disponível no Debian Sid a partir do lançamento do Openstack "Cactus" em 2011, e o primeiro lançamento do Debian incluindo o OpenStack foi o Debian 7.0 (codinome "Wheezy"), incluindo o OpenStack 2012.1 (codinome: "Essex").

Em outubro de 2011, a SUSE anunciou a prévia pública do primeiro dispositivo totalmente configurado com OpenStack da indústria baseado no lançamento do OpenStack "Diablo". Em agosto de 2012, a SUSE anunciou sua distribuição empresarial OpenStack com suporte comercial baseada no lançamento "Essex".

Em novembro de 2012, o The UK's Government Digital Service (GDS) lançou o Inside Government com base no modelo OpenNASA v2.0 Government as a Platform (GaaP).

Lew Tucker, VP e CTO, Cloud Computing da Cisco em 2012

Em 2012, a Red Hat anunciou uma prévia de sua distribuição OpenStack, começando com o lançamento "Essex". Após outro lançamento de pré-lançamento, a Red Hat introduziu o suporte comercial para OpenStack com o lançamento "Grizzly", em julho de 2013.

A organização OpenStack cresceu rapidamente e é apoiada por mais de 540 empresas.

Em 2012, a NASA retirou-se do OpenStack como um contribuidor ativo e, em vez disso, tomou a decisão estratégica de usar Amazon Web Services para serviços baseados em nuvem. Em julho de 2013, a NASA divulgou uma auditoria interna citando a falta de progresso técnico e outros fatores como o principal motivo da agência para desistir como desenvolvedor ativo do projeto e, em vez disso, focar no uso de nuvens públicas. Este relatório é contradito em parte por comentários feitos pelo CIO do Ames Research Center , Ray O'Brien.

Em dezembro de 2013, a Oracle anunciou que havia ingressado no OpenStack como patrocinador e planejava trazer o OpenStack para Oracle Solaris, Oracle Linux e muitos de seus produtos. Em seguida, anunciou as distribuições do Oracle OpenStack para Oracle Solaris e para Oracle Linux usando Icehouse em 24 de setembro de 2014.

Em maio de 2014, a HP anunciou o HP Helion e lançou uma prévia do HP Helion OpenStack Community, começando com o lançamento do IceHouse. A HP opera o HP Helion Public Cloud no OpenStack desde 2012.

No Interop 2014 e no Tech Field Day , a rede definida por software foi demonstrada pela Avaya usando Shortest path bridging e OpenStack como um campus automatizado, estendendo a automação do data center ao dispositivo final, removendo o provisionamento manual da entrega do serviço.

Em março de 2015, a NASA ainda usa a nuvem privada OpenStack e tem RFPs para suporte à nuvem pública OpenStack.

Nomes históricos

Vários projetos OpenStack mudaram de nome devido a problemas de marca registrada.

  • Neutron era conhecido anteriormente como Quantum.
  • Sahara costumava ser chamado de Savanna.
  • Designado era anteriormente conhecido como Moniker.
  • Trove era conhecido anteriormente como RedDwarf.
  • Zaqar era conhecido anteriormente como Marconi.

Histórico de lançamento

Nome de lançamento Data de lançamento Nomes de código de componentes incluídos
Austin 21 de outubro de 2010 Nova, Swift
Bexar 3 de fevereiro de 2011 Nova, Glance, Swift
Cacto 15 de abril de 2011 Nova, Glance, Swift
Diablo 22 de setembro de 2011 Nova, Glance, Swift
Essex 5 de abril de 2012 Nova, Glance, Swift, Horizon, Keystone
Folsom 27 de setembro de 2012 Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder
Grizzly 4 de abril de 2013 Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder
Havana 17 de outubro de 2013 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer
Icehouse 17 de abril de 2014 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove
Juno 16 de outubro de 2014 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara
Quilo 30 de abril de 2015 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic
Liberdade 16 de outubro de 2015 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight
Mitaka 7 de abril de 2016 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum
Newton 6 de outubro de 2016 Nova, Relance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher
Ocata 22 de fevereiro de 2017 Nova, Relance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher
Pique 30 de agosto de 2017 Nova, Relance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher
Rainhas 28 de fevereiro de 2018 Nova, Relance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, ceilometer-powervm, karbor, octavia, storlets, tricírculo, zun
Rochoso 30 de agosto de 2018 Nova, Relance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, ceilometer-powervm, karbor, octavia, storlets, tricircle, zun, Cyborg, ec2-api, Masakari, Qinling (40 serviços)
Stein 10 de abril de 2019 Nova, Relance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, ceilometer-powervm, karbor, octavia, storlets, tricircle, zun, Cyborg, ec2-api, Masakari, Qinling, monasca-events- api, colocação (44 serviços)
Trem 16 de outubro de 2019 Nova, Relance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, ceilometer-powervm, karbor, octavia, storlets, tricircle, zun, Cyborg, ec2-api, Masakari, Qinling, monasca-events- api, colocação (44 serviços)
Ussuri 13 de maio de 2020 Nova, Relance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, karbor, octavia, storlets, tricircle, zun, Cyborg, ec2-api, Masakari, Qinling, monasca-events-api, colocação, ajudante (44 serviços)
Victoria 14 de outubro de 2020 Adjutor, Aodh, Barbican, Blazar, Ceilometer, Cinder, Cloudkitty, Cyborg, Designate, Ec2-api, Freezer, Glance, Heat, Horizon, Ironic, Karbor, Keystone, Magnum, Manila, Masakari, Mistral, Monasca-api, Monasca- events-api, Murano, Neutron, Nova, Octavia, Panko, Placement, Qinling, Sahara, Searchlight, Senlin, Solum, Storlets, Swift, Tacker, Trove, Vitrage, Watcher, Zaqar, Zun (42 serviços)
Wallaby 14 de abril de 2021 Adjutor, Aodh, Barbican, Blazar, Ceilometer, Cinder, Cloudkitty, Cyborg, Designate, Ec2-api, Freezer, Glance, Heat, Horizon, Ironic, Keystone, Magnum, Manila, Masakari, Mistral, Monasca-api, Monasca-events- api, Murano, Neutron, Nova, Octavia, Panko, Placement, Sahara, Senlin, Solum, Storlets, Swift, Tacker, Trove, Vitrage, Watcher, Zaqar, Zun (39 serviços)

Desenvolvimento OpenStack

A comunidade OpenStack colabora em um ciclo de lançamento baseado em tempo de seis meses com marcos de desenvolvimento frequentes.

Durante a fase de planejamento de cada versão, a comunidade se reunia para um OpenStack Design Summit para facilitar as sessões de trabalho do desenvolvedor e montar planos. Esses Design Summits coincidiriam com a conferência OpenStack Summit.

Começando com o ciclo de desenvolvimento do Pike, a atividade de encontro de design foi separada em um evento separado do Project Teams Gathering (PTG). Isso foi feito para evitar as distrações do desenvolvedor causadas por apresentações e reuniões com clientes que estavam acontecendo no OpenStack Summit e para permitir que as discussões de design acontecessem antes do início do próximo ciclo.

Os OpenStack Summits recentes ocorreram em Xangai de 4 a 6 de novembro de 2019, Denver de 29 de abril a 1 de maio de 2019, Berlim de 13 a 19 de novembro de 2018, Vancouver de 21 a 25 de maio de 2018, Sydney de 6 a 8 de novembro de 2017, Boston em 8–11 de maio de 2017, Austin em 25–29 de abril de 2016 e Barcelona em 25–28 de outubro de 2016. Os encontros anteriores do OpenStack ocorreram também em Tóquio em outubro de 2015, Vancouver em maio de 2015 e Paris em novembro de 2014. O encontro em Maio de 2014 em Atlanta atraiu 4.500 participantes - um aumento de 50% em relação à cúpula de Hong Kong seis meses antes.

Componentes

O OpenStack é dividido em serviços para permitir que você conecte e execute componentes de acordo com suas necessidades. O mapa do OpenStack oferece uma visão “rápida” do cenário do OpenStack para ver onde esses serviços se encaixam e como eles podem trabalhar juntos.


O OpenStack possui uma arquitetura modular com vários nomes de código para seus componentes.

Compute (Nova)

Nova é o projeto OpenStack que fornece uma maneira de provisionar instâncias de computação como máquinas virtuais, servidores de hardware reais (por meio do uso de irônico) e tem suporte limitado para contêineres de sistema. O Nova é executado como um conjunto de daemons em cima dos servidores Linux existentes para fornecer esse serviço.

Nova é escrita em Python . Ele usa muitas bibliotecas Python externas, como Eventlet (biblioteca de rede simultânea), Kombu ( estrutura de mensagens AMQP ) e SQLAlchemy (kit de ferramentas SQL e Mapeador Relacional de Objeto). Nova foi projetada para ser horizontalmente escalável . Em vez de mudar para servidores maiores, você adquire mais servidores e simplesmente instala serviços configurados de forma idêntica.

Devido à sua ampla integração em infraestruturas de nível corporativo, monitorar o desempenho do OpenStack em geral e do Nova em particular, o dimensionamento tornou-se uma questão cada vez mais importante. Monitorar o desempenho de ponta a ponta requer o rastreamento de métricas de Nova, Keystone, Neutron, Cinder, Swift e outros serviços, além de monitorar RabbitMQ que é usado pelos serviços OpenStack para passagem de mensagens. Todos esses serviços geram seus próprios arquivos de log, que, especialmente em infraestruturas de nível corporativo, também devem ser monitorados.

Networking (Neutron)

Neutron é um projeto OpenStack para fornecer “conectividade de rede como um serviço” entre dispositivos de interface (por exemplo, vNICs) gerenciados por outros serviços OpenStack (por exemplo, nova). Ele implementa a API OpenStack Networking.

Ele gerencia todas as facetas de rede para a infraestrutura de rede virtual (VNI) e os aspectos da camada de acesso da infraestrutura de rede física (PNI) no ambiente OpenStack. O OpenStack Networking permite que os projetos criem topologias de rede virtual avançadas que podem incluir serviços como um firewall e uma rede privada virtual (VPN).

Neutron permite endereços IP estáticos dedicados ou DHCP . Ele também permite que endereços IP flutuantes permitam que o tráfego seja redirecionado dinamicamente.

Os usuários podem usar tecnologias de rede definida por software (SDN) como OpenFlow para oferecer suporte a multilocação e escala. A rede OpenStack pode implantar e gerenciar serviços de rede adicionais - como sistemas de detecção de intrusão (IDS), balanceamento de carga , firewalls e redes virtuais privadas (VPN).

Armazenamento em bloco (Cinder)

Cinder é o serviço OpenStack Block Storage para fornecer volumes para máquinas virtuais Nova, hosts de bare metal Ironic, contêineres e muito mais. Alguns dos objetivos do Cinder são ser / ter:

  • Arquitetura baseada em componentes : adicione novos comportamentos rapidamente
  • Altamente disponível : escala para cargas de trabalho muito graves
  • Tolerante a Falhas : Processos isolados evitam falhas em cascata
  • Recuperável : as falhas devem ser fáceis de diagnosticar, depurar e retificar
  • Padrões abertos : seja uma implementação de referência para uma API voltada para a comunidade

Os volumes Cinder fornecem armazenamento persistente para máquinas virtuais convidadas - conhecidas como instâncias, que são gerenciadas pelo software OpenStack Compute. O Cinder também pode ser usado independentemente de outros serviços OpenStack como armazenamento autônomo definido por software. O sistema de armazenamento em bloco gerencia a criação, replicação, gerenciamento de instantâneos, anexando e desanexando os dispositivos de bloco aos servidores.

Identidade (Keystone)

Keystone é um serviço OpenStack que fornece autenticação de cliente API, descoberta de serviço e autorização de multilocação distribuída por meio da implementação da API de identidade do OpenStack. É o sistema de autenticação comum em todo o sistema operacional em nuvem. O Keystone pode se integrar com serviços de diretório como LDAP . Ele oferece suporte a credenciais de nome de usuário e senha padrão, sistemas baseados em token e logins no estilo AWS (ou seja, Amazon Web Services ). O catálogo de serviços do OpenStack keystone permite que os clientes API descubram e naveguem dinamicamente para os serviços em nuvem.

Imagem (relance)

O projeto de serviço de imagem (relance) fornece um serviço onde os usuários podem fazer upload e descobrir ativos de dados que devem ser usados ​​com outros serviços. Isso atualmente inclui imagens e definições de metadados.

Imagens

Os serviços de imagem instantânea incluem descobrir, registrar e recuperar imagens de máquina virtual (VM). O Glance tem uma API RESTful que permite a consulta de metadados de imagem VM, bem como a recuperação da imagem real. As imagens VM disponibilizadas através do Glance podem ser armazenadas em uma variedade de locais, desde sistemas de arquivos simples até sistemas de armazenamento de objetos, como o projeto OpenStack Swift .

Definições de metadados

O Glance hospeda um catálogo da metadefs. Isso fornece à comunidade OpenStack uma maneira de determinar programaticamente vários nomes de chave de metadados e valores válidos que podem ser aplicados aos recursos do OpenStack.

Armazenamento de objetos (Swift)

Swift é um armazenamento de objeto / blob distribuído e eventualmente consistente. O projeto OpenStack Object Store, conhecido como Swift, oferece software de armazenamento em nuvem para que você possa armazenar e recuperar muitos dados com uma API simples. Ele foi desenvolvido para ser dimensionado e otimizado para durabilidade, disponibilidade e simultaneidade em todo o conjunto de dados. O Swift é ideal para armazenar dados não estruturados que podem crescer sem limites.

Em agosto de 2009, a Rackspace iniciou o desenvolvimento do precursor do OpenStack Object Storage, como um substituto completo para o produto Cloud Files . A equipe de desenvolvimento inicial consistia em nove desenvolvedores. SwiftStack , uma empresa de software de armazenamento de objetos, é atualmente o desenvolvedor líder para Swift com contribuições significativas da Intel , Red Hat , NTT , HP , IBM e muito mais.

Painel (Horizon)

Horizon é a implementação canônica do OpenStack's Dashboard, que fornece uma interface de usuário baseada na web para serviços OpenStack, incluindo Nova, Swift, Keystone, etc. Horizon vem com três painéis centrais, um “User Dashboard”, um “System Dashboard” e um “ Painel de controle de configurações. Entre esses três, eles cobrem os principais aplicativos OpenStack e oferecem suporte básico. O aplicativo Horizon também vem com um conjunto de abstrações de API para os principais projetos do OpenStack, a fim de fornecer um conjunto consistente e estável de métodos reutilizáveis ​​para desenvolvedores. Usando essas abstrações, os desenvolvedores que trabalham no Horizon não precisam estar intimamente familiarizados com as APIs de cada projeto OpenStack.

Orquestração (Calor)

Heat é um serviço para orquestrar vários aplicativos de nuvem compostos usando modelos, por meio de uma API REST nativa do OpenStack e uma API de consulta compatível com CloudFormation.

Fluxo de Trabalho (Mistral)

Mistral é um serviço que gerencia fluxos de trabalho. O usuário normalmente grava um fluxo de trabalho usando a linguagem de fluxo de trabalho com base em YAML e carrega a definição do fluxo de trabalho para o Mistral por meio de sua API REST. Em seguida, o usuário pode iniciar este fluxo de trabalho manualmente por meio da mesma API ou configurar um gatilho para iniciar o fluxo de trabalho em algum evento.

Telemetria (Ceilômetro)

A Telemetria OpenStack (Ceilômetro) fornece um Ponto Único de Contato para sistemas de faturamento, fornecendo todos os contadores necessários para estabelecer o faturamento do cliente, em todos os componentes OpenStack atuais e futuros. A entrega de contadores é rastreável e auditável, os contadores devem ser facilmente extensíveis para suportar novos projetos e os agentes que fazem coletas de dados devem ser independentes do sistema geral.

Banco de dados (Trove)

Trove é um banco de dados como um serviço de provisionamento relacional e um mecanismo de banco de dados não relacional .

Redução do mapa elástico (Saara)

Sahara é um componente para provisionar clusters do Hadoop de maneira fácil e rápida . Os usuários especificarão vários parâmetros, como o número da versão do Hadoop, o tipo de topologia do cluster, detalhes do tipo de nó (definição de espaço em disco, configurações de CPU e RAM) e outros. Depois que um usuário fornece todos os parâmetros, o Sahara implementa o cluster em alguns minutos. O Sahara também fornece meios para dimensionar um cluster Hadoop preexistente, adicionando e removendo nós de trabalho sob demanda.

Metal puro (irônico)

Ironic é um projeto OpenStack que provisiona máquinas bare metal em vez de máquinas virtuais. Ele foi inicialmente bifurcado do driver da Nova Baremetal e evoluiu para um projeto separado. É melhor pensado como uma API de hipervisor bare-metal e um conjunto de plug-ins que interagem com as máquinas bare-metal gerenciadas pelo Ironic. Por padrão, ele usará PXE e IPMI ou Redfish em conjunto para provisionar e gerenciar máquinas físicas, mas o Ironic oferece suporte e pode ser estendido com plug-ins específicos do fornecedor para implementar funcionalidades adicionais.

Desde o início do Ironic, ele gerou vários subprojetos para ajudar a oferecer suporte a casos de uso e recursos adicionais. Alguns dos projetos mais comumente aproveitados incluem Ironic-Inspector, Bifrost, Sushy e networking-generic-switch. Ironic-inspector fornece coleta de informações de hardware e descoberta de hardware. Bifrost foca no caso de uso de operar sem outros componentes do OpenStack e é destacado no site ironicbaremetal.org . Sushy é uma biblioteca cliente de API Redfish leve. Networking-generic-switch é um plugin que suporta o gerenciamento de configuração de switchport para máquinas bare metal.

Mensagens (Zaqar)

Zaqar é um serviço de mensagens em nuvem multilocatário para desenvolvedores da web. O serviço apresenta uma API totalmente RESTful, que os desenvolvedores podem usar para enviar mensagens entre vários componentes de seus aplicativos SaaS e móveis usando uma variedade de padrões de comunicação. Subjacente a esta API está um mecanismo de sistema de mensagens eficiente projetado com escalabilidade e segurança em mente. Outros componentes do OpenStack podem se integrar ao Zaqar para eventos de superfície para usuários finais e para se comunicar com agentes convidados que são executados na camada "over-cloud".

Sistema de arquivos compartilhados (Manila)

O OpenStack Shared File System (Manila) fornece uma API aberta para gerenciar compartilhamentos em uma estrutura independente de fornecedor. Os primitivos padrão incluem a capacidade de criar, excluir e conceder / negar acesso a um compartilhamento e podem ser usados ​​independentemente ou em uma variedade de ambientes de rede diferentes. Dispositivos comerciais de armazenamento da EMC, NetApp, HP, IBM, Oracle, Quobyte, INFINIDAT e Hitachi Data Systems são suportados, bem como tecnologias de sistema de arquivos, como Red Hat GlusterFS ou Ceph.

DNS (Designado)

Designate é uma API REST multilocatária para gerenciamento de DNS. Este componente fornece DNS como um serviço e é compatível com muitas tecnologias de back-end, incluindo PowerDNS e BIND. Ele não fornece um serviço DNS, já que sua finalidade é fazer interface com os servidores DNS existentes para gerenciar zonas DNS por locatário.

Pesquisa (holofote)

O projeto não é mais mantido ativamente.

O Searchlight fornece recursos de pesquisa avançados e consistentes em vários serviços de nuvem OpenStack. Ele faz isso descarregando as consultas de pesquisa do usuário de outros servidores da API OpenStack indexando seus dados no ElasticSearch . O Searchlight está sendo integrado ao Horizon e também fornece uma interface de linha de comando .

Gerente principal (Barbican)

Barbican é uma API REST projetada para o armazenamento seguro, provisionamento e gerenciamento de segredos. Destina-se a ser útil para todos os ambientes, incluindo grandes nuvens efêmeras.

Orquestração de contêineres (Magnum)

Magnum é um serviço de API OpenStack desenvolvido pela OpenStack Containers Team, tornando mecanismos de orquestração de contêineres, como Docker Swarm, Kubernetes e Apache Mesos, disponíveis como recursos de primeira classe no OpenStack. Magnum usa Heat para orquestrar uma imagem do sistema operacional que contém Docker e Kubernetes e executa essa imagem em máquinas virtuais ou bare metal em uma configuração de cluster.

Análise de causa raiz (Vitrage)

Vitrage é o serviço OpenStack RCA (Root Cause Analysis) para organizar, analisar e expandir alarmes e eventos OpenStack, gerando insights sobre a causa raiz dos problemas e deduzindo sua existência antes de serem detectados diretamente.

Ações de alarme baseadas em regras (Aodh)

Este serviço de alarme permite disparar ações com base em regras definidas contra dados de métricas ou eventos coletados por Ceilometer ou Gnocchi.

Compatibilidade com outras APIs de nuvem

O OpenStack não busca compatibilidade com APIs de outras nuvens. No entanto, há alguma compatibilidade impulsionada por vários membros da comunidade OpenStack para quem essas coisas são importantes.

Governança

O OpenStack é administrado por uma fundação sem fins lucrativos e seu conselho de diretores, um comitê técnico e um comitê de usuários. O conselho de administração é composto por oito membros de cada um dos oito patrocinadores platina, oito membros dos 24 patrocinadores ouro máximos permitidos definidos e oito membros eleitos pelos membros individuais da Fundação.

Eletrodomésticos

Um OpenStack Appliance é o nome dado ao software que pode suportar a plataforma de computação em nuvem OpenStack em dispositivos físicos, como servidores ou máquinas virtuais, ou uma combinação dos dois. Normalmente, um dispositivo de software é um conjunto de recursos de software que podem funcionar sem um sistema operacional. Portanto, eles devem conter uma quantidade suficiente dos componentes essenciais do sistema operacional subjacente para funcionar. Portanto, uma definição estrita pode ser: um aplicativo projetado para oferecer o recurso OpenStack sem a necessidade de um sistema operacional subjacente. No entanto, aplicar essa definição estrita pode não ser útil, pois não há realmente uma distinção clara entre um aparelho e uma distribuição . Pode-se argumentar que o termo dispositivo é um nome impróprio porque o próprio OpenStack é referido como um sistema operacional em nuvem, portanto, usar o termo dispositivo OpenStack pode ser um nome impróprio se alguém estiver sendo pedante.

Se olharmos para a gama de dispositivos e distribuições, pode-se fazer a distinção de que as distribuições são aqueles conjuntos de ferramentas que tentam fornecer uma ampla cobertura do escopo do projeto OpenStack, enquanto um dispositivo terá um foco mais estreito, concentrando-se em menos projetos. Os fornecedores estão fortemente envolvidos no OpenStack desde seu início e, desde então, desenvolveram e estão comercializando uma ampla variedade de aparelhos, aplicativos e distribuições.

Vendedores

Um grande número de fornecedores oferece soluções OpenStack, o que significa que uma organização que deseja implementar a tecnologia tem uma tarefa complexa em selecionar a oferta do fornecedor que melhor atenda aos seus requisitos de negócios. Barb Darrow ofereceu esta visão geral na Fortune em 27 de maio de 2015, apontando que pode haver alguma consolidação no mercado que irá esclarecer essas decisões.

Existem outros aspectos que os usuários precisam considerar, por exemplo, os custos reais envolvidos. Alguns fornecedores farão uma oferta que abrange a maioria dos projetos OpenStack; outros oferecerão apenas determinados componentes. Outras considerações incluem a extensão do código proprietário usado para gerenciar a falta de maturidade em um componente OpenStack e até que ponto isso incentiva o aprisionamento do fornecedor.

As informações mais confiáveis ​​sobre produtos de fornecedores estão no site da Open Infrastructure Foundation.

Desafios para implementação

O OpenStack é uma entidade complexa e os adotantes enfrentam uma série de desafios ao tentar implementar o OpenStack em uma organização. Para muitas organizações que estão tentando implementar seus próprios projetos, uma questão importante é a falta de habilidades disponíveis. Em um artigo sobre The New Stack , Atul JHA identifica cinco desafios que qualquer organização que deseja implantar o OpenStack enfrentará.

Desafios de instalação

O OpenStack é um conjunto de projetos em vez de um único produto e, como cada um dos vários aplicativos precisa ser configurado para atender aos requisitos do usuário, a instalação é complexa e requer uma variedade de conjuntos de habilidades complementares para uma configuração ideal. Uma solução óbvia seria pegar um pacote completo fornecido pelo fornecedor contendo hardware e software, embora a devida diligência seja essencial.

Documentação

Isso é mais uma função da natureza da documentação com produtos de código aberto do que o OpenStack em si, mas com mais de 25 projetos, gerenciar a qualidade dos documentos sempre será um desafio.

Atualizando OpenStack

Um dos principais objetivos do uso de infraestrutura do tipo nuvem é que ela ofereça aos seus usuários não apenas alta confiabilidade, mas também alta disponibilidade, algo que os fornecedores de nuvem pública oferecerão em Acordos de Nível de Serviço.

Devido à abordagem de desenvolvimento de vários projetos do OpenStack, a complexidade envolvida na sincronização dos diferentes projetos durante uma implementação de upgrade pode significar que o tempo de inatividade é inevitável .

Suporte de longo termo

É bastante comum para uma empresa continuar usando uma versão anterior do software por algum tempo após a atualização. As razões para isso são bastante óbvias e mencionadas acima. No entanto, há pouco incentivo para que os desenvolvedores em um projeto de código aberto forneçam suporte para código substituído. Além disso, o próprio OpenStack descontinuou formalmente o suporte para alguns lançamentos antigos.

Dados os desafios acima, o caminho mais apropriado para uma organização que deseja implementar o OpenStack seria ir com um fornecedor e obter um dispositivo ou distribuição OpenStack.

Comercial

O OpenStack possui uma grande variedade de usuários, de vários setores diferentes. Usuários notáveis ​​incluem:

Modelos de implantação

À medida que o projeto OpenStack amadurece, os fornecedores são pioneiros em várias maneiras de os clientes implantarem o OpenStack:

Nuvem pública baseada em OpenStack
Um fornecedor fornece um sistema de computação em nuvem pública baseado no projeto OpenStack.
Distribuição local
Neste modelo, um cliente baixa e instala uma distribuição OpenStack em sua rede interna. Veja Distribuições.
Nuvem privada OpenStack hospedada
Um fornecedor hospeda uma nuvem privada baseada em OpenStack: incluindo o hardware subjacente e o software OpenStack.
OpenStack-as-a-Service
Um fornecedor hospeda o software de gerenciamento OpenStack (sem nenhum hardware) como um serviço. Os clientes se inscrevem no serviço e emparelham-no com seus servidores internos, armazenamento e redes para obter uma nuvem privada totalmente operacional.
OpenStack baseado em dispositivo
A Nebula era um fornecedor que vendia aparelhos que podiam ser conectados a uma rede que gerou uma implantação do OpenStack.

Distribuições

Veja também

Referências

links externos