SlideShare a Scribd company logo
1 of 33
架构与实践
Swift 在这里写上你的标题
       @SinaAppEngine
      副标题文字副标题文字




                杨雨 /2012-08-日
                   作者名字 /
                11 期
Content


1 Principles and Architecture
         写上你的文字你的文字
     00

2 The Practice of Swift @SinaAppEngine
    01

     02
3 Problems and Imporvemetns
     03

     04

     05
Storage Types

Types              Protocol            Application
      00    写上你的文字你的文字
Block Storage    SATA, SCSI, iSCSI     SAN, NAS, EBS
       01
File Storage       Ext3/4, XFS, NTFS   PC, Servers, NFS
       02
Object Storage     HTTP, REST          Amazon S3,
       03                              Google Cloud Storage,
                                       Rackspace Cloud Files
      04
Specific Storage   Specific protocol   MySQL, MongoDB,
      05           based on tcp        HDFS
Storage Types


        00      写上你的文字你的文字

        01

        02

        03

        04

        05




From: http://www.buildcloudstorage.com/2012/08/is-openstack-swift-reliable-enough-for.html
Targets

•High Reliability = High Durability + High Availability
•High Durability - Replicas and Recovery
•High Availability - Replicas and Partition
•Low Cost - Commodity Hardware
•Scale Out - No Single Bottleneck, Share Nothing
Reliability

 Consistent Hashing
Reliability

 Consistent Hashing with Virtual Node
Reliability

 Consistent Hashing with Virtual Node
Reliability

The advantages of consistent hashing:

1.Metadata is small;(AWS S3 has 762 billion objects)
2.Distribution unformity;
3.Peer to perr comunication;
4.Load blance.
Reliability


 •Virtual node(partition) - Object distribution uniformity
 •Weight - Allocate partitions dynamically
 •Zone - Partition Tolerance
 Zones can be used to group devices based on physical locations, power
 separations, network separations, or any other attribute that would
 lessen multiple replicas being unavailable at the same time.



 Swift :
 Ring - The index file for locating object in the cluster.
Reliability
Reliability


Durability: 99.999..9%? AWS S3 with 99.999999999%
 •Annualized failure rate of devices.(disk, network...)
 •Bit rot rate and the time to detect bit rot.
 •Mean time to recovery.
 •More about durability :
 http://www.buildcloudstorage.com/2012/08/is-openstack-swift-
 reliable-enough-for.html

Swift :
Auditor - To detect bit rot;
Replicator-To keep the consistency of object;
Consistency Model
Consistency Model

Quroum + Object Version + Async Replicatiton

Quroum Protocol:
N, the number of nodes that store replicas of the data;
W, the number of replicas that need to acknowledge the receipt of the
update before the update completes;
R, the number of replicas that are contacted when a data object is
accessed through a read operation;

If W+R>N, then the write set and the read set always overlap and one can
guarantee strong consistency.

In Swift, NWR is configurable.
General configuration: N=3, W=2, R=1 or 2, So the swift can providetwo
models of consistency, strong and eventual.
Consistency Model

Weak Consistency ( N=3,W=2,R=1 )
Consistency Model

Strong Consistency ( N=3,W=2,R=2 )
Consistency Model

Special Scene : dirty read
Architecture Prototype
Metadata

account
 |-- container1
 |------obj1
 |------obj2
 |-- container2
 |------objN



How to store the relationship of account, container and object?
•Relation Database
•NoSQL, Cassandra, MongoDB
•Relation Datatbase with Sharding
Metadata

 The target of swift: no single failure, no bottletneck, scale out


The Swift way: sqlite + consistent hashing + quroum
A sqlite db file is an object.
So the database is HA, durable and with eventual consistency.
Architecture
Swift Practice@SinaAppEngine
Swift Practice@SinaAppEngine
Our Works

•Swift as the SAE Storage
-Auth module for SAE(Key-Pair)
-Keystone for SAE(Token)
-HTTP Cache-Control module
-Quota(limit the number of containers and objects, limit the
 storage usage)
-Domain remap
   app-domain.stor.sinaapp.com/obj To
   sinas3.com/v1/SAE_app/domain
-Rsync with bwlimit
-Billing
-Storage Firewall

•Swift as the SWS Simple Storage Service
-Container unique module
  container.sinas3.com/object
-Keystone middleware for auth protocol converting
Our Steps for Switching SAE Storage


•Bypass test one month online( 旁路读写测试 )
•Switch step by step one month( 灰度切换 )
•Ops
  Monitoring: I/O, CPU, Memery, Disk
  LogCenter: syslog-ng, statistics and analytics
Problems&Imporvements

