Upcoming SlideShare
Loading in...5
×
 

SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack

on

  • 621 views

Deployment is often omitted from configuration management and orchestration, which typically focuses on the infrastructure and not the core application that the infrastructure supports. This ...

Deployment is often omitted from configuration management and orchestration, which typically focuses on the infrastructure and not the core application that the infrastructure supports. This presentation will give an overview of a deployment system I wrote using SaltStack to provide immediately consistent deployment for software. The deployment system has the ability for manual deploys or for continuous deployments using a Heroku-like workflow. It has support for multiple deployment schemes, with a default of Git deployment. The deployment system uses a combination of Salt peer runner calls, runners, modules, returners, pillars and grains as well as a deployment host running Apache, Sartoris (a git-deploy frontend), and Redis (for reporting).

Statistics

Views

Total Views
621
Views on SlideShare
610
Embed Views
11

Actions

Likes
2
Downloads
20
Comments
0

1 Embed 11

http://www.slideee.com 11

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack SaltConf14 - Ryan Lane, Wikimedia - Immediate consistency with Trebuchet Deploy and SaltStack Presentation Transcript

  • Immediate Consistency With Trebuchet Deploy
  • Deployment is an ignored problem
  • Sync Common All Php
  • - Poor immediate consistency
  • - Poor reporting during deployment
  • - No reporting after deployment
  • - Difficult to modify and maintain
  • - Non-extensible
  • - No service orchestration
  • - Difficult to use
  • sync-common sync-common-all sync-common-file sync-dblist sync-docroot sync-dir sync-file sync-wikiversions scap apache-graceful apache-graceful-all sync-apache
  • + Has eventual consistency
  • + Has fast transmission mechanism via tiered rsync
  • Trebuchet Deployment System
  • + Immediate consistency via deployment module
  • + Eventual consistency via states
  • + Reporting via returners
  • + Easy modification and extension via modules and runners
  • + Service orchestration via reactors, runners and modules
  • + Targeting via grains or pillars
  • + Configuration via pillars
  • deployment_config: parent_dir: /srv/deployment redis: db: 0 host: reporting.example.org port: 6379 repo_config: test/testrepo: grain: testrepo upstream: https://gerrit.wikimedia.org/r/p/test fetch_module_calls: saltutil.refresh_pillars checkout_module_calls: testrepo.gen_css service_name: test-service
  • - Git is slow for large binaries
  • - No canary support yet
  • git deploy start git deploy sync git deploy abort git deploy revert git deploy service <action> git deploy report git deploy <extension> Trebuchet Trigger
  • Mission Enable the world to treat Wikimedia's infrastructure like any of its projects: anyone can edit.
  • Trebuchet PaaS
  • Join us! Ryan Lane Lyft rlane@lyft.com trebuchet-deploy on GitHub IRC (Freenode): #trebuchet-deploy Come to the puppet + salt integration talk later today!