SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
Chmouel Boudjnah!
OpenStack Summit 2014 Atlanta
OpenStack Swift as a Backend for Git
Chmouel Boudjnah - @chmouel - eNovance
Chmouel Boudjnah - @chmouel - eNovance
The mandatory about me
Chmouel Boudjnah - @chmouel - eNovance
About me
I am not the author, Fabien Boucher
aka: @bzho
Chmouel Boudjnah - @chmouel - eNovance
Chmouel Boudjnah - @chmouel - eNovance
About me
We both work for eNovance
Chmouel Boudjnah - @chmouel - eNovance
About me
OpenStacker for quite some time now
Chmouel Boudjnah - @chmouel - eNovance
So what is Swift?
Chmouel Boudjnah - @chmouel - eNovance
• Object Storage
• Not a file system
• Eventually Consistent
• HTTP REST API
• Very Scalable
• Software defined Storage
What is Swift
Chmouel Boudjnah - @chmouel - eNovance
Why would you want to use GIT with Swift?
Chmouel Boudjnah - @chmouel - eNovance
Why Swift with GIT
Why not?
Chmouel Boudjnah - @chmouel - eNovance
Why Swift with GIT
When you use a file system you have to :
Perform backups of your repositories regularly
Perform complex and risky operations to extend the storage capabilities
for you repositories.
You have mostly have to manage it yourself
It’s an another piece in your infrastructure
You have to manage the downtime
Not fun
Chmouel Boudjnah - @chmouel - eNovance
So what are the benefits?
Chmouel Boudjnah - @chmouel - eNovance
Why Swift with GIT
The advantages of using Swift
Safety: The inherent replication of a data store.
Capability: easily extend storage capacity.
High Availability: no single point of failure.
Maintainability: allow operations teams to maintain the cluster without
any downtime.
In an OpenStack environment it’s usually already there.
Chmouel Boudjnah - @chmouel - eNovance
Let’s see how git internal works
Chmouel Boudjnah - @chmouel - eNovance
Chmouel Boudjnah - @chmouel - eNovance
Chmouel Boudjnah - @chmouel - eNovance
So how did we plug that to Swift?
Chmouel Boudjnah - @chmouel - eNovance
We did not want to modify the GIT client binaries.
Chmouel Boudjnah - @chmouel - eNovance
We used a pure python GIT library called Dulwich
Chmouel Boudjnah - @chmouel - eNovance
• Create, read, manage loose objects (blob, tree,
commit, tag).
• Create, read, manage pack files, pack indexes.
• Implement the Git smart protocol through git-
upload-pack and git-receive-pack.
• Implement the Git, HTTP, SSH listeners to start
Dulwich as a Git server.
• Provide a well designed interface to the storage
backend. (Repo, MemoryRepo).
Dulwich
Chmouel Boudjnah - @chmouel - eNovance
How do we use Dulwhich
We implemented a custom repo called SwiftRepo as a backend to the git
listener of Dulwich which communicate to OpenStack Swift
Chmouel Boudjnah - @chmouel - eNovance
So about that SwiftRepo backend how does it
work?
Chmouel Boudjnah - @chmouel - eNovance
SwiftRepos backend to Dulwich
It doesn’t use the standard way to store Git
references (one file by reference).
It doesn’t store loose objects but instead uses the pack format.
In addition to the .index that relate to each pack file we added .info object
It makes the Request to Swift concurrently.
Chmouel Boudjnah - @chmouel - eNovance
How’s the benchmark then?
Chmouel Boudjnah - @chmouel - eNovance
Benchmark Setup
Benchmark performed on two architectures :
Github :
● Git client from eNovance network <-> GitHub
!
Dulwich/Swift :
●· Git client from eNovance network <-> Dulwich (Rax compute) <->
Rax Cloudfiles
!
Three different repos :
!
●· Swiftsync (873 objects with 293 commits)
●· Edeploy (2246 objects with 618 commits)
●· Swift (23480 objects with 3212 commit)
Chmouel Boudjnah - @chmouel - eNovance
Full repository push
Chmouel Boudjnah - @chmouel - eNovance
Clone
Chmouel Boudjnah - @chmouel - eNovance
That’s it, hope you
enjoyed.
Chmouel Boudjnah - @chmouel - eNovance
Eventual Consistentie
Why Eventual Consistentie window is not an issue

