SlideShare a Scribd company logo
Enterprise Git - the hard bits
Matthew Barr
Enterprise Git - the hard bits
Matthew Barr, Architect
©2016 AKAMAI | FASTER FORWARD
TM
Overview
● Introduction
● Git hosting options
● o18n
● Safety & Best Practices
©2016 AKAMAI | FASTER FORWARD
TM
Admissions
Lawyer
Not
Compliance
Not
Internal Audit
Not
PCI Assessor (QSA)
Not
the Mama.
Not
© Disney/Henson
DOES SFO 2016 - Matthew Barr - Enterprise Git - the hard bits
©2016 AKAMAI | FASTER FORWARD
TM
Me:
SysAdmin / DevOps Engineer for 20 years
● Lehman Bros, MarkitServ
● Community Connect, Snap Interactive
● Nokia
Focus @ Akamai: Developer Productivity
● Provide tools for our engineers
● SCM, Build, CI & Test systems
● Current project: Horizontally scalable build farm w/ Docker agents
So you want to be
a hero
store your code in Git
©2016 AKAMAI | FASTER FORWARD
TM
GitHub or Bitbucket
● Hosted
● Great features
● Low overhead
● Great for small teams
● Even medium size
©2016 AKAMAI | FASTER FORWARD
TM
Self hosted options
● GitLab
● Gitolite
● cgit
©2016 AKAMAI | FASTER FORWARD
TM
Enterprise
● Github Enterprise
● Bitbucket Server (Atlassian) (née Stash)
● Gitlab Enterprise
● Perforce GitSwarm
©2016 AKAMAI | FASTER FORWARD
TM
Git @ Akamai
● Currently: 6000+ repositories, 115+ Projects/Organizations
○ Not primary code repository (yet)
● Relaunched 1 year ago
● Stash Data Center Edition
● 2 sites
○ 2 App Servers
○ 2 DB nodes
○ Netapp filer & load balancer
©2016 AKAMAI | FASTER FORWARD
TM
o16n (Operationalization)*
* Gordon Marx
©2016 AKAMAI | FASTER FORWARD
TM
HA, DR, GeoDiversity & Backups
● Varies by product
● Github Enterprise
○ Clustering
○ Active / Passive Node
○ Point in time snapshots
● Bitbucket Server
○ Self Service Backups, DB replication, Snapshots
○ Improvement in Bitbucket Server (Stash)
■ Smart Mirrors
■ Zero Downtime Backups
©2016 AKAMAI | FASTER FORWARD
TM
Authentication for the enterprise
● Mandate: No passwords
● 3 types of access
○ WebUI
○ Git (SSH, HTTPS)
○ API
● SAML for WebUI
● SSH key sync script from LDAP
● X.509 Client auth for API
©2016 AKAMAI | FASTER FORWARD
TM
Safety & Best Practices
©2016 AKAMAI | FASTER FORWARD
TM
PCI, SOX, etc.
Boils down to:
● Prevent unauthorized changes
● Review change!
©2016 AKAMAI | FASTER FORWARD
TM
Code Review - Pull Requests
● Sign offs - +1, approvers
● Prevent merges without PR’s
● Merge commits
○ Audit points, in git log
©2016 AKAMAI | FASTER FORWARD
TM
Code Integrity
● Branching workflow
○ Combination Gitflow + Feature Branch (Github)
■ No Develop branch, but flexibility for QA
■ Can be CD
● Protected branches
○ Limited users can merge
● No force push / rewriting history
● Unapprove PR’s when modified
○ Really? Provided by optional plugin?
©2016 AKAMAI | FASTER FORWARD
TM
Q: Who wrote that code?
● Pusher != committer
● Committer
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
● GPG?
● Log all commits/pusher?
©2016 AKAMAI | FASTER FORWARD
TM
Access Control
● 1000’s of repos = 1000’s of ACLs
● Organizations / Projects
● LDAP groups?
● Access Controls
○ Who manages, approves access?
○ Audits access, quarterly?
● Separation of Concerns
○ Ops can’t modify code
○ Prove it!
©2016 AKAMAI | FASTER FORWARD
TM
Automation
● API’s!
● Configure
● External Front Ends
○ User Mgmt
○ Webhooks
○ Audit settings
©2016 AKAMAI | FASTER FORWARD
TM
References
● Github Enterprise Documentation
● Bitbucket Server Documentation
©2016 AKAMAI | FASTER FORWARD
TM
Matthew Barr
● https://www.akamai.com
● mbarr@akamai.com
● @matthewbarr - Twitter & Github:
● mbarr@mbarr.net
DOES SFO 2016 - Matthew Barr - Enterprise Git - the hard bits