The async processor for keeping eventual consistency is inefficient.
Replicator, auditor, container-updater
Logic: loop all objects or dbs on disk, query replica's server to determin
whether to sync.
Results: High I/O; High CPU usage; Stress on account/container/object-
servers, impact the availability; Long time for eventual consistency, impact
the durability; The list operation is not consistent.

How to improvements?
1.Runing replicator, auditor and container updater during idle time;
2.An appropriate deployment;
3.A new protocol for keeping relplica's consistency;
  (based on log and message queue)
4.Adding new nodes, scale out.
Problems&Imporvements

The performance of sqlite.
Quota for objects and containers
Running sqlite on the high performance I/O devices

The bandwidth of rsync is not under control.
Out-of-band management
Add bandwidth limitations for rsync

Database centralized or distributed?
Problems&Imporvements

An appropriate deployment
Q&A

      Weibo: @AlexYang_Coder
      Email: yangyu4@staff.sina.com.cn
      GTalk: alex890714@gmail.com
       Blog: http://alexyang.sinaapp.com

More Related Content

What's hot

OpenStack Introduction
OpenStack IntroductionOpenStack Introduction
OpenStack Introductionopenstackindia
 
Red Hat OpenStack - Open Cloud Infrastructure
Red Hat OpenStack - Open Cloud InfrastructureRed Hat OpenStack - Open Cloud Infrastructure
Red Hat OpenStack - Open Cloud InfrastructureAlex Baretto
 
Openstackoverview-DEC2013
Openstackoverview-DEC2013Openstackoverview-DEC2013
Openstackoverview-DEC2013Michael Lessard
 
Introduction to OpenStack : Barcamp Bangkhen 2016
Introduction to OpenStack : Barcamp Bangkhen 2016Introduction to OpenStack : Barcamp Bangkhen 2016
Introduction to OpenStack : Barcamp Bangkhen 2016Opsta
 
Moving AWS workloads to OpenStack
Moving AWS workloads to OpenStackMoving AWS workloads to OpenStack
Moving AWS workloads to OpenStackMirantis
 
Webinar "Introduction to OpenStack"
Webinar "Introduction to OpenStack"Webinar "Introduction to OpenStack"
Webinar "Introduction to OpenStack"CREATE-NET
 
Getting started with OpenStack
Getting started with OpenStackGetting started with OpenStack
Getting started with OpenStackKnoldus Inc.
 
OpenStack Architecture and Use Cases
OpenStack Architecture and Use CasesOpenStack Architecture and Use Cases
OpenStack Architecture and Use CasesJalal Mostafa
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack ArchitectureMirantis
 
OpenStack Overview and History
OpenStack Overview and HistoryOpenStack Overview and History
OpenStack Overview and HistoryMirantis
 
An Introduction to OpenStack
An Introduction to OpenStackAn Introduction to OpenStack
An Introduction to OpenStackScott Lowe
 
Introduction to cloud and openstack
Introduction to cloud and openstackIntroduction to cloud and openstack
Introduction to cloud and openstackShivaling Sannalli
 
Architecture Openstack for the Enterprise
Architecture Openstack for the EnterpriseArchitecture Openstack for the Enterprise
Architecture Openstack for the EnterpriseKeith Tobin
 
Openstack architecture for the enterprise (Openstack Ireland Meet-up)
Openstack architecture for the enterprise (Openstack Ireland Meet-up)Openstack architecture for the enterprise (Openstack Ireland Meet-up)
Openstack architecture for the enterprise (Openstack Ireland Meet-up)Keith Tobin
 

What's hot (20)

SFScon16 - Michele Baldessari: "OpenStack – An introduction"
SFScon16 - Michele Baldessari: "OpenStack – An introduction"SFScon16 - Michele Baldessari: "OpenStack – An introduction"
SFScon16 - Michele Baldessari: "OpenStack – An introduction"
 
OpenStack Introduction
OpenStack IntroductionOpenStack Introduction
OpenStack Introduction
 
Red Hat OpenStack - Open Cloud Infrastructure
Red Hat OpenStack - Open Cloud InfrastructureRed Hat OpenStack - Open Cloud Infrastructure
Red Hat OpenStack - Open Cloud Infrastructure
 
Openstackoverview-DEC2013
Openstackoverview-DEC2013Openstackoverview-DEC2013
Openstackoverview-DEC2013
 
Introduction to OpenStack : Barcamp Bangkhen 2016
Introduction to OpenStack : Barcamp Bangkhen 2016Introduction to OpenStack : Barcamp Bangkhen 2016
Introduction to OpenStack : Barcamp Bangkhen 2016
 
