SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
Python na nuvem
OpenStack Swift
Denis Cavalcante: denis.cavalcante@lsbd.ufc.br
dencaval@gmail.com
Elvis Teixeira: elvis.teixeira@lsbd.ufc.br
elvismtt@gmail.com
OpenStack
- Escrito em python
- Open Source (Licença Apache 2.0)
- Comunidade ativa
- > 1500 contribuidores
- > 100 empresas
- > 250 projetos (módulos, clients, especificações…)
- Summit Event a cada 6 meses
- Lançamento de release a cada 6 meses
- Não há vendor lock-in (Grande disponbilidade de
drivers por diversas empresas)
O que é computação em nuvem
- Recursos remotos disponíveis e orquestrados.
- Cliente consome serviços ao invés de produtos.
- Flexibiliza e possibilita escalabilidade.
- Consumo otimizado dos recursos.
- IaaS PaaS DevaaS SaaS DBaaS EaaS
O que é OpenStack?
Principais módulos do OpenStack
Tipos de armazenamento
- Armazenamento em blocos.
- Tipo básico de armazenamento em discos.
- Sistemas de arquivos
- Tipo mais conhecido, organizado hierarquicamente.
- Armazenamento de objetos
- Armazena objetos imutáveis.
- Metadados arbitrários.
- Objetos tem um identificador universal.
OpenStack-Swift
- Serviço de armazenamento de objetos do
OpenStack;
- Massivamente escalável
- Sem ponto único de falha;
- Oferece interfaces via HTTP/REST, CLI, python e
wrappers para outras linguagens;
Arquitetura OpenStack-Swift
OpenStack-Swift Rings
- Basic Hashing
OpenStack-Swift Rings
- Consistent Hashing
Replicação
- O swift cluster é otimizado para armazenar suas
replicas em diferentes zonas e regiões;
- Não é necessário RAID.
- O Swift suporta múltiplas políticas de replicação.
Consistência Eventual
- Teorema CAP: Impossibilidade de se obter ao mesmo
tempo “Consistência”, “Disponibilidade” e “Tolerância a
particionamento”
- O Swift prioriza disponibilidade e tolerância a
particionamento.
- O Swift encara o problema da consistência por
meio de serviços auxiliares que verificam o
cluster periodicamente.
Consistência eventual Swift
- Replicator
- Verifica a integridade das réplicas e conserta as mesmas
transferindo de um nó para outro via RSync
- Deleta objetos marcados e deixa uma lápide no lugar.
- Auditor
- Verifica se os objetos não estão corrompidos.
- Updater
- Atualiza as listas de objetos nos containers.
OpenStack Swift Client
- Swiftclient python lib
- Dashboard / CLI / Others
- Requisições REST
- Object Storage API v1
- Gerencia accounts, containers, e objects.
- http://developer.openstack.org/api-ref-objectstorage-v1.html
V1 API - Accounts
- GET
/v1/​{account}​
Show account details and list containers
- POST
/v1/​{account}​
Create, update, or delete account metadata
- HEAD
/v1/​{account}​
Show account metadata
V1 API - Containers
- GET
/v1/​{account}​/​{container}​
Show container details and list objects
- PUT
/v1/​{account}​/​{container}​
Create container
- DELETE
/v1/​{account}​/​{container}​
Delete container
- POST
/v1/​{account}​/​{container}​
Create, update, or delete container metadata
- HEAD
/v1/​{account}​/​{container}​
Show container metadata
V1 API - Objects
- GET
/v1/​{account}​/​{container}​/​{object}​
Get object content and metadata
- PUT
/v1/​{account}​/​{container}​/​{object}​
Create or replace object
- COPY
/v1/​{account}​/​{container}​/​{object}​
Copy object
- DELETE
/v1/​{account}​/​{container}​/​{object}​
Delete object
- HEAD
/v1/​{account}​/​{container}​/​{object}​
Show object metadata
- POST
/v1/​{account}​/​{container}​/​{object}​
Create or update object metadata
Exemplos
Vamos para a prática!
Obrigado!
Denis Cavalcante:
denis.cavalcante@lsbd.ufc.br
dencaval@gmail.com
https://www.linkedin.com/in/deniscavalcante
Elvis Teixeira:
elvis.teixeira@lsbd.ufc.br
elvismtt@gmail.com
https://www.linkedin.com/in/elvisteixeira
Links
https://www.openstack.org/
http://www.openstack.org/software/
http://docs.openstack.org/juno/install-guide/install/apt/content/ch_overview.
html#architecture_overview
http://vmiss.net/openstack/openstack-swift-how-many-rings-to-rule-them-all/
http://michaelnielsen.org/blog/consistent-hashing/
https://julien.danjou.info/blog/2012/openstack-swift-consistency-analysis
https://ihong5.wordpress.com/tag/consistent-hashing-algorithm/
Eric Brewer, “CAP twelve years later: How the "rules" have changed”, IEEE Explore,
Volume 45, Issue 2 (2012), pg. 23-29.