More Related Content

PPTX
Enterprise git - the hard bits
Matthew Barr
 
PDF
Presenting TYPO3 - Athens WordPress 7th Meetup
Giannis Economou
 
PDF
Sean schofield & Richard Lister, Spree Commerce_ Fearless deployment @ Open C...
Spark Solutions
 
PDF
Intro to node.js
Thanos Polychronakis
 
PDF
Unscrambling An Omelette - How Companies Can Use WordPress Better - Jeremy Ke...
WordCamp Sydney
 
PPTX
Magento PWA Studio extensibility
Lars Roettig
 
PPTX
Real User Measurement Insights, London WebPerf 2018-Nov-06
Paul Calvano
 
PPTX
Common Traits of High Performing Websites, BairesWeb - Argentina
Paul Calvano
 
Enterprise git - the hard bits
Matthew Barr
 
Presenting TYPO3 - Athens WordPress 7th Meetup
Giannis Economou
 
Sean schofield & Richard Lister, Spree Commerce_ Fearless deployment @ Open C...
Spark Solutions
 
Intro to node.js
Thanos Polychronakis
 
Unscrambling An Omelette - How Companies Can Use WordPress Better - Jeremy Ke...
WordCamp Sydney
 
Magento PWA Studio extensibility
Lars Roettig
 
Real User Measurement Insights, London WebPerf 2018-Nov-06
Paul Calvano
 
Common Traits of High Performing Websites, BairesWeb - Argentina
Paul Calvano
 

What's hot (20)

PDF
Power up Magnolia CMS with OpenShift
Shekhar Gulati
 
PDF
GraphQL Bangkok Meetup 6.0
Tobias Meixner
 
PPTX
Common Traits of High Performing Websites, WebPerfDays Amsterdam 07-Nov-2018
Paul Calvano
 
PPTX
React and Web Performance
Lars Roettig
 
PDF
DevOps, Agile and Open Source at ImmobilienScout24
Schlomo Schapiro
 
PPTX
Building the AO Tech Blog
SarahNorris47
 
PPTX
Building the AO tech blog
AO Tech
 
PDF
Fluent 2018: Tracking Performance of the Web with HTTP Archive
Paul Calvano
 
PDF
NYC WebPerf Meetup Feb 2020 - Measuring the Adoption of Web Performance Techn...
Paul Calvano
 
PPTX
IntroductionGit
Jaime L. López Carratalá
 
PDF
Bodin - Hullin & Potencier - Magento Performance Profiling and Best Practices
Meet Magento Italy
 
ODP
Jade: Open Source Case Management for SME Law Firms (Oct 2017)
vvaswani
 
PPTX
Cross-platform JavaScript
Hristo Chakarov
 
PDF
Swazoo
ESUG
 
PDF
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
FalafelSoftware
 
ODP
Using PHP with IBM Bluemix
vvaswani
 
PDF
Dmitrii Kuryshev "DevOps in Landmark"
LogeekNightUkraine
 
PDF
How to choose frontend (head) for headless commerce.
Aureate Labs
 
PDF
How to sell SilverStripe in the enterprise and public sector markets - Stripe...
Sylvain Reiter
 
PDF
OSGi Web Development in Action
Christian Baranowski
 
Power up Magnolia CMS with OpenShift
Shekhar Gulati
 
GraphQL Bangkok Meetup 6.0
Tobias Meixner
 
Common Traits of High Performing Websites, WebPerfDays Amsterdam 07-Nov-2018
Paul Calvano
 
React and Web Performance
Lars Roettig
 
DevOps, Agile and Open Source at ImmobilienScout24
Schlomo Schapiro
 
Building the AO Tech Blog
SarahNorris47
 
Building the AO tech blog
AO Tech
 
Fluent 2018: Tracking Performance of the Web with HTTP Archive
Paul Calvano
 
NYC WebPerf Meetup Feb 2020 - Measuring the Adoption of Web Performance Techn...
Paul Calvano
 