Contenu connexe

Tendances

Tendances (20)

Concourse webhook
Concourse webhookConcourse webhook
Concourse webhook
 
Fact-Based Monitoring - PuppetConf 2014
Fact-Based Monitoring - PuppetConf 2014Fact-Based Monitoring - PuppetConf 2014
Fact-Based Monitoring - PuppetConf 2014
 
Introduction to bower
Introduction to bowerIntroduction to bower
Introduction to bower
 
Don't be the bottleneck of your open source project!
Don't be the bottleneck of your open source project!Don't be the bottleneck of your open source project!
Don't be the bottleneck of your open source project!
 
How to build and host an async activity feed in azure
How to build and host an async activity feed in azureHow to build and host an async activity feed in azure
How to build and host an async activity feed in azure
 
Broken Dreams & Shattered Promises
Broken Dreams & Shattered PromisesBroken Dreams & Shattered Promises
Broken Dreams & Shattered Promises
 
Unleashing the Rails Asset Pipeline
Unleashing the Rails Asset PipelineUnleashing the Rails Asset Pipeline
Unleashing the Rails Asset Pipeline
 
Deploy your web app to aws
Deploy your web app to awsDeploy your web app to aws
Deploy your web app to aws
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
ConcourseCi Dockerimage
ConcourseCi DockerimageConcourseCi Dockerimage
ConcourseCi Dockerimage
 
Puppet, now with google!
Puppet, now with google!Puppet, now with google!
Puppet, now with google!
 
Ansible party in the [Google] clouds
Ansible party in the [Google] cloudsAnsible party in the [Google] clouds
Ansible party in the [Google] clouds
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Building a Dev/Test Cloud with Apache CloudStack
Building a Dev/Test Cloud with Apache CloudStackBuilding a Dev/Test Cloud with Apache CloudStack
Building a Dev/Test Cloud with Apache CloudStack
 
AWS Customer Presentation - SchoolofEverything
AWS Customer Presentation - SchoolofEverythingAWS Customer Presentation - SchoolofEverything
AWS Customer Presentation - SchoolofEverything
 
Drupal 8 + Elasticsearch + Docker
Drupal 8 + Elasticsearch + DockerDrupal 8 + Elasticsearch + Docker
Drupal 8 + Elasticsearch + Docker
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
 
Teaching a Designer to Use GitHub
Teaching a Designer to Use GitHubTeaching a Designer to Use GitHub
Teaching a Designer to Use GitHub
 
Aegir Fresno Drupal User Group 1-21-10
Aegir Fresno Drupal User Group 1-21-10Aegir Fresno Drupal User Group 1-21-10
Aegir Fresno Drupal User Group 1-21-10
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 

Similaire à Git with Swift Atlanta 2014

OpenStack and Ceph: the Winning Pair
OpenStack and Ceph: the Winning PairOpenStack and Ceph: the Winning Pair
OpenStack and Ceph: the Winning Pair
Red_Hat_Storage
 

Similaire à Git with Swift Atlanta 2014 (20)

Art of unittesting in OpenStack - Paris 2014
Art of unittesting in OpenStack - Paris 2014Art of unittesting in OpenStack - Paris 2014
Art of unittesting in OpenStack - Paris 2014
 
OpenNebulaConf2015 1.07 Cloud for Scientific Computing @ STFC - Alexander Dibbo
OpenNebulaConf2015 1.07 Cloud for Scientific Computing @ STFC - Alexander DibboOpenNebulaConf2015 1.07 Cloud for Scientific Computing @ STFC - Alexander Dibbo
OpenNebulaConf2015 1.07 Cloud for Scientific Computing @ STFC - Alexander Dibbo
 