Openstack 101
Openstack 101Openstack 101
Openstack 101
 
OpenStack Juno - October 2014
OpenStack Juno - October 2014OpenStack Juno - October 2014
OpenStack Juno - October 2014
 
Moving AWS workloads to OpenStack
Moving AWS workloads to OpenStackMoving AWS workloads to OpenStack
Moving AWS workloads to OpenStack
 
OpenStack 101
OpenStack 101OpenStack 101
OpenStack 101
 
Webinar "Introduction to OpenStack"
Webinar "Introduction to OpenStack"Webinar "Introduction to OpenStack"
Webinar "Introduction to OpenStack"
 
OpenStack basics
OpenStack basicsOpenStack basics
OpenStack basics
 
Getting started with OpenStack
Getting started with OpenStackGetting started with OpenStack
Getting started with OpenStack
 
OpenStack Architecture and Use Cases
OpenStack Architecture and Use CasesOpenStack Architecture and Use Cases
OpenStack Architecture and Use Cases
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
 
OpenStack Overview and History
OpenStack Overview and HistoryOpenStack Overview and History
OpenStack Overview and History
 
An Introduction to OpenStack
An Introduction to OpenStackAn Introduction to OpenStack
An Introduction to OpenStack
 
OpenStack 101 update
OpenStack 101 updateOpenStack 101 update
OpenStack 101 update
 
Introduction to cloud and openstack
Introduction to cloud and openstackIntroduction to cloud and openstack
Introduction to cloud and openstack
 
Architecture Openstack for the Enterprise
Architecture Openstack for the EnterpriseArchitecture Openstack for the Enterprise
Architecture Openstack for the Enterprise
 
Openstack architecture for the enterprise (Openstack Ireland Meet-up)
Openstack architecture for the enterprise (Openstack Ireland Meet-up)Openstack architecture for the enterprise (Openstack Ireland Meet-up)
Openstack architecture for the enterprise (Openstack Ireland Meet-up)
 

Viewers also liked

OpenStack keystone identity service
OpenStack keystone identity serviceOpenStack keystone identity service
OpenStack keystone identity serviceopenstackindia
 
OpenStack Quantum Network Service
OpenStack Quantum Network ServiceOpenStack Quantum Network Service
OpenStack Quantum Network ServiceLew Tucker
 
State of the Stack April 2013
State of the Stack April 2013State of the Stack April 2013
State of the Stack April 2013Randy Bias
 
How We Did It: The Case of the Credit Card Breach
How We Did It: The Case of the Credit Card BreachHow We Did It: The Case of the Credit Card Breach
How We Did It: The Case of the Credit Card BreachTeradata
 
Swift: Immutability and You
Swift: Immutability and YouSwift: Immutability and You
Swift: Immutability and YouJens Ravens
 
Open-E DSS V7 Active-Active Load Balanced iSCSI HA Cluster (with bonding)
Open-E DSS V7 Active-Active Load Balanced iSCSI HA Cluster (with bonding)Open-E DSS V7 Active-Active Load Balanced iSCSI HA Cluster (with bonding)
Open-E DSS V7 Active-Active Load Balanced iSCSI HA Cluster (with bonding)open-e
 
Red Hat Storage Day Seattle: Why Software-Defined Storage Matters
Red Hat Storage Day Seattle: Why Software-Defined Storage MattersRed Hat Storage Day Seattle: Why Software-Defined Storage Matters
Red Hat Storage Day Seattle: Why Software-Defined Storage MattersRed_Hat_Storage
 
Building RESTful APIs
Building RESTful APIsBuilding RESTful APIs
Building RESTful APIsSilota Inc.
 
Software Defined presentation
Software Defined presentationSoftware Defined presentation
Software Defined presentationJohn Rhodes
 
Microservices with Swagger, Flask and Docker
Microservices with Swagger, Flask and DockerMicroservices with Swagger, Flask and Docker
Microservices with Swagger, Flask and DockerDhilipsiva DS
 
"FCoE vs. iSCSI - Making the Choice" from Interop Las Vegas 2011
"FCoE vs. iSCSI - Making the Choice" from Interop Las Vegas 2011"FCoE vs. iSCSI - Making the Choice" from Interop Las Vegas 2011
"FCoE vs. iSCSI - Making the Choice" from Interop Las Vegas 2011Stephen Foskett
 
REST Coder: Auto Generating Client Stubs and Documentation for REST APIs
REST Coder: Auto Generating Client Stubs and Documentation for REST APIsREST Coder: Auto Generating Client Stubs and Documentation for REST APIs
REST Coder: Auto Generating Client Stubs and Documentation for REST APIsHiranya Jayathilaka
 
