SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Wednesday, July 27, 11
Swift Overview


                                           John Dickinson
                              Swift Project Technical Lead



Wednesday, July 27, 11
What We’ll Cover

                ‣   Intro to Swift
                ‣   Architectural Overview
                ‣   Best Practices for Deploying
                ‣   Future work




Wednesday, July 27, 11
Swift is Scalable Storage

                ‣    Scales as the cluster grows
                ‣    Designed to run on commodity hardware
                ‣    No single point of failure




Wednesday, July 27, 11
Swift is not

                ‣   RAID
                ‣   Distributed Filesystem
                ‣   CDN
                ‣   SAN/NAS/DAS




Wednesday, July 27, 11
Swift Use Cases

                ‣   Multi-tenant
                ‣   Backups
                    ‣    Typically large
                    ‣    Write-once, read-never
                ‣   Web Content
                    ‣    Typically small
                    ‣    Write-many, read-very-many



Wednesday, July 27, 11
Swift Use Cases (cont.)

                ‣   Document management
                ‣   Medical imaging
                ‣   Disaster recovery
                ‣   Caching
                ‣   Storage appliances
                ‣   Scientific data




Wednesday, July 27, 11
Example Usage

                ‣   Standard HTTP verbs
                ‣   Standard HTTP response codes




Wednesday, July 27, 11
Designing Swift

                ‣   At scale, everything breaks
                    ‣    Design for failure
                    ‣    The “Happy Path” is trivial
                ‣   At scale, even rare events happen a lot
                ‣   “Simple is better than complex.”




Wednesday, July 27, 11
Swift History

                ‣   Rackspace Cloud Files (circa 2008)
                    ‣    Distributed Storage
                    ‣    Centralized Metadata




Wednesday, July 27, 11
Swift History (cont.)

                ‣   Rackspace Cloud Files (circa 2010)
                    ‣    Redesigned from the ground up
                    ‣    Distributed storage and metadata
                    ‣    Worked closely with ops




Wednesday, July 27, 11
Modular Design of Swift

                ‣   Proxy Server
                ‣   The Ring
                ‣   Storage Servers
                ‣   Consistency Servers




Wednesday, July 27, 11
Proxy Server

                ‣   Public face of swift
                ‣   Determines appropriate storage nodes
                    ‣    https://swift.example.com/v1/account/container/object
                ‣   Coordinates responses




Wednesday, July 27, 11
The Ring

                ‣   Maps requests to storage nodes
                ‣   Availability zones
                ‣   Expandable without affecting most entities




Wednesday, July 27, 11
The Ring, in detail

                ‣   Started as a consistent-hashing ring
                ‣   Availability zones
                ‣   Became a static map of partitions to volumes
                    ‣    What is a partition?
                    ‣    What is a volume?




Wednesday, July 27, 11
Storage Servers

                ‣   Account server
                ‣   Container server
                ‣   Object server




Wednesday, July 27, 11
Storage Servers (Account and Container)

                ‣   SQLite databases
                ‣   Groups containers and objects into accounts
                ‣   Simple schema
                    ‣    Table for listings
                    ‣    Table for metadata
                ‣   Scale concerns?




Wednesday, July 27, 11
Storage Servers (Object)

                ‣   Use the file system to store files
                    ‣    Any file system that supports xattrs
                ‣   Files named by timestamp
                    ‣    Tombstones
                ‣   Directory structure
                    ‣    /mount/data_dir/partition/hash_suffix/hash/object.ts
                    ‣    Directory metadata can easily exhaust RAM



Wednesday, July 27, 11
Consistency Servers

                ‣   Replicators
                ‣   Updaters
                ‣   Auditors




Wednesday, July 27, 11
How to Deploy

                ‣   Swift All-In-One (SAIO)
                ‣   Small cluster
                ‣   Large cluster




Wednesday, July 27, 11
How to Deploy (SAIO)

                ‣   All services in one VM
                ‣   Use loopback devices for storage
                ‣   Great for dev work and validation testing




