Cloudifying Source Code Repositories: How much does it cost? 1 Hadi Salimi, Distributed Systems Labaratory, School of Computer Engineering, Iran University.

Slides:



Advertisements
Similar presentations
Wait-free coordination for Internet-scale systems
Advertisements

Cloudifying Source Code Repositories: How much does it cost? LADIS 2009 Big Sky, Montana Michael Siegenthaler Hakim Weatherspoon Cornell University.
PROVENANCE FOR THE CLOUD (USENIX CONFERENCE ON FILE AND STORAGE TECHNOLOGIES(FAST `10)) Kiran-Kumar Muniswamy-Reddy, Peter Macko, and Margo Seltzer Harvard.
Let Use SVN(Subversion) Interaction Lab. Hyo-Geun Ahn
Flavio Junqueira, Mahadev Konar, Andrew Kornev, Benjamin Reed
Summer of Code (SOC) Presentation Fred R McClurg Girish H Mhatre Version Control Overview.
Revision Control Systems Amin Tootoonchian Kian Mirjalali.
Version Control What it is and why you want it. What is Version Control? A system that manages changes to documents, files, or any other stored information.
Dedi Rahmawan Putra  Shared Document  Conventional Ways  Common Problems  What is TortoiseSVN  Advantages over another tools  Basic Concepts.
Source Control in MATLAB A tool for tracking changes in software development projects. Stuart Nelis & Rachel Sheldon.
1 SVN – Tool for Version Control Talal Ahmed ( ) Ali Ahsan ( ) Adil Zia Khan ( ) Farid Ullah ( )
Version Control Systems Phil Pratt-Szeliga Fall 2010.
Google Bigtable A Distributed Storage System for Structured Data Hadi Salimi, Distributed Systems Laboratory, School of Computer Engineering, Iran University.
CVS II: Parallelizing Software Development Author: Brian Berliner John Tully.
Revision Control Practices in Software Engineering Surekha, Kotiyala Madhuri, Komuravelly Suchitra, Yerramalla.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
SubVersioN – the new Central Service at DESY by Marian Gawron.
Talend 5.4 Architecture Adam Pemble Talend Professional Services.
Version control Using Git 1Version control, using Git.
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
Source Control Repositories for Team Collaboration: SVN, TFS, Git Svetlin Nakov Telerik Software Academy academy.telerik.com Manager Technical Training.
Introduction to Version Control with SVN & Git CSC/ECE 517, Fall 2012 Titus Barik & Ed Gehringer, with help from Gaurav.
Pepper: An Elastic Web Server Farm for Cloud based on Hadoop Author : S. Krishnan, J.-S. Counio Date : Speaker : Sian-Lin Hong IEEE International.
MAHADEV KONAR Apache ZooKeeper. What is ZooKeeper? A highly available, scalable, distributed coordination kernel.
Promoting Open Source Software Through Cloud Deployment: Library à la Carte, Heroku, and OSU Michael B. Klein Digital Applications Librarian
Introduction to Version Control
Source Control Repositories for Team Collaboration: SVN, TFS, Git.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
1 Introductory Notes on the Git Source Control Management Ric Holt, 8 Oct 2009.
Introduction to Hadoop and HDFS
Service Computation 2010November 21-26, Lisbon.
A Framework for Elastic Execution of Existing MPI Programs Aarthi Raveendran Tekin Bicer Gagan Agrawal 1.
Source Code Control CSE 3902 Matt Boggus. Source code control options for CSE 3902 Must use source code control that is integrated with Visual Studio.
Version control Using Git Version control, using Git1.
…using Git/Tortoise Git
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Version Control Menggunakan TortoiseSVN
(Sub)Version Control. 2 Keep large teams working on the same code Back up your work so you don't lose it all Compare changes to previous versions Revert.
Subversion (SVN) A Revision Control System Successor to CVS Carlos Armas Hervey Allen.
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
Computer Science and Engineering The Ohio State University  Widely used, especially in the opensource community, to track all changes to a project and.
1 Brief Introduction to Revision Control Ric Holt.
Version Control with SVN Images from TortoiseSVN documentation
Patrick Wolf Head of Pipeline Pixomondo. Challenges in a global environment  Pixomondo: 12 branches, 660+, 5 countries, 6 zones, 24/7  Challenges: tracking.
Version Control Systems. Version Control Manage changes to software code – Preserve history – Facilitate multiple users / versions.
Version Control System Lisa Palathingal 03/04/2015.
Don’t Copy Data! Instead, Share it at Scale. Mark Korver Geospatial Lead – WWPS Solution Architecture.
Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data.
Version Control System
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Information Systems and Network Engineering Laboratory I DR. KEN COSH WEEK 1.
MyUWO Portal Updates By: Emily Al Bulushi Richard Sheppard Steven Beshensky.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
NALINI S. NAUTIYAL SYSTEM SOFTWARE DIVISION Subversion.
DIGITAL REPOSITORIES CGDD Job Description… Senior Tools Programmer – pulled August 4 th, 2011 from Gamasutra.
Source Control Dr. Scott Schaefer. Version Control Systems Allow for maintenance and archiving of multiple versions of code / other files Designed for.
Source Code Control For CSE 3902 By: Matt Boggus.
4 Version control (part 1)
Information Systems and Network Engineering Laboratory II
Subversion for administrators
Source Control Dr. Scott Schaefer.
Version Control with Subversion (SVN)
Version control, using Git
Concurrent Version Control
© 2016 Global Market Insights, Inc. USA. All Rights Reserved Version Control Systems Industry analysis research and trends report for.
Source Code Management
Wait-free coordination for Internet-scale systems
Git GitHub.
Presentation transcript:

Cloudifying Source Code Repositories: How much does it cost? 1 Hadi Salimi, Distributed Systems Labaratory, School of Computer Engineering, Iran University of Science and Technology Fall 2010

What’s the Cloud Computing ??? Large scale Application-specific architectures Developed for in-house use Available for general usage Inexpensive, even for small or medium scale deployments 2

What is Revision Control? Repository for data (source code) –All changes are tracked by date and author –Branching and merging Why move it to the cloud? –Resilient storage –No physical server to administrate –Scale to larger communities (SourceForge) 3

Available Tools Subversion, revision control system –Free, open-source –Very popular –Rigid consistency model 4

Available Tools (Cont’d) Amazon S3, cloud storage service –Eventual consistency Yahoo ZooKeeper, coordination service –Free, open-source 5

Alternative solutions Cloud ComputingP2P Subversion etc. Repository stored persistently in the cloud One true, consistent repository exists GIT etc. Repository stored at every client Many repository copies, converging eventually 6

Outline Costs of using cloud storage for revision control Architecture of a simple solution Performance evaluation 7

How to Measure Costs Each revision stored as two files on disk –Revision data –Revision properties Calculate bandwidth, per-transaction, and storage costs of pushing each revision into S3 over time 8

Storage Costs 9

Storage Trends 10

Outline Costs of using cloud storage for revision control Architecture of a simple solution Performance evaluation 11

Today’s architecture for source code revision control... 12

A cloud-based architecture... EC2 S3 13

Two simultaneous commits… EC2 S3 Rev Followed by an update… Leads to data loss! 14

EC2 S3 15

Commit Process ZooKeeper 16

17

Outline Costs of using cloud storage for revision control Architecture of a simple solution Performance evaluation 18

Usage Observations Apache Foundation –1 repository, 74 projects –Average 1.10 commits per minute –Maximum 7 commits per minute Debian community –506 repositories –Average 1.12 commits per minute –Maximum 6 commits per minute 19

Results Checkouts (Reads)Commits (Writes) Adding servers improves the user experience 20

Conclusion Storing source code repositories in the cloud is feasible… …and very inexpensive Only minor changes to existing revision control systems are necessary to robustly take advantage of cloud storage 21

Lock Service: ZooKeeper Open source tool developed by Yahoo! Tree namespace with storage in nodes –Sequence nodes: automatically append a sequence number –Ephemeral nodes: disappear when the session that created them is closed –Clients can watch a node for changes All clients see changes in same order 22

s3vn Components mkrepo: Create a repository in an S3 bucket fetchrepo: Copy a repository from S3 to the local disk updaterepo: Background process to fetch changes from S3 as they are made start-commit-hook: Acquire a global write lock when a new revision is committed post-commit-hook: Upload the new changes to S3 and release the write lock 23

Questions or Comment 24