Reliable Python REST API (by Volodymyr Hotsyk) - Web Back-End Tech Hangout - ...
Reliable Python REST API (by Volodymyr Hotsyk) - Web Back-End Tech Hangout - ...Reliable Python REST API (by Volodymyr Hotsyk) - Web Back-End Tech Hangout - ...
Reliable Python REST API (by Volodymyr Hotsyk) - Web Back-End Tech Hangout - ...Innovecs
 

Viewers also liked (20)

OpenStack keystone identity service
OpenStack keystone identity serviceOpenStack keystone identity service
OpenStack keystone identity service
 
OpenStack Quantum
OpenStack QuantumOpenStack Quantum
OpenStack Quantum
 
OpenStack Quantum
OpenStack QuantumOpenStack Quantum
OpenStack Quantum
 
OpenStack Quantum Network Service
OpenStack Quantum Network ServiceOpenStack Quantum Network Service
OpenStack Quantum Network Service
 
OpenStack Icehouse Overview
OpenStack Icehouse OverviewOpenStack Icehouse Overview
OpenStack Icehouse Overview
 
State of the Stack April 2013
State of the Stack April 2013State of the Stack April 2013
State of the Stack April 2013
 
How We Did It: The Case of the Credit Card Breach
How We Did It: The Case of the Credit Card BreachHow We Did It: The Case of the Credit Card Breach
How We Did It: The Case of the Credit Card Breach
 
Swift: Immutability and You
Swift: Immutability and YouSwift: Immutability and You
Swift: Immutability and You
 
Open-E DSS V7 Active-Active Load Balanced iSCSI HA Cluster (with bonding)
Open-E DSS V7 Active-Active Load Balanced iSCSI HA Cluster (with bonding)Open-E DSS V7 Active-Active Load Balanced iSCSI HA Cluster (with bonding)
Open-E DSS V7 Active-Active Load Balanced iSCSI HA Cluster (with bonding)
 
Pycon 2008: Python Command-line Tools *Nix
Pycon 2008:  Python Command-line Tools *NixPycon 2008:  Python Command-line Tools *Nix
Pycon 2008: Python Command-line Tools *Nix
 
Red Hat Storage Day Seattle: Why Software-Defined Storage Matters
Red Hat Storage Day Seattle: Why Software-Defined Storage MattersRed Hat Storage Day Seattle: Why Software-Defined Storage Matters
Red Hat Storage Day Seattle: Why Software-Defined Storage Matters
 
Building RESTful APIs
Building RESTful APIsBuilding RESTful APIs
Building RESTful APIs
 
Software Defined presentation
Software Defined presentationSoftware Defined presentation
Software Defined presentation
 
Microservices with Swagger, Flask and Docker
Microservices with Swagger, Flask and DockerMicroservices with Swagger, Flask and Docker
Microservices with Swagger, Flask and Docker
 
Core Concept: Software Defined Everything
Core Concept: Software Defined EverythingCore Concept: Software Defined Everything
Core Concept: Software Defined Everything
 
"FCoE vs. iSCSI - Making the Choice" from Interop Las Vegas 2011
"FCoE vs. iSCSI - Making the Choice" from Interop Las Vegas 2011"FCoE vs. iSCSI - Making the Choice" from Interop Las Vegas 2011
"FCoE vs. iSCSI - Making the Choice" from Interop Las Vegas 2011
 
REST Coder: Auto Generating Client Stubs and Documentation for REST APIs
REST Coder: Auto Generating Client Stubs and Documentation for REST APIsREST Coder: Auto Generating Client Stubs and Documentation for REST APIs
REST Coder: Auto Generating Client Stubs and Documentation for REST APIs
 
Rest in flask
Rest in flaskRest in flask
Rest in flask
 
Reliable Python REST API (by Volodymyr Hotsyk) - Web Back-End Tech Hangout - ...
Reliable Python REST API (by Volodymyr Hotsyk) - Web Back-End Tech Hangout - ...Reliable Python REST API (by Volodymyr Hotsyk) - Web Back-End Tech Hangout - ...
Reliable Python REST API (by Volodymyr Hotsyk) - Web Back-End Tech Hangout - ...
 
SDN Abstractions
SDN AbstractionsSDN Abstractions
SDN Abstractions
 

Similar to Swift Architecture and Practice, by Alex Yang

Open Stack Cheng Du Swift Alex Yang
Open Stack Cheng Du Swift Alex YangOpen Stack Cheng Du Swift Alex Yang
Open Stack Cheng Du Swift Alex YangOpenCity Community
 