Wednesday, July 27, 11
How to Deploy (Small Cluster)

                ‣   Two load-balanced proxies
                ‣   Five storage nodes
                ‣   This area needs work




Wednesday, July 27, 11
How to Deploy (Large Cluster)

                ‣   Five zones
                ‣   Two proxies per zone
                ‣   Many storage nodes per zone




Wednesday, July 27, 11
How to Deploy (Large Cluster, networking)

                ‣   10g external network
                ‣   1g (or 10g) internal network
                ‣   Use-case concerns
                ‣   Internal proxy network divided by replica count




Wednesday, July 27, 11
How to Deploy (Large Cluster, IO)

                ‣   Dedicated Container and Account servers
                    ‣    Few, relative to object servers
                    ‣    Many IOPS (i.e. SSDs)
                ‣   Cheap storage for Object servers




Wednesday, July 27, 11
Future Dev Work

                ‣   Better Ring
                    ‣    Layered zones
                    ‣    Unique-of-zones-as-possible
                    ‣    Tiered storage
                ‣   More modular deployment
                    ‣    Cabinets, not zones
                ‣   More features


Wednesday, July 27, 11
What Swift is “Missing”

                ‣   Auth
                    ‣    ID management
                ‣   Stats
                    ‣    Quotas
                    ‣    Billing
                ‣   CDN




Wednesday, July 27, 11
Questions?

                ‣   #openstack on freenode
                ‣   http://launchpad.net/swift
                ‣   http://d.not.mn/swift_overview_oscon2011.pdf




Wednesday, July 27, 11
John Dickinson

                ‣   @notmyname
                ‣   http://gplus.to/notmyname
                ‣   me@not.mn
                ‣   http://not.mn




Wednesday, July 27, 11

Más contenido relacionado

La actualidad más candente

6 open stack_swift_panoramic_view
6 open stack_swift_panoramic_view6 open stack_swift_panoramic_view
6 open stack_swift_panoramic_view
openstackindia
 

La actualidad más candente (20)

Developing the Stratoscale System at Scale - Muli Ben-Yehuda, Stratoscale - D...
Developing the Stratoscale System at Scale - Muli Ben-Yehuda, Stratoscale - D...Developing the Stratoscale System at Scale - Muli Ben-Yehuda, Stratoscale - D...
Developing the Stratoscale System at Scale - Muli Ben-Yehuda, Stratoscale - D...
 
MANTL Data Platform, Microservices and BigData Services
MANTL Data Platform, Microservices and BigData ServicesMANTL Data Platform, Microservices and BigData Services
MANTL Data Platform, Microservices and BigData Services
 
Leveraging OpenStack to Run Mesos/Marathon at Charter Communications
Leveraging OpenStack to Run Mesos/Marathon at Charter CommunicationsLeveraging OpenStack to Run Mesos/Marathon at Charter Communications
Leveraging OpenStack to Run Mesos/Marathon at Charter Communications
 
Proxysql use case scenarios hl++ 2017
Proxysql use case scenarios    hl++ 2017 Proxysql use case scenarios    hl++ 2017
Proxysql use case scenarios hl++ 2017
 
‘fsck’ for Openstack
‘fsck’ for Openstack‘fsck’ for Openstack
‘fsck’ for Openstack
 
Enterprise container platform verrazzano
Enterprise container platform verrazzanoEnterprise container platform verrazzano
Enterprise container platform verrazzano
 
Avishay Traeger & Shimshon Zimmerman, Stratoscale - Deploying OpenStack Cinde...
Avishay Traeger & Shimshon Zimmerman, Stratoscale - Deploying OpenStack Cinde...Avishay Traeger & Shimshon Zimmerman, Stratoscale - Deploying OpenStack Cinde...
Avishay Traeger & Shimshon Zimmerman, Stratoscale - Deploying OpenStack Cinde...
 
PaaS Design & Architecture: A Deep Dive into Apache Stratos
PaaS Design & Architecture: A Deep Dive into Apache StratosPaaS Design & Architecture: A Deep Dive into Apache Stratos
PaaS Design & Architecture: A Deep Dive into Apache Stratos
 