Weitere ähnliche Inhalte

Ähnlich wie Python na nuvem: OpenStack Swift

Desenvolvendo para o Windows Azure e SQL Azure
Desenvolvendo para o Windows Azure e SQL AzureDesenvolvendo para o Windows Azure e SQL Azure
Desenvolvendo para o Windows Azure e SQL AzureLuciano Condé
 
Apresentação Openstack - FISL 2013
Apresentação Openstack - FISL 2013Apresentação Openstack - FISL 2013
Apresentação Openstack - FISL 2013Marcelo Dieder
 
Aula03 - protocolo ldap
Aula03 -  protocolo ldapAula03 -  protocolo ldap
Aula03 - protocolo ldapCarlos Veiga
 
Escalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuáriosEscalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuáriosAmazon Web Services LATAM
 
Path to the future #2 - Internet das coisas com AWS IoT
Path to the future #2 - Internet das coisas com AWS IoTPath to the future #2 - Internet das coisas com AWS IoT
Path to the future #2 - Internet das coisas com AWS IoTAmazon Web Services LATAM
 
Apresentação no Meetup da Elastic em Florianopolis
Apresentação no Meetup da Elastic em FlorianopolisApresentação no Meetup da Elastic em Florianopolis
Apresentação no Meetup da Elastic em Florianopolisluis antonio Nunes
 
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018Renato Groff
 
Do zero ao openstack - Kelvin Soares
Do zero ao openstack - Kelvin SoaresDo zero ao openstack - Kelvin Soares
Do zero ao openstack - Kelvin SoaresKelvin V. Soares
 
Introdução ao Kafka
Introdução ao KafkaIntrodução ao Kafka
Introdução ao KafkaDavi Alves
 
Aws sao paulo summit 2015 elasti cache avancado
Aws sao paulo summit 2015   elasti cache avancadoAws sao paulo summit 2015   elasti cache avancado
Aws sao paulo summit 2015 elasti cache avancadoAmazon Web Services LATAM
 
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvensTecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvensAlessandro Binhara
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...Renato Groff
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...Renato Groff
 
Infraestrutura com openstack e linux
Infraestrutura com openstack e linuxInfraestrutura com openstack e linux
Infraestrutura com openstack e linuxMarcelo R. de Sá
 
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...Tchelinux
 

Ähnlich wie Python na nuvem: OpenStack Swift (20)

Desenvolvendo para o Windows Azure e SQL Azure
Desenvolvendo para o Windows Azure e SQL AzureDesenvolvendo para o Windows Azure e SQL Azure
Desenvolvendo para o Windows Azure e SQL Azure
 
Apresentação Openstack - FISL 2013
Apresentação Openstack - FISL 2013Apresentação Openstack - FISL 2013
Apresentação Openstack - FISL 2013
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
 
Aula03 - protocolo ldap
Aula03 -  protocolo ldapAula03 -  protocolo ldap
Aula03 - protocolo ldap
 
Apache e Java
Apache e JavaApache e Java
Apache e Java
 
Escalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuáriosEscalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuários
 
Primeiros Passos Com Elasticsearch
Primeiros Passos Com ElasticsearchPrimeiros Passos Com Elasticsearch
Primeiros Passos Com Elasticsearch
 
Path to the future #2 - Internet das coisas com AWS IoT
Path to the future #2 - Internet das coisas com AWS IoTPath to the future #2 - Internet das coisas com AWS IoT
Path to the future #2 - Internet das coisas com AWS IoT
 
Apresentação no Meetup da Elastic em Florianopolis
Apresentação no Meetup da Elastic em FlorianopolisApresentação no Meetup da Elastic em Florianopolis
Apresentação no Meetup da Elastic em Florianopolis
 
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
 
Do zero ao openstack - Kelvin Soares
Do zero ao openstack - Kelvin SoaresDo zero ao openstack - Kelvin Soares
Do zero ao openstack - Kelvin Soares
 
Docker.io:
Docker.io: Docker.io:
Docker.io:
 
Introdução ao Kafka
Introdução ao KafkaIntrodução ao Kafka
Introdução ao Kafka
 
Aws sao paulo summit 2015 elasti cache avancado
Aws sao paulo summit 2015   elasti cache avancadoAws sao paulo summit 2015   elasti cache avancado
Aws sao paulo summit 2015 elasti cache avancado
 
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvensTecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvens
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
 
Ferramentas open-source
Ferramentas open-sourceFerramentas open-source
Ferramentas open-source
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
 
Infraestrutura com openstack e linux
Infraestrutura com openstack e linuxInfraestrutura com openstack e linux
Infraestrutura com openstack e linux
 
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
 

Python na nuvem: OpenStack Swift