Open stack in sina
Open stack in sinaOpen stack in sina
Open stack in sinaHui Cheng
 
AWS Summit 2011: Architecting in the cloud
AWS Summit 2011: Architecting in the cloudAWS Summit 2011: Architecting in the cloud
AWS Summit 2011: Architecting in the cloudAmazon Web Services
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWSMigrating enterprise workloads to AWS
Migrating enterprise workloads to AWSTom Laszewski
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWS Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWS Tom Laszewski
 
Aws for Startups Building Cloud Enabled Apps
Aws for Startups Building Cloud Enabled AppsAws for Startups Building Cloud Enabled Apps
Aws for Startups Building Cloud Enabled AppsAmazon Web Services
 
Scaling the Platform for Your Startup
Scaling the Platform for Your StartupScaling the Platform for Your Startup
Scaling the Platform for Your StartupAmazon Web Services
 
Using Data Lakes: Data Analytics Week SF
Using Data Lakes: Data Analytics Week SFUsing Data Lakes: Data Analytics Week SF
Using Data Lakes: Data Analytics Week SFAmazon Web Services
 
KT ucloud storage, by Jaesuk Ahn
KT ucloud storage, by Jaesuk AhnKT ucloud storage, by Jaesuk Ahn
KT ucloud storage, by Jaesuk AhnHui Cheng
 
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...Amazon Web Services
 
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014Amazon Web Services
 
Better, faster, cheaper infrastructure with apache cloud stack and riak cs redux
Better, faster, cheaper infrastructure with apache cloud stack and riak cs reduxBetter, faster, cheaper infrastructure with apache cloud stack and riak cs redux
Better, faster, cheaper infrastructure with apache cloud stack and riak cs reduxJohn Burwell
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container EcosystemVinay Rao
 
Private Cloud with Open Stack, Docker
Private Cloud with Open Stack, DockerPrivate Cloud with Open Stack, Docker
Private Cloud with Open Stack, DockerDavinder Kohli
 
OpenStack: Toward a More Resilient Cloud
OpenStack: Toward a More Resilient CloudOpenStack: Toward a More Resilient Cloud
OpenStack: Toward a More Resilient CloudMark Voelker
 
Web Scale Applications using NeflixOSS Cloud Platform
Web Scale Applications using NeflixOSS Cloud PlatformWeb Scale Applications using NeflixOSS Cloud Platform
Web Scale Applications using NeflixOSS Cloud PlatformSudhir Tonse
 
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon Web Services Korea
 

Similar to Swift Architecture and Practice, by Alex Yang (20)

Open Stack Cheng Du Swift Alex Yang
Open Stack Cheng Du Swift Alex YangOpen Stack Cheng Du Swift Alex Yang
Open Stack Cheng Du Swift Alex Yang
 
Open stack in sina
Open stack in sinaOpen stack in sina
Open stack in sina
 
AWS Summit 2011: Architecting in the cloud
AWS Summit 2011: Architecting in the cloudAWS Summit 2011: Architecting in the cloud
AWS Summit 2011: Architecting in the cloud
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWSMigrating enterprise workloads to AWS
Migrating enterprise workloads to AWS
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWS Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWS
 
Aws for Startups Building Cloud Enabled Apps
Aws for Startups Building Cloud Enabled AppsAws for Startups Building Cloud Enabled Apps
Aws for Startups Building Cloud Enabled Apps
 
Create cloud service on AWS
Create cloud service on AWSCreate cloud service on AWS
Create cloud service on AWS
 
Scaling the Platform for Your Startup
Scaling the Platform for Your StartupScaling the Platform for Your Startup
Scaling the Platform for Your Startup
 
Using Data Lakes: Data Analytics Week SF
Using Data Lakes: Data Analytics Week SFUsing Data Lakes: Data Analytics Week SF
Using Data Lakes: Data Analytics Week SF
 
KT ucloud storage, by Jaesuk Ahn
KT ucloud storage, by Jaesuk AhnKT ucloud storage, by Jaesuk Ahn
KT ucloud storage, by Jaesuk Ahn
 
Am 02 osac_kt_swift
Am 02 osac_kt_swiftAm 02 osac_kt_swift
Am 02 osac_kt_swift
 
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
 
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
 
Using Data Lakes
Using Data Lakes Using Data Lakes
Using Data Lakes
 
Better, faster, cheaper infrastructure with apache cloud stack and riak cs redux
Better, faster, cheaper infrastructure with apache cloud stack and riak cs reduxBetter, faster, cheaper infrastructure with apache cloud stack and riak cs redux
Better, faster, cheaper infrastructure with apache cloud stack and riak cs redux
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
 