6 open stack_swift_panoramic_view
6 open stack_swift_panoramic_view6 open stack_swift_panoramic_view
6 open stack_swift_panoramic_view
 
Persistent, Portable Storage for Docker Containers and Microservices
Persistent, Portable Storage  for Docker Containers and MicroservicesPersistent, Portable Storage  for Docker Containers and Microservices
Persistent, Portable Storage for Docker Containers and Microservices
 
AWS re:Invent 2016 - Scality's Open Source AWS S3 Server
AWS re:Invent 2016 - Scality's Open Source AWS S3 ServerAWS re:Invent 2016 - Scality's Open Source AWS S3 Server
AWS re:Invent 2016 - Scality's Open Source AWS S3 Server
 
Kubernetes on OpenStack @eBay
Kubernetes on OpenStack @eBayKubernetes on OpenStack @eBay
Kubernetes on OpenStack @eBay
 
Intro to MySQL Part I
Intro to MySQL Part IIntro to MySQL Part I
Intro to MySQL Part I
 
AWS Data Migration case study: from tapes to Glacier
AWS Data Migration case study: from tapes to GlacierAWS Data Migration case study: from tapes to Glacier
AWS Data Migration case study: from tapes to Glacier
 
Red Hat OpenStack - Open Cloud Infrastructure
Red Hat OpenStack - Open Cloud InfrastructureRed Hat OpenStack - Open Cloud Infrastructure
Red Hat OpenStack - Open Cloud Infrastructure
 
Overcoming 5 Common Docker Challenges: How We Do It at RightScale
Overcoming 5 Common Docker Challenges: How We Do It at RightScaleOvercoming 5 Common Docker Challenges: How We Do It at RightScale
Overcoming 5 Common Docker Challenges: How We Do It at RightScale
 
OpenStack Management at Hyperscale
OpenStack Management at HyperscaleOpenStack Management at Hyperscale
OpenStack Management at Hyperscale
 
Kubernetes as Orchestrator for A10 Lightning Controller
Kubernetes as Orchestrator for A10 Lightning ControllerKubernetes as Orchestrator for A10 Lightning Controller
Kubernetes as Orchestrator for A10 Lightning Controller
 
SSL certificates in the Oracle Database without surprises
SSL certificates in the Oracle Database without surprisesSSL certificates in the Oracle Database without surprises
SSL certificates in the Oracle Database without surprises
 
Transitioning from SVN to GIT
Transitioning from SVN to GITTransitioning from SVN to GIT
Transitioning from SVN to GIT
 

Destacado

Open stack dashboard diablo
Open stack dashboard   diabloOpen stack dashboard   diablo
Open stack dashboard diablo
Open Stack
 
Mise en place d’une infrastructure cloud basée sur cloudstack
Mise en place d’une infrastructure cloud basée sur cloudstackMise en place d’une infrastructure cloud basée sur cloudstack
Mise en place d’une infrastructure cloud basée sur cloudstack
chammem
 
OpenStack Technology Overview
OpenStack Technology OverviewOpenStack Technology Overview
OpenStack Technology Overview
Open Stack
 
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - Canada
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - CanadaOpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - Canada
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - Canada
Jonathan Le Lous
 

Destacado (16)

Open stack swift architecture and monitoring
Open stack swift architecture and monitoringOpen stack swift architecture and monitoring
Open stack swift architecture and monitoring
 
Open stack dashboard diablo
Open stack dashboard   diabloOpen stack dashboard   diablo
Open stack dashboard diablo
 
OpenStack 101 Technical Overview
OpenStack 101 Technical OverviewOpenStack 101 Technical Overview
OpenStack 101 Technical Overview
 
Les défis des architectures cloud sur OpenStack
Les défis des architectures cloud sur OpenStackLes défis des architectures cloud sur OpenStack
Les défis des architectures cloud sur OpenStack
 
Mise en place d’une infrastructure cloud basée sur cloudstack
Mise en place d’une infrastructure cloud basée sur cloudstackMise en place d’une infrastructure cloud basée sur cloudstack
Mise en place d’une infrastructure cloud basée sur cloudstack
 
