Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cloud and Devops at ticketea

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

Cloud and Devops at ticketea

Talk at Devops Azure Day Madrid 2015 about devops and cloud

Ticketea Engineering

November 16, 2015

Transcript

47 slides
  1. ticketea Who we are? @esanchezm @JavierHdez3 @maraujop @igalarzab @sullymorland @patoroco

    edu @imanolcg @RafaRM20 @iamcarlosedo @andrea_mgr @Mc_Arena_pr @javitxudedios @Maquert @gnufede @willyfrog_
  2. ticketea Why the cloud? ✤ Offer high-availability despite of load-spikes.

    ✤ Scale from 3 servers to 350 in minutes. ✤ Access to awesome services provided by your IaSS. ✤ Be more cost efficient.
  3. ticketea Why the cloud? ✤ Easier to be fault tolerant.

    ✤ They have a huge team improving always their service. ✤ Incredible uptime (some of them with 99.999999999%).
  4. ticketea Pitfalls ✤ Everything can fail… everything. Have a good

    plan B. ✤ A plan B isn't a plan B, until is tested. ✤ Pre-heat everything before big events. ✤ Read about your IaSS in forums/email groups. ✤ Try to distribute your machines to avoid thunderbolts ;)
  5. ticketea Distributed systems ✤ Granular failing. ✤ Avoid single point

    of failure. ✤ Easy code maintainability ✤ Choose the best tech for each project. ✤ Scale the team easier.
  6. ticketea Distributed systems ✤ Hard to deploy. ✤ Hard to

    see the whole picture. ✤ More complexity: easy to fail. ✤ When shit happens: you need a plan B.
  7. ticketea Development keys ✤ Code reviews in every pull request.

    ✤ Continuous integration with a strong test suite. ✤ Cook your own receipts. ✤ One-click deployment. ✤ “Continuous” delivery. (not always)
  8. ticketea Deploying code ✤ We’ve changed between a few models,

    but finally: 1. Create a complete new environment in prod machines. 2. Deploy your code there. 3. Extract one machine from the load-balancer. 4. Create a golden-image
  9. ticketea Deploying code ✤ Atomic deploys. ✤ 0s-downtime deploys. ✤

    Easy rollback to the last N versions. ✤ Money-cost friendly ;) ✤ Insanely fast to scale machines when needed.
  10. ticketea Production vs Development environments ✤ Using the same ansible

    roles ✤ Meta-roles: roles/ | ——django/ | ————tasks/main.yml | ——api/ | ————tasks/main.yml |—— tkt-api/ |———— meta/main.yml api.yml development.yml
  11. ticketea Automating common procedures ✤ fab -f heracles.py stop_consuming_messages:queue ✤

    fab -f frontend.py maintenance_on ✤ fab -f sg.py open_sg ✤ fab -f api.py fast_rollback:version
  12. ticketea Logging and alarming ✤ rsyslog ✤ graylog ✤ cabot

    ✤ slack/email/x connected through a queue

More Decks by Ticketea Engineering

Other Decks in Programming