Private Cloud with Open Stack, Docker
Private Cloud with Open Stack, DockerPrivate Cloud with Open Stack, Docker
Private Cloud with Open Stack, Docker
 
OpenStack: Toward a More Resilient Cloud
OpenStack: Toward a More Resilient CloudOpenStack: Toward a More Resilient Cloud
OpenStack: Toward a More Resilient Cloud
 
Web Scale Applications using NeflixOSS Cloud Platform
Web Scale Applications using NeflixOSS Cloud PlatformWeb Scale Applications using NeflixOSS Cloud Platform
Web Scale Applications using NeflixOSS Cloud Platform
 
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
 

More from Hui Cheng

OpenStack in China
OpenStack in ChinaOpenStack in China
OpenStack in ChinaHui Cheng
 
Island: Local Storage Volume for Cinder
Island: Local Storage Volume for CinderIsland: Local Storage Volume for Cinder
Island: Local Storage Volume for CinderHui Cheng
 
DevOps in a Public OpenStack Cloud - Hui Cheng
DevOps in a Public OpenStack Cloud - Hui ChengDevOps in a Public OpenStack Cloud - Hui Cheng
DevOps in a Public OpenStack Cloud - Hui ChengHui Cheng
 
OpenStack Foundation Updates
OpenStack Foundation UpdatesOpenStack Foundation Updates
OpenStack Foundation UpdatesHui Cheng
 
COSUG updates
COSUG updatesCOSUG updates
COSUG updatesHui Cheng
 
Cinder intro@open stack china-tour-shenzhen
Cinder intro@open stack china-tour-shenzhenCinder intro@open stack china-tour-shenzhen
Cinder intro@open stack china-tour-shenzhenHui Cheng
 
Lessons from Building OpenStack Public Cloud
Lessons from Building OpenStack Public CloudLessons from Building OpenStack Public Cloud
Lessons from Building OpenStack Public CloudHui Cheng
 
Open stack with_openflowsdn-torii
Open stack with_openflowsdn-toriiOpen stack with_openflowsdn-torii
Open stack with_openflowsdn-toriiHui Cheng
 
Open Source Software & Open Source Hardware
Open Source Software & Open Source HardwareOpen Source Software & Open Source Hardware
Open Source Software & Open Source HardwareHui Cheng
 
OpenStack Network Planning
OpenStack Network PlanningOpenStack Network Planning
OpenStack Network PlanningHui Cheng
 
Asia pacopenstack joe-draft 2012-08-08
Asia pacopenstack joe-draft 2012-08-08Asia pacopenstack joe-draft 2012-08-08
Asia pacopenstack joe-draft 2012-08-08Hui Cheng
 
The Application of OpenStack in 360buy, by Bin He
The Application of OpenStack in 360buy, by Bin HeThe Application of OpenStack in 360buy, by Bin He
The Application of OpenStack in 360buy, by Bin HeHui Cheng
 
Distributed Block-level Storage Management for OpenStack, by Danile lee
Distributed Block-level Storage Management for OpenStack, by Danile leeDistributed Block-level Storage Management for OpenStack, by Danile lee
Distributed Block-level Storage Management for OpenStack, by Danile leeHui Cheng
 
Cloud Based VDI with OpenStack, by Shifen Yang
Cloud Based VDI with OpenStack, by Shifen YangCloud Based VDI with OpenStack, by Shifen Yang
Cloud Based VDI with OpenStack, by Shifen YangHui Cheng
 
Openstorage with OpenStack, by Bradley
Openstorage with OpenStack, by BradleyOpenstorage with OpenStack, by Bradley
Openstorage with OpenStack, by BradleyHui Cheng
 
MAKING MONEY from openstack
MAKING MONEY from openstackMAKING MONEY from openstack
MAKING MONEY from openstackHui Cheng
 
Dell OpenStack Powered Cloud Solution and Case Sharing
Dell OpenStack Powered Cloud Solution and Case SharingDell OpenStack Powered Cloud Solution and Case Sharing
Dell OpenStack Powered Cloud Solution and Case SharingHui Cheng
 
Network Service in OpenStack Cloud, by Yaohui Jin
Network Service in OpenStack Cloud, by Yaohui JinNetwork Service in OpenStack Cloud, by Yaohui Jin
Network Service in OpenStack Cloud, by Yaohui JinHui Cheng
 
China OpenStack Community Status
China OpenStack Community StatusChina OpenStack Community Status
China OpenStack Community StatusHui Cheng
 
OpenStack Chances and Chanlleges_OSAC_by_ChengHui
OpenStack Chances and Chanlleges_OSAC_by_ChengHuiOpenStack Chances and Chanlleges_OSAC_by_ChengHui
OpenStack Chances and Chanlleges_OSAC_by_ChengHuiHui Cheng
 