OpenStack Technology Overview
OpenStack Technology OverviewOpenStack Technology Overview
OpenStack Technology Overview
 
Projet de fin d'études Insat
Projet de fin d'études InsatProjet de fin d'études Insat
Projet de fin d'études Insat
 
OpenStack en 10 minutes
OpenStack en 10 minutesOpenStack en 10 minutes
OpenStack en 10 minutes
 
Le Cloud IaaS & PaaS, OpenStack réseau et sécurité
Le Cloud IaaS & PaaS, OpenStack réseau et sécuritéLe Cloud IaaS & PaaS, OpenStack réseau et sécurité
Le Cloud IaaS & PaaS, OpenStack réseau et sécurité
 
Présentation d'OpenStack par Savoir-Faire Linux CI
Présentation d'OpenStack par Savoir-Faire Linux CIPrésentation d'OpenStack par Savoir-Faire Linux CI
Présentation d'OpenStack par Savoir-Faire Linux CI
 
Openstack framework Iaas
Openstack framework IaasOpenstack framework Iaas
Openstack framework Iaas
 
OpenStack 2013.2 "Havana" - Cloud - Open Source - France
OpenStack 2013.2 "Havana" - Cloud - Open Source - FranceOpenStack 2013.2 "Havana" - Cloud - Open Source - France
OpenStack 2013.2 "Havana" - Cloud - Open Source - France
 
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - Canada
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - CanadaOpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - Canada
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - Canada
 
OpenStack dans la pratique
OpenStack dans la pratiqueOpenStack dans la pratique
OpenStack dans la pratique
 
Openstack pour les nuls
Openstack pour les nulsOpenstack pour les nuls
Openstack pour les nuls
 
Formation libre OpenStack en Français
Formation libre OpenStack en FrançaisFormation libre OpenStack en Français
Formation libre OpenStack en Français
 

Similar a OpenStack Swift overview oscon2011

Realtime Analytics with Hadoop and HBase
Realtime Analytics with Hadoop and HBaseRealtime Analytics with Hadoop and HBase
Realtime Analytics with Hadoop and HBase
larsgeorge
 
Play concurrency
Play concurrencyPlay concurrency
Play concurrency
Justin Long
 
OSOM Operations in the Cloud
OSOM Operations in the CloudOSOM Operations in the Cloud
OSOM Operations in the Cloud
mstuparu
 
ZFS and FreeBSD Jails
ZFS and FreeBSD JailsZFS and FreeBSD Jails
ZFS and FreeBSD Jails
apeiron
 

Similar a OpenStack Swift overview oscon2011 (20)

Realtime Analytics with Hadoop and HBase
Realtime Analytics with Hadoop and HBaseRealtime Analytics with Hadoop and HBase
Realtime Analytics with Hadoop and HBase
 
Play concurrency
Play concurrencyPlay concurrency
Play concurrency
 
Abstractions at Scale – Our Experiences at Twitter
Abstractions at Scale – Our Experiences at TwitterAbstractions at Scale – Our Experiences at Twitter
Abstractions at Scale – Our Experiences at Twitter
 
Cephfsglusterfs.talk
Cephfsglusterfs.talkCephfsglusterfs.talk
Cephfsglusterfs.talk
 
JBoss AS 7 from a user perspective
JBoss AS 7 from a user perspectiveJBoss AS 7 from a user perspective
JBoss AS 7 from a user perspective
 
Openstack and Reddwarf Overview
Openstack and Reddwarf OverviewOpenstack and Reddwarf Overview
Openstack and Reddwarf Overview
 
NDH2k12 Cloud Computing Security
NDH2k12 Cloud Computing SecurityNDH2k12 Cloud Computing Security
NDH2k12 Cloud Computing Security
 
Ceph data services in a multi- and hybrid cloud world
Ceph data services in a multi- and hybrid cloud worldCeph data services in a multi- and hybrid cloud world
Ceph data services in a multi- and hybrid cloud world
 
ZFS Tutorial USENIX June 2009
ZFS  Tutorial  USENIX June 2009ZFS  Tutorial  USENIX June 2009
ZFS Tutorial USENIX June 2009
 