Ansible module development 101
Ansible module development 101Ansible module development 101
Ansible module development 101
 
Build an Infra Product with AWS Fargate
Build an Infra Product with AWS FargateBuild an Infra Product with AWS Fargate
Build an Infra Product with AWS Fargate
 
Organize your chickens: NuGet for the enterprise
Organize your chickens: NuGet for the enterpriseOrganize your chickens: NuGet for the enterprise
Organize your chickens: NuGet for the enterprise
 
OpenStack and Ceph: the Winning Pair
OpenStack and Ceph: the Winning PairOpenStack and Ceph: the Winning Pair
OpenStack and Ceph: the Winning Pair
 
Kubecon 2019 Recap
Kubecon 2019 RecapKubecon 2019 Recap
Kubecon 2019 Recap
 
OpenStack Ottawa Q2 MeetUp - May 31st 2017
OpenStack Ottawa Q2 MeetUp - May 31st 2017OpenStack Ottawa Q2 MeetUp - May 31st 2017
OpenStack Ottawa Q2 MeetUp - May 31st 2017
 
OpenStack@NBU
OpenStack@NBUOpenStack@NBU
OpenStack@NBU
 
Principles of Iteration
Principles of IterationPrinciples of Iteration
Principles of Iteration
 
Ceph & OpenStack - Boston Meetup
Ceph & OpenStack - Boston MeetupCeph & OpenStack - Boston Meetup
Ceph & OpenStack - Boston Meetup
 
Ceph and openstack at the boston meetup
Ceph and openstack at the boston meetupCeph and openstack at the boston meetup
Ceph and openstack at the boston meetup
 
How to Contribute to Ansible
How to Contribute to AnsibleHow to Contribute to Ansible
How to Contribute to Ansible
 
Conversational Development [Agile Portugal]
Conversational Development [Agile Portugal]Conversational Development [Agile Portugal]
Conversational Development [Agile Portugal]
 
Intro - End to end ML with Kubeflow @ SignalConf 2018
Intro - End to end ML with Kubeflow @ SignalConf 2018Intro - End to end ML with Kubeflow @ SignalConf 2018
Intro - End to end ML with Kubeflow @ SignalConf 2018
 
Using NuGet the way you should - TechDays NL 2014
Using NuGet the way you should - TechDays NL 2014Using NuGet the way you should - TechDays NL 2014
Using NuGet the way you should - TechDays NL 2014
 
Kubeflow
KubeflowKubeflow
Kubeflow
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
NLUUG print conference May 26 2016
NLUUG print conference May 26 2016NLUUG print conference May 26 2016
NLUUG print conference May 26 2016
 
OpenStack Toronto Q2 MeetUp - June 1st 2017
OpenStack Toronto Q2 MeetUp - June 1st 2017OpenStack Toronto Q2 MeetUp - June 1st 2017
OpenStack Toronto Q2 MeetUp - June 1st 2017
 

Dernier

₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
Diya Sharma
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
@Chandigarh #call #Girls 9053900678 @Call #Girls in @Punjab 9053900678
 
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Chandigarh Call girls 9053900678 Call girls in Chandigarh
 

Dernier (20)

Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort ServiceBusty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
 
Al Barsha Night Partner +0567686026 Call Girls Dubai
Al Barsha Night Partner +0567686026 Call Girls  DubaiAl Barsha Night Partner +0567686026 Call Girls  Dubai
Al Barsha Night Partner +0567686026 Call Girls Dubai
 
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
 
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
 
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 