Bodin - Hullin & Potencier - Magento Performance Profiling and Best Practices
Meet Magento Italy
 
Jade: Open Source Case Management for SME Law Firms (Oct 2017)
vvaswani
 
Cross-platform JavaScript
Hristo Chakarov
 
Swazoo
ESUG
 
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
FalafelSoftware
 
Using PHP with IBM Bluemix
vvaswani
 
Dmitrii Kuryshev "DevOps in Landmark"
LogeekNightUkraine
 
How to choose frontend (head) for headless commerce.
Aureate Labs
 
How to sell SilverStripe in the enterprise and public sector markets - Stripe...
Sylvain Reiter
 
OSGi Web Development in Action
Christian Baranowski
 
Ad

Viewers also liked (20)

PPTX
DOES16 San Francisco - Charles Betz - Influencing Higher Education to Create ...
Gene Kim
 
PPTX
DOES SFO 2016 San Francisco - Julia Wester - Predictability: No Magic Required
Gene Kim
 
PDF
DOES16 San Francisco - Nicole Forsgren & Jez Humble - The Latest: What We Lea...
Gene Kim
 
PPTX
DOES16 San Francisco - Scott Prugh & Erica Morrison - When Ops Swallows Dev
Gene Kim
 
PPTX
DOES16 San Francisco - Damon Edwards - The Talent You Need is Already Inside ...
Gene Kim
 
PPTX
DOES16 San Francisco - Opal Perry - Technology Transformation: How Team Value...
Gene Kim
 
PPTX
DOES SFO 2016 - David Habershon - Ministry of Social Development New Zealand
Gene Kim
 
PPTX
DOES SFO 2016 - Paula Thrasher & Kevin Stanley - Building Brilliant Teams
Gene Kim
 
PDF
DOES16 London - Gareth Rushgrove - Communication Between Tribes: A Story of S...
Gene Kim
 
PPTX
DOES16 San Francisco - Dominica DeGrandis - Time Theft: How Hidden and Unplan...
Gene Kim
 
PPTX
DOES16 San Francisco - Carmen DeArdo, Cindy Payne, & Jim Grafmeyer - Episode ...
Gene Kim
 
PPTX
DOES SFO 2016 - Avan Mathur - Planning for Huge Scale
Gene Kim
 
PDF
DOES SFO 2016 - Aimee Bechtle - Utilizing Distributed Dojos to Transform a Wo...
Gene Kim
 
PDF
DOES SFO 2016 - Kevina Finn-Braun & J. Paul Reed - Beyond the Retrospective: ...
Gene Kim
 
PPTX
DOES16 San Francisco - David Blank-Edelman - Lessons Learned from a Parallel ...
Gene Kim
 
PPTX
DOES16 San Francisco - Jan Schilt - DevOps is Not Going to Work…Unless! How T...
Gene Kim
 
PPTX
DOES SFO 2016 - Courtney Kissler - Inspire and Nurture the Human Spirit
Gene Kim
 
PPTX
DOES SFO 2016 - Greg Maxey and Laurent Rochette - DSL at Scale
Gene Kim
 
PPTX
DOES SFO 2016 - Daniel Perez - Doubling Down on ChatOps in the Enterprise
Gene Kim
 
PPTX
DOES SFO 2016 - Andy Cooper & Brandon Holcomb - When IT Closes the Deal
Gene Kim
 
DOES16 San Francisco - Charles Betz - Influencing Higher Education to Create ...
Gene Kim
 
DOES SFO 2016 San Francisco - Julia Wester - Predictability: No Magic Required
Gene Kim
 
DOES16 San Francisco - Nicole Forsgren & Jez Humble - The Latest: What We Lea...
Gene Kim
 
DOES16 San Francisco - Scott Prugh & Erica Morrison - When Ops Swallows Dev
Gene Kim
 
DOES16 San Francisco - Damon Edwards - The Talent You Need is Already Inside ...
Gene Kim
 
DOES16 San Francisco - Opal Perry - Technology Transformation: How Team Value...
Gene Kim
 
DOES SFO 2016 - David Habershon - Ministry of Social Development New Zealand
Gene Kim
 
DOES SFO 2016 - Paula Thrasher & Kevin Stanley - Building Brilliant Teams
Gene Kim
 
