DevOps
                      Paul Nasrat · http://nasrat.livejournal.com · @nasrat




Friday, 9 July 2010
about:me



Friday, 9 July 2010
DevOps == Culture + Tools




Friday, 9 July 2010
Culture




Friday, 9 July 2010
Velocity




Friday, 9 July 2010
DevOpsDays




Friday, 9 July 2010
10 Deploys A Day


                      • John Allspaw
                      • Paul Hammand


Friday, 9 July 2010
Development versus
                          Operations


Friday, 9 July 2010
Spock Scotty
                              Little bit weird   Pulls levers & turns knobs
                      Sits closer...
http://www.flickr.com/photos/albinoflea/195857838/
Friday, 9 July 2010
Hero
               Culture


http://www.flickr.com/photos/ohrphan/999704273
Friday, 9 July 2010
Silos



http://www.flickr.com/photos/zoomzoom/304135268/
Friday, 9 July 2010
Trust and Respect



Friday, 9 July 2010
What’s my job again?



Friday, 9 July 2010
Keep sh*t running?



Friday, 9 July 2010
Keep sh*t running?



Friday, 9 July 2010
change

Friday, 9 July 2010
68%
Friday, 9 July 2010
32%
Friday, 9 July 2010
£
Friday, 9 July 2010
All of this has
            happened
          before, and it
           will happen
              again...
              ...
• Theory of Constraints
                      • Lean
                      • Toyota Production System
                    ...
Tools



Friday, 9 July 2010
Automated
                      Infrastructure
Friday, 9 July 2010
Cloud as Inspiration
                      •   EC2/S3

                      •   Heroku

                      •   Appengi...
Storage
                      •   mogilefs

                      •   S3

                      •   NFS

                 ...
REST


                      CRUD + curl == :)


Friday, 9 July 2010
Infrastructure = Code



Friday, 9 July 2010
• Provisioning & Imaging OS
                      • Roles & Configuration



Friday, 9 July 2010
#fail



Friday, 9 July 2010
http://www.flickr.com/photos/lifeinelgin/2533204950/
Friday, 9 July 2010
http://www.flickr.com/photos/rustie/472315037/

Friday, 9 July 2010
Share



Friday, 9 July 2010
Shared Version
                         Control


Friday, 9 July 2010
Shared Domain



Friday, 9 July 2010
Shared
                      Measurements


Friday, 9 July 2010
Twitter - sysadmin 2.0
                 “Data analysis, visualization, and
                 other techniques for seeing pa...
Uptime
                      90.0%         36 days, 12 hours

                      95.0%         18 days, 6 hours

      ...
Numbers you should
                       know - Jeff Dean
                      L1 cache reference                       ...
