Python na nuvem: OpenStack Swift

646 visualizações

Publicada em

Material apresentado no VIII Pylestras: http://www.pylestras.org/

Publicada em: Software
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
646
No SlideShare
0
A partir de incorporações
0
Número de incorporações
123
Ações
Compartilhamentos
0
Downloads
10
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Python na nuvem: OpenStack Swift

  1. 1. 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
  2. 2. 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)
  3. 3. 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
  4. 4. O que é OpenStack?
  5. 5. Principais módulos do OpenStack
  6. 6. 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.
  7. 7. 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;
  8. 8. Arquitetura OpenStack-Swift
  9. 9. OpenStack-Swift Rings - Basic Hashing
  10. 10. OpenStack-Swift Rings - Consistent Hashing
  11. 11. 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.
  12. 12. 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.
  13. 13. 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.
  14. 14. 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
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. Exemplos Vamos para a prática!
  19. 19. 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
  20. 20. 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.

×