Git with Swift Atlanta 2014

  • 1. Chmouel Boudjnah! OpenStack Summit 2014 Atlanta OpenStack Swift as a Backend for Git Chmouel Boudjnah - @chmouel - eNovance
  • 2. Chmouel Boudjnah - @chmouel - eNovance The mandatory about me
  • 3. Chmouel Boudjnah - @chmouel - eNovance About me I am not the author, Fabien Boucher aka: @bzho Chmouel Boudjnah - @chmouel - eNovance
  • 4. Chmouel Boudjnah - @chmouel - eNovance About me We both work for eNovance
  • 5. Chmouel Boudjnah - @chmouel - eNovance About me OpenStacker for quite some time now
  • 6. Chmouel Boudjnah - @chmouel - eNovance So what is Swift?
  • 7. Chmouel Boudjnah - @chmouel - eNovance • Object Storage • Not a file system • Eventually Consistent • HTTP REST API • Very Scalable • Software defined Storage What is Swift
  • 8. Chmouel Boudjnah - @chmouel - eNovance Why would you want to use GIT with Swift?
  • 9. Chmouel Boudjnah - @chmouel - eNovance Why Swift with GIT Why not?
  • 10. Chmouel Boudjnah - @chmouel - eNovance Why Swift with GIT When you use a file system you have to : Perform backups of your repositories regularly Perform complex and risky operations to extend the storage capabilities for you repositories. You have mostly have to manage it yourself It’s an another piece in your infrastructure You have to manage the downtime Not fun
  • 11. Chmouel Boudjnah - @chmouel - eNovance So what are the benefits?
  • 12. Chmouel Boudjnah - @chmouel - eNovance Why Swift with GIT The advantages of using Swift Safety: The inherent replication of a data store. Capability: easily extend storage capacity. High Availability: no single point of failure. Maintainability: allow operations teams to maintain the cluster without any downtime. In an OpenStack environment it’s usually already there.
  • 13. Chmouel Boudjnah - @chmouel - eNovance Let’s see how git internal works
  • 14. Chmouel Boudjnah - @chmouel - eNovance
  • 15. Chmouel Boudjnah - @chmouel - eNovance
  • 16. Chmouel Boudjnah - @chmouel - eNovance So how did we plug that to Swift?
  • 17. Chmouel Boudjnah - @chmouel - eNovance We did not want to modify the GIT client binaries.
  • 18. Chmouel Boudjnah - @chmouel - eNovance We used a pure python GIT library called Dulwich
  • 19. Chmouel Boudjnah - @chmouel - eNovance • Create, read, manage loose objects (blob, tree, commit, tag). • Create, read, manage pack files, pack indexes. • Implement the Git smart protocol through git- upload-pack and git-receive-pack. • Implement the Git, HTTP, SSH listeners to start Dulwich as a Git server. • Provide a well designed interface to the storage backend. (Repo, MemoryRepo). Dulwich
  • 20. Chmouel Boudjnah - @chmouel - eNovance How do we use Dulwhich We implemented a custom repo called SwiftRepo as a backend to the git listener of Dulwich which communicate to OpenStack Swift
  • 21. Chmouel Boudjnah - @chmouel - eNovance So about that SwiftRepo backend how does it work?
  • 22. Chmouel Boudjnah - @chmouel - eNovance SwiftRepos backend to Dulwich It doesn’t use the standard way to store Git references (one file by reference). It doesn’t store loose objects but instead uses the pack format. In addition to the .index that relate to each pack file we added .info object It makes the Request to Swift concurrently.
  • 23. Chmouel Boudjnah - @chmouel - eNovance How’s the benchmark then?
  • 24. Chmouel Boudjnah - @chmouel - eNovance Benchmark Setup Benchmark performed on two architectures : Github : ● Git client from eNovance network <-> GitHub ! Dulwich/Swift : ●· Git client from eNovance network <-> Dulwich (Rax compute) <-> Rax Cloudfiles ! Three different repos : ! ●· Swiftsync (873 objects with 293 commits) ●· Edeploy (2246 objects with 618 commits) ●· Swift (23480 objects with 3212 commit)
  • 25. Chmouel Boudjnah - @chmouel - eNovance Full repository push
  • 26. Chmouel Boudjnah - @chmouel - eNovance Clone
  • 27. Chmouel Boudjnah - @chmouel - eNovance That’s it, hope you enjoyed.
  • 28. Chmouel Boudjnah - @chmouel - eNovance Eventual Consistentie Why Eventual Consistentie window is not an issue