http://www.flickr.com/photos/altemark/273968506
Friday, 9 July 2010
http://code.google.com/p/jsendnsca/
                  public class QuickStart {

                      public static void ...
Performance Test



Friday, 9 July 2010
Capacity Plan



Friday, 9 July 2010
Friday, 9 July 2010
Log everything

                      • Scribe
                      • Hadoop
                      • Solr


Friday, 9 Jul...
Log Setting servlet
                      private List<Logger> sortLoggers(Enumeration<Logger> currentLoggers) {
         ...
Continual
                      deployment


Friday, 9 July 2010
IMVU



                      50
Friday, 9 July 2010
Continuous Deploy

                      • CI is the backbone
                      • Simple Deploy
                      ...
wordpress.com




http://toni.org/2010/05/19/in-praise-of-continuous-deployment-the-wordpress-com-story/
Friday, 9 July 20...
kaching

                      • SOA
                      • ZooKeeper
                      • Deployment Manager
        ...
Deploy at scale

                      • Bittorrent
                      • Incremental deploys
                      • Si...
Application         Data




                                Configuration




Friday, 9 July 2010
Read Only Mode



Friday, 9 July 2010
dbdeploy



Friday, 9 July 2010
Configuration
                        Lifecycle


Friday, 9 July 2010
http://www.flickr.com/photos/ahnmyrrh/3620801348/
Friday, 9 July 2010
http://github.com/tackley/guardian-management


                       package com.gu.management.switching;

             ...
@Singleton
  public class GuiceSwitchboardServlet extends SwitchboardServlet {

           @Inject
           public Guice...
Dark Launches
http://www.flickr.com/photos/25035545@N04/2477315249/
Friday, 9 July 2010
Bucket Testing



Friday, 9 July 2010
Communications



Friday, 9 July 2010
http://github.com/RJ/irccat



Friday, 9 July 2010
Further Info

                      • agile-system-administration Google Group
                      • http://londondevops...
Projects
                      •   http://github.com/tackley/guardian-management

                      •   http://github....
Upcoming SlideShare
Loading in...5
×

Dev ops ljc 2010

1,666

Published on

Talk from London Java Community 2010

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,666
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
30
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Dev ops ljc 2010

  1. 1. DevOps Paul Nasrat · http://nasrat.livejournal.com · @nasrat Friday, 9 July 2010
  2. 2. about:me Friday, 9 July 2010
  3. 3. DevOps == Culture + Tools Friday, 9 July 2010
  4. 4. Culture Friday, 9 July 2010
  5. 5. Velocity Friday, 9 July 2010
  6. 6. DevOpsDays Friday, 9 July 2010
  7. 7. 10 Deploys A Day • John Allspaw • Paul Hammand Friday, 9 July 2010
  8. 8. Development versus Operations Friday, 9 July 2010
  9. 9. Spock Scotty Little bit weird Pulls levers & turns knobs Sits closer to the boss Easily excited Thinks too hard Yells a lot in emergencies John Allspaw - Velocity 2009 Friday, 9 July 2010
  10. 10. http://www.flickr.com/photos/albinoflea/195857838/ Friday, 9 July 2010
  11. 11. Hero Culture http://www.flickr.com/photos/ohrphan/999704273 Friday, 9 July 2010
  12. 12. Silos http://www.flickr.com/photos/zoomzoom/304135268/ Friday, 9 July 2010
  13. 13. Trust and Respect Friday, 9 July 2010
  14. 14. What’s my job again? Friday, 9 July 2010
  15. 15. Keep sh*t running? Friday, 9 July 2010
  16. 16. Keep sh*t running? Friday, 9 July 2010
  17. 17. change Friday, 9 July 2010
  18. 18. 68% Friday, 9 July 2010
  19. 19. 32% Friday, 9 July 2010
  20. 20. £ Friday, 9 July 2010
  21. 21. All of this has happened before, and it will happen again... http://en.wikipedia.org/wiki/File:Cylon_Centurion.jpg Friday, 9 July 2010
  22. 22. • Theory of Constraints • Lean • Toyota Production System • Agile Friday, 9 July 2010
  23. 23. Tools Friday, 9 July 2010
  24. 24. Automated Infrastructure Friday, 9 July 2010
  25. 25. Cloud as Inspiration • EC2/S3 • Heroku • Appengine • Eucalyptus • VMware Friday, 9 July 2010
  26. 26. Storage • mogilefs • S3 • NFS • HDFS Friday, 9 July 2010
  27. 27. REST CRUD + curl == :) Friday, 9 July 2010
  28. 28. Infrastructure = Code Friday, 9 July 2010
  29. 29. • Provisioning & Imaging OS • Roles & Configuration Friday, 9 July 2010
  30. 30. #fail Friday, 9 July 2010
  31. 31. http://www.flickr.com/photos/lifeinelgin/2533204950/ Friday, 9 July 2010
  32. 32. http://www.flickr.com/photos/rustie/472315037/ Friday, 9 July 2010
  33. 33. Share Friday, 9 July 2010
  34. 34. Shared Version Control Friday, 9 July 2010
  35. 35. Shared Domain Friday, 9 July 2010
  36. 36. Shared Measurements Friday, 9 July 2010
  37. 37. Twitter - sysadmin 2.0 “Data analysis, visualization, and other techniques for seeing patterns in data are going to be an increasingly valuable skill set. Employers take notice!” “Web Squared: Web 2.0 Five Years On”, Tim O’Reilly, Web 2.0 Summit, 2009 Friday, 9 July 2010
  38. 38. Uptime 90.0% 36 days, 12 hours 95.0% 18 days, 6 hours 99.0% 87 hours, 36 minutes 99.50% 43 hours, 48 minutes 99.90% 8 hours, 48 minutes 99.99% 52 minutes, 33 seconds 99.999% 5 minutes, 15 seconds 99.9999% 32 seconds Friday, 9 July 2010
  39. 39. Numbers you should know - Jeff Dean L1 cache reference 0.5 ns Branch mispredict 5 ns L2 cache reference 7 ns Mutex lock/unlock 25 ns Main memory reference 100 ns Compress 1K bytes with Zippy 3,000 ns Send 2K bytes over 1Gbps network 20, 000 ns Read 1 MB sequentially from memory 250, 000 ns Round trip within same datacenter 500, 000 ns Disk seek 10,000,000 ns Read 1 MB sequentially from disk 20,000,000 ns Send packet CA->.NL->CA 150,000,000 ns http://bit.ly/ladis09 Friday, 9 July 2010
  40. 40. http://www.flickr.com/photos/altemark/273968506 Friday, 9 July 2010
  41. 41. http://code.google.com/p/jsendnsca/ public class QuickStart { public static void main(String[] args) { NagiosSettings settings = new NagiosSettingsBuilder() .withNagiosHost("nagiosHostNameOrIPAddress") .withPort(5667) .withEncryption(Encryption.XOR) .create(); MessagePayload payload = new MessagePayloadBuilder() .withHostname("hostname of machine sending check") .withLevel(Level.OK) .withServiceName("Service Name") .withMessage("should work if everything set up OK") .create(); NagiosPassiveCheckSender sender = new NagiosPassiveCheckSender(settings); try { sender.send(payload); } catch (NagiosException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } Friday, 9 July 2010
  42. 42. Performance Test Friday, 9 July 2010
  43. 43. Capacity Plan Friday, 9 July 2010
  44. 44. Friday, 9 July 2010
  45. 45. Log everything • Scribe • Hadoop • Solr Friday, 9 July 2010
  46. 46. Log Setting servlet private List<Logger> sortLoggers(Enumeration<Logger> currentLoggers) { List<Logger> loggers = new ArrayList<Logger>(); while(currentLoggers.hasMoreElements()) { loggers.add(currentLoggers.nextElement()); } Collections.sort(loggers, new Comparator<Logger>(){ @Override public int compare(Logger logger1, Logger logger2) { return logger1.getName().compareTo(logger2.getName()); } }); return loggers; } Friday, 9 July 2010
  47. 47. Continual deployment Friday, 9 July 2010
  48. 48. IMVU 50 Friday, 9 July 2010
  49. 49. Continuous Deploy • CI is the backbone • Simple Deploy • Simple Revert, Roll forward • Alerting • Monitoring Friday, 9 July 2010
  50. 50. wordpress.com http://toni.org/2010/05/19/in-praise-of-continuous-deployment-the-wordpress-com-story/ Friday, 9 July 2010
  51. 51. kaching • SOA • ZooKeeper • Deployment Manager • Inflight releae limit - 2 Friday, 9 July 2010
  52. 52. Deploy at scale • Bittorrent • Incremental deploys • Simple deployment tool Friday, 9 July 2010
  53. 53. Application Data Configuration Friday, 9 July 2010
  54. 54. Read Only Mode Friday, 9 July 2010
  55. 55. dbdeploy Friday, 9 July 2010
  56. 56. Configuration Lifecycle Friday, 9 July 2010
  57. 57. http://www.flickr.com/photos/ahnmyrrh/3620801348/ Friday, 9 July 2010
  58. 58. http://github.com/tackley/guardian-management package com.gu.management.switching; public interface Switchable extends SwitchState { void switchOff(); void switchOn(); ... } Friday, 9 July 2010
  59. 59. @Singleton public class GuiceSwitchboardServlet extends SwitchboardServlet { @Inject public GuiceSwitchboardServlet(Collection<Switchable> switchables) { super(switchables); } } Friday, 9 July 2010
  60. 60. Dark Launches http://www.flickr.com/photos/25035545@N04/2477315249/ Friday, 9 July 2010
  61. 61. Bucket Testing Friday, 9 July 2010
  62. 62. Communications Friday, 9 July 2010
  63. 63. http://github.com/RJ/irccat Friday, 9 July 2010
  64. 64. Further Info • agile-system-administration Google Group • http://londondevops.org/ • devops-toolchain Google Group Friday, 9 July 2010
  65. 65. Projects • http://github.com/tackley/guardian-management • http://github.com/lg/murder • http://code.google.com/p/jsendnsca/ • http://puppetlabs.com/ • http://github.com/RJ/irccat • http://hadoop.apache.org/ • http://github.com/facebook/scribe Friday, 9 July 2010
  1. ¿Le ha llamado la atención una diapositiva en particular?

    Recortar diapositivas es una manera útil de recopilar información importante para consultarla más tarde.

×