More from Hui Cheng (20)

OpenStack in China
OpenStack in ChinaOpenStack in China
OpenStack in China
 
Island: Local Storage Volume for Cinder
Island: Local Storage Volume for CinderIsland: Local Storage Volume for Cinder
Island: Local Storage Volume for Cinder
 
DevOps in a Public OpenStack Cloud - Hui Cheng
DevOps in a Public OpenStack Cloud - Hui ChengDevOps in a Public OpenStack Cloud - Hui Cheng
DevOps in a Public OpenStack Cloud - Hui Cheng
 
OpenStack Foundation Updates
OpenStack Foundation UpdatesOpenStack Foundation Updates
OpenStack Foundation Updates
 
COSUG updates
COSUG updatesCOSUG updates
COSUG updates
 
Cinder intro@open stack china-tour-shenzhen
Cinder intro@open stack china-tour-shenzhenCinder intro@open stack china-tour-shenzhen
Cinder intro@open stack china-tour-shenzhen
 
Lessons from Building OpenStack Public Cloud
Lessons from Building OpenStack Public CloudLessons from Building OpenStack Public Cloud
Lessons from Building OpenStack Public Cloud
 
Open stack with_openflowsdn-torii
Open stack with_openflowsdn-toriiOpen stack with_openflowsdn-torii
Open stack with_openflowsdn-torii
 
Open Source Software & Open Source Hardware
Open Source Software & Open Source HardwareOpen Source Software & Open Source Hardware
Open Source Software & Open Source Hardware
 
OpenStack Network Planning
OpenStack Network PlanningOpenStack Network Planning
OpenStack Network Planning
 
Asia pacopenstack joe-draft 2012-08-08
Asia pacopenstack joe-draft 2012-08-08Asia pacopenstack joe-draft 2012-08-08
Asia pacopenstack joe-draft 2012-08-08
 
The Application of OpenStack in 360buy, by Bin He
The Application of OpenStack in 360buy, by Bin HeThe Application of OpenStack in 360buy, by Bin He
The Application of OpenStack in 360buy, by Bin He
 
Distributed Block-level Storage Management for OpenStack, by Danile lee
Distributed Block-level Storage Management for OpenStack, by Danile leeDistributed Block-level Storage Management for OpenStack, by Danile lee
Distributed Block-level Storage Management for OpenStack, by Danile lee
 
Cloud Based VDI with OpenStack, by Shifen Yang
Cloud Based VDI with OpenStack, by Shifen YangCloud Based VDI with OpenStack, by Shifen Yang
Cloud Based VDI with OpenStack, by Shifen Yang
 
Openstorage with OpenStack, by Bradley
Openstorage with OpenStack, by BradleyOpenstorage with OpenStack, by Bradley
Openstorage with OpenStack, by Bradley
 
MAKING MONEY from openstack
MAKING MONEY from openstackMAKING MONEY from openstack
MAKING MONEY from openstack
 
Dell OpenStack Powered Cloud Solution and Case Sharing
Dell OpenStack Powered Cloud Solution and Case SharingDell OpenStack Powered Cloud Solution and Case Sharing
Dell OpenStack Powered Cloud Solution and Case Sharing
 
Network Service in OpenStack Cloud, by Yaohui Jin
Network Service in OpenStack Cloud, by Yaohui JinNetwork Service in OpenStack Cloud, by Yaohui Jin
Network Service in OpenStack Cloud, by Yaohui Jin
 
China OpenStack Community Status
China OpenStack Community StatusChina OpenStack Community Status
China OpenStack Community Status
 
OpenStack Chances and Chanlleges_OSAC_by_ChengHui
OpenStack Chances and Chanlleges_OSAC_by_ChengHuiOpenStack Chances and Chanlleges_OSAC_by_ChengHui
OpenStack Chances and Chanlleges_OSAC_by_ChengHui
 

Recently uploaded

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Recently uploaded (20)

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