DOES16 London - Gareth Rushgrove - Communication Between Tribes: A Story of S...
Gene Kim
 
DOES16 San Francisco - Dominica DeGrandis - Time Theft: How Hidden and Unplan...
Gene Kim
 
DOES16 San Francisco - Carmen DeArdo, Cindy Payne, & Jim Grafmeyer - Episode ...
Gene Kim
 
DOES SFO 2016 - Avan Mathur - Planning for Huge Scale
Gene Kim
 
DOES SFO 2016 - Aimee Bechtle - Utilizing Distributed Dojos to Transform a Wo...
Gene Kim
 
DOES SFO 2016 - Kevina Finn-Braun & J. Paul Reed - Beyond the Retrospective: ...
Gene Kim
 
DOES16 San Francisco - David Blank-Edelman - Lessons Learned from a Parallel ...
Gene Kim
 
DOES16 San Francisco - Jan Schilt - DevOps is Not Going to Work…Unless! How T...
Gene Kim
 
DOES SFO 2016 - Courtney Kissler - Inspire and Nurture the Human Spirit
Gene Kim
 
DOES SFO 2016 - Greg Maxey and Laurent Rochette - DSL at Scale
Gene Kim
 
DOES SFO 2016 - Daniel Perez - Doubling Down on ChatOps in the Enterprise
Gene Kim
 
DOES SFO 2016 - Andy Cooper & Brandon Holcomb - When IT Closes the Deal
Gene Kim
 
Ad

Similar to DOES SFO 2016 - Matthew Barr - Enterprise Git - the hard bits (20)

PDF
Collaborative development with git
Joseluis Laso
 
PPTX
Git,Github,How to host using Github
Sujata Regoti
 
PPTX
EdTechJoker Spring 2020 - Lecture 2 - Git
Bryan Ollendyke
 
PDF
Git best practices workshop
Otto Kekäläinen
 
PPTX
Roslyn on GitHub
Immo Landwerth
 
PDF
Whether you should migrate to git
Amit Anand
 
PDF
Enterprise git
Pedro Melo
 
PPTX
Git'in on Windows
Stacy Vicknair
 
PDF
What the git? - SAP Inside Track Munich 2016
Hendrik Neumann
 
PDF
Lagos GitHub Meetup - What is Git?
Celestine Omin
 
PPTX
Learn Git form Beginners to Master
C. M. Abdullah Khan
 
PPTX
Introduction to Git and Github
Max Claus Nunes
 
PPT
Introduction to git and stash
Xpand IT
 
PDF
Git in Eclipse
Dariusz Łuksza
 
PPTX
Presentation on Repository Control System
Md. Mujahid Islam
 
PDF
Git! Why? How?
Daniel Kummer
 
ODP
Introduction to Git
Amit Mathur
 
PDF
Be a Happier Developer with Git / Productive Team #gettinggitright
Shunsuke (Sean) Osawa
 
PDF
Git Version Control for the Complete N00b by Adam LaBarge
East Bay WordPress Meetup
 
PPT
Introduction to Git
atishgoswami
 
Collaborative development with git
Joseluis Laso
 
Git,Github,How to host using Github
Sujata Regoti
 
EdTechJoker Spring 2020 - Lecture 2 - Git
Bryan Ollendyke
 
Git best practices workshop
Otto Kekäläinen
 
Roslyn on GitHub
Immo Landwerth
 
Whether you should migrate to git
Amit Anand
 
Enterprise git
Pedro Melo
 
Git'in on Windows
Stacy Vicknair
 
What the git? - SAP Inside Track Munich 2016
Hendrik Neumann
 
Lagos GitHub Meetup - What is Git?
Celestine Omin
 
Learn Git form Beginners to Master
C. M. Abdullah Khan
 
Introduction to Git and Github
Max Claus Nunes
 
Introduction to git and stash
Xpand IT
 
Git in Eclipse
Dariusz Łuksza
 
Presentation on Repository Control System
Md. Mujahid Islam
 
Git! Why? How?
Daniel Kummer
 
Introduction to Git
Amit Mathur
 
Be a Happier Developer with Git / Productive Team #gettinggitright
Shunsuke (Sean) Osawa
 
Git Version Control for the Complete N00b by Adam LaBarge
East Bay WordPress Meetup
 