OSOM Operations in the Cloud
OSOM Operations in the CloudOSOM Operations in the Cloud
OSOM Operations in the Cloud
 
OSOM - Operations in the Cloud
OSOM - Operations in the CloudOSOM - Operations in the Cloud
OSOM - Operations in the Cloud
 
State of the_gluster_-_lceu
State of the_gluster_-_lceuState of the_gluster_-_lceu
State of the_gluster_-_lceu
 
Making Cloudy Peanut Butter Cups: Apache CloudStack + Riak CS
Making Cloudy Peanut Butter Cups: Apache CloudStack + Riak CSMaking Cloudy Peanut Butter Cups: Apache CloudStack + Riak CS
Making Cloudy Peanut Butter Cups: Apache CloudStack + Riak CS
 
Using Solr Cloud to Tame an Index Explosion
Using Solr Cloud to Tame an Index ExplosionUsing Solr Cloud to Tame an Index Explosion
Using Solr Cloud to Tame an Index Explosion
 
Getting it Right: OpenStack Private Cloud Storage
Getting it Right: OpenStack Private Cloud StorageGetting it Right: OpenStack Private Cloud Storage
Getting it Right: OpenStack Private Cloud Storage
 
eZ Publish nextgen
eZ Publish nextgeneZ Publish nextgen
eZ Publish nextgen
 
Trouble shooting Storage Area Networks for virtualisation deployments
Trouble shooting Storage Area Networks for virtualisation deploymentsTrouble shooting Storage Area Networks for virtualisation deployments
Trouble shooting Storage Area Networks for virtualisation deployments
 
Gluster intro-tdose
Gluster intro-tdoseGluster intro-tdose
Gluster intro-tdose
 
Gluster intro-tdose
Gluster intro-tdoseGluster intro-tdose
Gluster intro-tdose
 
ZFS and FreeBSD Jails
ZFS and FreeBSD JailsZFS and FreeBSD Jails
ZFS and FreeBSD Jails
 

Más de Open Stack

Dell Crowbar and OpenStack at OSCON
Dell Crowbar and OpenStack at OSCONDell Crowbar and OpenStack at OSCON
Dell Crowbar and OpenStack at OSCON
Open Stack
 
Nebula james Williams
Nebula james WilliamsNebula james Williams
Nebula james Williams
Open Stack
 
Snapshot clone-boot-presentation-final
Snapshot clone-boot-presentation-finalSnapshot clone-boot-presentation-final
Snapshot clone-boot-presentation-final
Open Stack
 
Opening Presentation
Opening PresentationOpening Presentation
Opening Presentation
Open Stack
 
Gluster open stack dev summit 042011
Gluster open stack dev summit 042011Gluster open stack dev summit 042011
Gluster open stack dev summit 042011
Open Stack
 
Swift container sync
Swift container syncSwift container sync
Swift container sync
Open Stack
 
The site architecture you can edit
The site architecture you can editThe site architecture you can edit
The site architecture you can edit
Open Stack
 
Mach Technology
Mach Technology Mach Technology
Mach Technology
Open Stack
 
OpenStack on Intel
OpenStack on IntelOpenStack on Intel
OpenStack on Intel
Open Stack
 
Operating the Hyperscale Cloud
Operating the Hyperscale CloudOperating the Hyperscale Cloud
Operating the Hyperscale Cloud
Open Stack
 
Openstack and eBay
Openstack and eBay Openstack and eBay
Openstack and eBay
Open Stack
 
OpenStack Opportunity - Citrix
OpenStack Opportunity - CitrixOpenStack Opportunity - Citrix
OpenStack Opportunity - Citrix
Open Stack
 
PaaS on Openstack
PaaS on OpenstackPaaS on Openstack
PaaS on Openstack
Open Stack
 
Cloud Service Providers and OpenStack
Cloud Service Providers and OpenStackCloud Service Providers and OpenStack
Cloud Service Providers and OpenStack
Open Stack
 
