How we use Python at Bitbucket

Download How we use Python at Bitbucket

Post on 12-Apr-2017




2 download

Embed Size (px)


<ul><li><p>MARK ADAMS SOFTWARE DEVELOPER BITBUCKET @MARKADAMS</p><p>How we use Python at Bitbucket(tldr; We use it for everything)</p></li><li><p>W H AT I S B I T B U C K E T</p><p>What is Bitbucket?</p><p>Distributed code hostingPerfect for individuals or teams Git or Mercurial Free for 5 users +Unlimited private repositories</p><p>Try it out! -</p><p></p></li><li><p> Main web application </p><p> REST API</p><p>Web Tier</p></li><li><p> HA Proxy TCP load balancing</p><p> Nginx SSL Termination</p><p> PostgreSQLRelational database</p><p> RedisCaching</p><p>Web Tier</p></li><li><p>C E L E RY</p><p>Distributed Tasks Celery Used for asynchronous event processing</p><p> Sending notifications Updating pull requests Updating activity feed </p><p> RabbitMQ used as the message broker</p></li><li><p>O R O C H I</p><p>Orochi Translated 8-branched giant snake" Abstraction library for Git and Mercurial Written entirely in Python Simplifies the interaction with repositories</p><p>Git &amp; Hg have similarities: Both store your code Both have commits Both have branches</p><p>Django Celery</p><p>Orochi</p><p>Storage Layer</p></li><li><p>G I T + H G O P E R AT I O N S</p><p>Git &amp; Hg Operations</p><p> HTTP WSGI apps - One for Git, One for Hg</p><p> SSH OpenSSH - Customized! Launches another process (conq) to </p><p>perform authentication and execute DVCS operations</p></li><li><p>Can you guess what language?</p></li><li><p>Nope, Go</p></li><li><p>But really Python</p></li><li><p>We dogfood our stuff!</p></li><li><p>Feedback?</p><p>MARK ADAMS SOFTWARE DEVELOPER BITBUCKET @MARKADAMS</p></li><li><p>Were hiring!</p><p>MARK ADAMS SOFTWARE DEVELOPER BITBUCKET @MARKADAMS</p></li></ul>