Introduction to Git
atishgoswami
 

More from Gene Kim (17)

PDF
DOES SFO 2016 - Kaimar Karu - ITIL. You keep using that word. I don't think i...
Gene Kim
 
PDF
DOES SFO 2016 - Ross Clanton and Chivas Nambiar - DevOps at Verizon
Gene Kim
 
PPTX
DOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOps
Gene Kim
 
PPTX
DOES SFO 2016 - Rich Jackson & Rosalind Radcliffe - The Mainframe DevOps Team...
Gene Kim
 
PDF
DOES SFO 2016 - Greg Padak - Default to Open
Gene Kim
 
PPTX
DOES SFO 2016 - Michael Nygard - Tempo, Maneuverability, Initiative
Gene Kim
 
PPTX
DOES SFO 2016 - Alexa Alley - Value Stream Mapping
Gene Kim
 
PPTX
DOES SFO 2016 - Mark Imbriaco - Lessons From the Bleeding Edge
Gene Kim
 
PPTX
DOES SFO 2016 - Topo Pal - DevOps at Capital One
Gene Kim
 
PPTX
DOES SFO 2016 - Cornelia Davis - DevOps: Who Does What?
Gene Kim
 
PPTX
DOES SFO 2016 - Chris Fulton - CD for DBs
Gene Kim
 
PPTX
DOES SFO 2016 - Marc Priolo - Are we there yet?
Gene Kim
 
PPTX
DOES SFO 2016 - Steve Brodie - The Future of DevOps in the Enterprise
Gene Kim
 
PPTX
DOES SFO 2016 - Ray Krueger - Speed as a Prime Directive
Gene Kim
 
PPTX
DOES SFO 2016 - Steve Mayner - Transformational Leadership
Gene Kim
 
PPTX
DOES SFO 2016 - Sam Guckenheimer & Ed Blankenship "Moving to One Engineering ...
Gene Kim
 
PPTX
DOES16 San Francisco - Marc Ng - SAP’s DevOps Journey: From Building an App t...
Gene Kim
 
DOES SFO 2016 - Kaimar Karu - ITIL. You keep using that word. I don't think i...
Gene Kim
 
DOES SFO 2016 - Ross Clanton and Chivas Nambiar - DevOps at Verizon
Gene Kim
 
DOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOps
Gene Kim
 
DOES SFO 2016 - Rich Jackson & Rosalind Radcliffe - The Mainframe DevOps Team...
Gene Kim
 
DOES SFO 2016 - Greg Padak - Default to Open
Gene Kim
 
DOES SFO 2016 - Michael Nygard - Tempo, Maneuverability, Initiative
Gene Kim
 
DOES SFO 2016 - Alexa Alley - Value Stream Mapping
Gene Kim
 
DOES SFO 2016 - Mark Imbriaco - Lessons From the Bleeding Edge
Gene Kim
 
DOES SFO 2016 - Topo Pal - DevOps at Capital One
Gene Kim
 
DOES SFO 2016 - Cornelia Davis - DevOps: Who Does What?
Gene Kim
 
DOES SFO 2016 - Chris Fulton - CD for DBs
Gene Kim
 
DOES SFO 2016 - Marc Priolo - Are we there yet?
Gene Kim
 
DOES SFO 2016 - Steve Brodie - The Future of DevOps in the Enterprise
Gene Kim
 
DOES SFO 2016 - Ray Krueger - Speed as a Prime Directive
Gene Kim
 
DOES SFO 2016 - Steve Mayner - Transformational Leadership
Gene Kim
 
DOES SFO 2016 - Sam Guckenheimer & Ed Blankenship "Moving to One Engineering ...
Gene Kim
 
DOES16 San Francisco - Marc Ng - SAP’s DevOps Journey: From Building an App t...
Gene Kim
 

Recently uploaded (20)

PDF
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
Software Development Methodologies in 2025
KodekX
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Doc9.....................................
SofiaCollazos
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 