Openstack at NTT Feb 7, 2011
Openstack at NTT Feb 7, 2011Openstack at NTT Feb 7, 2011
Openstack at NTT Feb 7, 2011
Open Stack
 

Más de Open Stack (20)

OpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overviewOpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overview
 
Dell Crowbar and OpenStack at OSCON
Dell Crowbar and OpenStack at OSCONDell Crowbar and OpenStack at OSCON
Dell Crowbar and OpenStack at OSCON
 
EMEA OpenStack Day, July 13th 2011 in London - Jim Curry intro
EMEA OpenStack Day, July 13th 2011 in London - Jim Curry introEMEA OpenStack Day, July 13th 2011 in London - Jim Curry intro
EMEA OpenStack Day, July 13th 2011 in London - Jim Curry intro
 
JCO Conference OpenStack
JCO Conference OpenStackJCO Conference OpenStack
JCO Conference OpenStack
 
Nova HA
Nova HANova HA
Nova HA
 
Nebula james Williams
Nebula james WilliamsNebula james Williams
Nebula james Williams
 
Snapshot clone-boot-presentation-final
Snapshot clone-boot-presentation-finalSnapshot clone-boot-presentation-final
Snapshot clone-boot-presentation-final
 
Opening Presentation
Opening PresentationOpening Presentation
Opening Presentation
 
Gluster open stack dev summit 042011
Gluster open stack dev summit 042011Gluster open stack dev summit 042011
Gluster open stack dev summit 042011
 
Swift container sync
Swift container syncSwift container sync
Swift container sync
 
The site architecture you can edit
The site architecture you can editThe site architecture you can edit
The site architecture you can edit
 
Mach Technology
Mach Technology Mach Technology
Mach Technology
 
OpenStack on Intel
OpenStack on IntelOpenStack on Intel
OpenStack on Intel
 
Operating the Hyperscale Cloud
Operating the Hyperscale CloudOperating the Hyperscale Cloud
Operating the Hyperscale Cloud
 
Openstack and eBay
Openstack and eBay Openstack and eBay
Openstack and eBay
 
OpenStack Opportunity - Citrix
OpenStack Opportunity - CitrixOpenStack Opportunity - Citrix
OpenStack Opportunity - Citrix
 
PaaS on Openstack
PaaS on OpenstackPaaS on Openstack
PaaS on Openstack
 
Cloud Service Providers and OpenStack
Cloud Service Providers and OpenStackCloud Service Providers and OpenStack
Cloud Service Providers and OpenStack
 
OpenStack Winfest2011
OpenStack Winfest2011OpenStack Winfest2011
OpenStack Winfest2011
 
Openstack at NTT Feb 7, 2011
Openstack at NTT Feb 7, 2011Openstack at NTT Feb 7, 2011
Openstack at NTT Feb 7, 2011
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