Swift Architecture and Practice, by Alex Yang

  • 1. 架构与实践 Swift 在这里写上你的标题 @SinaAppEngine 副标题文字副标题文字 杨雨 /2012-08-日 作者名字 / 11 期
  • 2. Content 1 Principles and Architecture 写上你的文字你的文字 00 2 The Practice of Swift @SinaAppEngine 01 02 3 Problems and Imporvemetns 03 04 05
  • 3. Storage Types Types Protocol Application 00 写上你的文字你的文字 Block Storage SATA, SCSI, iSCSI SAN, NAS, EBS 01 File Storage Ext3/4, XFS, NTFS PC, Servers, NFS 02 Object Storage HTTP, REST Amazon S3, 03 Google Cloud Storage, Rackspace Cloud Files 04 Specific Storage Specific protocol MySQL, MongoDB, 05 based on tcp HDFS
  • 4. Storage Types 00 写上你的文字你的文字 01 02 03 04 05 From: http://www.buildcloudstorage.com/2012/08/is-openstack-swift-reliable-enough-for.html
  • 5. Targets •High Reliability = High Durability + High Availability •High Durability - Replicas and Recovery •High Availability - Replicas and Partition •Low Cost - Commodity Hardware •Scale Out - No Single Bottleneck, Share Nothing
  • 7. Reliability Consistent Hashing with Virtual Node
  • 8. Reliability Consistent Hashing with Virtual Node
  • 9. Reliability The advantages of consistent hashing: 1.Metadata is small;(AWS S3 has 762 billion objects) 2.Distribution unformity; 3.Peer to perr comunication; 4.Load blance.
  • 10. Reliability •Virtual node(partition) - Object distribution uniformity •Weight - Allocate partitions dynamically •Zone - Partition Tolerance Zones can be used to group devices based on physical locations, power separations, network separations, or any other attribute that would lessen multiple replicas being unavailable at the same time. Swift : Ring - The index file for locating object in the cluster.
  • 12. Reliability Durability: 99.999..9%? AWS S3 with 99.999999999% •Annualized failure rate of devices.(disk, network...) •Bit rot rate and the time to detect bit rot. •Mean time to recovery. •More about durability : http://www.buildcloudstorage.com/2012/08/is-openstack-swift- reliable-enough-for.html Swift : Auditor - To detect bit rot; Replicator-To keep the consistency of object;
  • 14. Consistency Model Quroum + Object Version + Async Replicatiton Quroum Protocol: N, the number of nodes that store replicas of the data; W, the number of replicas that need to acknowledge the receipt of the update before the update completes; R, the number of replicas that are contacted when a data object is accessed through a read operation; If W+R>N, then the write set and the read set always overlap and one can guarantee strong consistency. In Swift, NWR is configurable. General configuration: N=3, W=2, R=1 or 2, So the swift can providetwo models of consistency, strong and eventual.
  • 15. Consistency Model Weak Consistency ( N=3,W=2,R=1 )
  • 19. Metadata account |-- container1 |------obj1 |------obj2 |-- container2 |------objN How to store the relationship of account, container and object? •Relation Database •NoSQL, Cassandra, MongoDB •Relation Datatbase with Sharding
  • 20. Metadata The target of swift: no single failure, no bottletneck, scale out The Swift way: sqlite + consistent hashing + quroum A sqlite db file is an object. So the database is HA, durable and with eventual consistency.
  • 21.
  • 25. Our Works •Swift as the SAE Storage -Auth module for SAE(Key-Pair) -Keystone for SAE(Token) -HTTP Cache-Control module -Quota(limit the number of containers and objects, limit the storage usage) -Domain remap app-domain.stor.sinaapp.com/obj To sinas3.com/v1/SAE_app/domain -Rsync with bwlimit -Billing -Storage Firewall •Swift as the SWS Simple Storage Service -Container unique module container.sinas3.com/object -Keystone middleware for auth protocol converting
  • 26. Our Steps for Switching SAE Storage •Bypass test one month online( 旁路读写测试 ) •Switch step by step one month( 灰度切换 ) •Ops Monitoring: I/O, CPU, Memery, Disk LogCenter: syslog-ng, statistics and analytics
  • 27.
  • 28.
  • 29.
  • 30. Problems&Imporvements The async processor for keeping eventual consistency is inefficient. Replicator, auditor, container-updater Logic: loop all objects or dbs on disk, query replica's server to determin whether to sync. Results: High I/O; High CPU usage; Stress on account/container/object- servers, impact the availability; Long time for eventual consistency, impact the durability; The list operation is not consistent. How to improvements? 1.Runing replicator, auditor and container updater during idle time; 2.An appropriate deployment; 3.A new protocol for keeping relplica's consistency; (based on log and message queue) 4.Adding new nodes, scale out.
  • 31. Problems&Imporvements The performance of sqlite. Quota for objects and containers Running sqlite on the high performance I/O devices The bandwidth of rsync is not under control. Out-of-band management Add bandwidth limitations for rsync Database centralized or distributed?
  • 33. Q&A Weibo: @AlexYang_Coder Email: yangyu4@staff.sina.com.cn GTalk: alex890714@gmail.com Blog: http://alexyang.sinaapp.com