DOES SFO 2016 - Matthew Barr - Enterprise Git - the hard bits

  • 1. Enterprise Git - the hard bits Matthew Barr
  • 2. Enterprise Git - the hard bits Matthew Barr, Architect
  • 3. ©2016 AKAMAI | FASTER FORWARD TM Overview ● Introduction ● Git hosting options ● o18n ● Safety & Best Practices
  • 4. ©2016 AKAMAI | FASTER FORWARD TM Admissions
  • 11. ©2016 AKAMAI | FASTER FORWARD TM Me: SysAdmin / DevOps Engineer for 20 years ● Lehman Bros, MarkitServ ● Community Connect, Snap Interactive ● Nokia Focus @ Akamai: Developer Productivity ● Provide tools for our engineers ● SCM, Build, CI & Test systems ● Current project: Horizontally scalable build farm w/ Docker agents
  • 12. So you want to be a hero store your code in Git
  • 13. ©2016 AKAMAI | FASTER FORWARD TM GitHub or Bitbucket ● Hosted ● Great features ● Low overhead ● Great for small teams ● Even medium size
  • 14. ©2016 AKAMAI | FASTER FORWARD TM Self hosted options ● GitLab ● Gitolite ● cgit
  • 15. ©2016 AKAMAI | FASTER FORWARD TM Enterprise ● Github Enterprise ● Bitbucket Server (Atlassian) (née Stash) ● Gitlab Enterprise ● Perforce GitSwarm
  • 16. ©2016 AKAMAI | FASTER FORWARD TM Git @ Akamai ● Currently: 6000+ repositories, 115+ Projects/Organizations ○ Not primary code repository (yet) ● Relaunched 1 year ago ● Stash Data Center Edition ● 2 sites ○ 2 App Servers ○ 2 DB nodes ○ Netapp filer & load balancer
  • 17. ©2016 AKAMAI | FASTER FORWARD TM o16n (Operationalization)* * Gordon Marx
  • 18. ©2016 AKAMAI | FASTER FORWARD TM HA, DR, GeoDiversity & Backups ● Varies by product ● Github Enterprise ○ Clustering ○ Active / Passive Node ○ Point in time snapshots ● Bitbucket Server ○ Self Service Backups, DB replication, Snapshots ○ Improvement in Bitbucket Server (Stash) ■ Smart Mirrors ■ Zero Downtime Backups
  • 19. ©2016 AKAMAI | FASTER FORWARD TM Authentication for the enterprise ● Mandate: No passwords ● 3 types of access ○ WebUI ○ Git (SSH, HTTPS) ○ API ● SAML for WebUI ● SSH key sync script from LDAP ● X.509 Client auth for API
  • 20. ©2016 AKAMAI | FASTER FORWARD TM Safety & Best Practices
  • 21. ©2016 AKAMAI | FASTER FORWARD TM PCI, SOX, etc. Boils down to: ● Prevent unauthorized changes ● Review change!
  • 22. ©2016 AKAMAI | FASTER FORWARD TM Code Review - Pull Requests ● Sign offs - +1, approvers ● Prevent merges without PR’s ● Merge commits ○ Audit points, in git log
  • 23. ©2016 AKAMAI | FASTER FORWARD TM Code Integrity ● Branching workflow ○ Combination Gitflow + Feature Branch (Github) ■ No Develop branch, but flexibility for QA ■ Can be CD ● Protected branches ○ Limited users can merge ● No force push / rewriting history ● Unapprove PR’s when modified ○ Really? Provided by optional plugin?
  • 24. ©2016 AKAMAI | FASTER FORWARD TM Q: Who wrote that code? ● Pusher != committer ● Committer $ git config --global user.name "John Doe" $ git config --global user.email [email protected] ● GPG? ● Log all commits/pusher?
  • 25. ©2016 AKAMAI | FASTER FORWARD TM Access Control ● 1000’s of repos = 1000’s of ACLs ● Organizations / Projects ● LDAP groups? ● Access Controls ○ Who manages, approves access? ○ Audits access, quarterly? ● Separation of Concerns ○ Ops can’t modify code ○ Prove it!
  • 26. ©2016 AKAMAI | FASTER FORWARD TM Automation ● API’s! ● Configure ● External Front Ends ○ User Mgmt ○ Webhooks ○ Audit settings
  • 27. ©2016 AKAMAI | FASTER FORWARD TM References ● Github Enterprise Documentation ● Bitbucket Server Documentation
  • 28. ©2016 AKAMAI | FASTER FORWARD TM Matthew Barr ● https://www.akamai.com ● [email protected] ● @matthewbarr - Twitter & Github: ● [email protected]