OpenStack Swift overview oscon2011

  • 2. Swift Overview John Dickinson Swift Project Technical Lead Wednesday, July 27, 11
  • 3. What We’ll Cover ‣ Intro to Swift ‣ Architectural Overview ‣ Best Practices for Deploying ‣ Future work Wednesday, July 27, 11
  • 4. Swift is Scalable Storage ‣ Scales as the cluster grows ‣ Designed to run on commodity hardware ‣ No single point of failure Wednesday, July 27, 11
  • 5. Swift is not ‣ RAID ‣ Distributed Filesystem ‣ CDN ‣ SAN/NAS/DAS Wednesday, July 27, 11
  • 6. Swift Use Cases ‣ Multi-tenant ‣ Backups ‣ Typically large ‣ Write-once, read-never ‣ Web Content ‣ Typically small ‣ Write-many, read-very-many Wednesday, July 27, 11
  • 7. Swift Use Cases (cont.) ‣ Document management ‣ Medical imaging ‣ Disaster recovery ‣ Caching ‣ Storage appliances ‣ Scientific data Wednesday, July 27, 11
  • 8. Example Usage ‣ Standard HTTP verbs ‣ Standard HTTP response codes Wednesday, July 27, 11
  • 9. Designing Swift ‣ At scale, everything breaks ‣ Design for failure ‣ The “Happy Path” is trivial ‣ At scale, even rare events happen a lot ‣ “Simple is better than complex.” Wednesday, July 27, 11
  • 10. Swift History ‣ Rackspace Cloud Files (circa 2008) ‣ Distributed Storage ‣ Centralized Metadata Wednesday, July 27, 11
  • 11. Swift History (cont.) ‣ Rackspace Cloud Files (circa 2010) ‣ Redesigned from the ground up ‣ Distributed storage and metadata ‣ Worked closely with ops Wednesday, July 27, 11
  • 12. Modular Design of Swift ‣ Proxy Server ‣ The Ring ‣ Storage Servers ‣ Consistency Servers Wednesday, July 27, 11
  • 13. Proxy Server ‣ Public face of swift ‣ Determines appropriate storage nodes ‣ https://swift.example.com/v1/account/container/object ‣ Coordinates responses Wednesday, July 27, 11
  • 14. The Ring ‣ Maps requests to storage nodes ‣ Availability zones ‣ Expandable without affecting most entities Wednesday, July 27, 11
  • 15. The Ring, in detail ‣ Started as a consistent-hashing ring ‣ Availability zones ‣ Became a static map of partitions to volumes ‣ What is a partition? ‣ What is a volume? Wednesday, July 27, 11
  • 16. Storage Servers ‣ Account server ‣ Container server ‣ Object server Wednesday, July 27, 11
  • 17. Storage Servers (Account and Container) ‣ SQLite databases ‣ Groups containers and objects into accounts ‣ Simple schema ‣ Table for listings ‣ Table for metadata ‣ Scale concerns? Wednesday, July 27, 11
  • 18. Storage Servers (Object) ‣ Use the file system to store files ‣ Any file system that supports xattrs ‣ Files named by timestamp ‣ Tombstones ‣ Directory structure ‣ /mount/data_dir/partition/hash_suffix/hash/object.ts ‣ Directory metadata can easily exhaust RAM Wednesday, July 27, 11
  • 19. Consistency Servers ‣ Replicators ‣ Updaters ‣ Auditors Wednesday, July 27, 11
  • 20. How to Deploy ‣ Swift All-In-One (SAIO) ‣ Small cluster ‣ Large cluster Wednesday, July 27, 11
  • 21. How to Deploy (SAIO) ‣ All services in one VM ‣ Use loopback devices for storage ‣ Great for dev work and validation testing Wednesday, July 27, 11
  • 22. How to Deploy (Small Cluster) ‣ Two load-balanced proxies ‣ Five storage nodes ‣ This area needs work Wednesday, July 27, 11
  • 23. How to Deploy (Large Cluster) ‣ Five zones ‣ Two proxies per zone ‣ Many storage nodes per zone Wednesday, July 27, 11
  • 24. How to Deploy (Large Cluster, networking) ‣ 10g external network ‣ 1g (or 10g) internal network ‣ Use-case concerns ‣ Internal proxy network divided by replica count Wednesday, July 27, 11
  • 25. How to Deploy (Large Cluster, IO) ‣ Dedicated Container and Account servers ‣ Few, relative to object servers ‣ Many IOPS (i.e. SSDs) ‣ Cheap storage for Object servers Wednesday, July 27, 11
  • 26. Future Dev Work ‣ Better Ring ‣ Layered zones ‣ Unique-of-zones-as-possible ‣ Tiered storage ‣ More modular deployment ‣ Cabinets, not zones ‣ More features Wednesday, July 27, 11
  • 27. What Swift is “Missing” ‣ Auth ‣ ID management ‣ Stats ‣ Quotas ‣ Billing ‣ CDN Wednesday, July 27, 11
  • 28. Questions? ‣ #openstack on freenode ‣ http://launchpad.net/swift ‣ http://d.not.mn/swift_overview_oscon2011.pdf Wednesday, July 27, 11
  • 29. John Dickinson ‣ @notmyname ‣ http://gplus.to/notmyname ‣ me@not.mn ‣ http://not.mn Wednesday, July 27, 11