web development infrastructure
play

Web Development Infrastructure David Brewer Lead Systems Developer - PowerPoint PPT Presentation

Web Development Infrastructure David Brewer Lead Systems Developer Second Story Interactive Studios The presentation formerly known as Using Ubuntu, Virtualization, and Automation to Improve Your Web Development Workflow David Brewer


  1. Web Development Infrastructure David Brewer Lead Systems Developer Second Story Interactive Studios

  2. The presentation formerly known as “Using Ubuntu, Virtualization, and Automation to Improve Your Web Development Workflow” David Brewer Lead Systems Developer Second Story Interactive Studios

  3. I'll cover... ● Introduction and definitions ● Evolution of infrastructures ● Infrastructure tools ● A system that works

  4. What is a development infrastructure?

  5. Infrastructure includes... ● Hardware ● Software ● Wetware

  6. Photo by John Tregoning

  7. You have an infrastructure, whether or not you know it. Photo by Sam Pullara

  8. An analogy Photos by Nick Taylor, TravOC, and Graham Richardson

  9. Original photo by James Duncan Davidson/O'Reilly Media

  10. “Secession or Union?” at the Gettysburg Museum and Visitor Center

  11. Great War T ables at the National World War I Museum

  12. Media Wall at the McCormick Tribune Freedom Museum

  13. Bank of America Data Mirrors

  14. National Postal Musem's Arago: http://arago.si.edu

  15. International Quilt Study Center's Collection Explorer: http://explorer.quiltstudy.org

  16. The National Archives Experience Digital Vaults: http://digitalvaults.org

  17. Monticello Explorer: http://explorer.monticello.org

  18. National Museum of American History: http://americanhistory.si.edu/militaryhistory/

  19. Evolution of web development infrastructures

  20. Assumptions ● Version control ● Issue tracking ● Deploy scripts ● Project not yet 'live' ● Internal and external clients

  21. When you assume... $u = $me = Photo by Gabor Karpati

  22. Single server

  23. “This project doesn't have the budget for more than one server.” Screen capture from “The IT Crowd”, Channel 4

  24. “I hope you didn't just save foobar.php because I haven't checked in my changes all day.” Screen capture from “The IT Crowd”, Channel 4

  25. “Did I just find a bug, or did you expect that bit to be broken?” Screen capture from “The IT Crowd”, Channel 4

  26. “The client is reviewing the site. Can you not break anything for the next week, while you add these features?” Screen capture from “The IT Crowd”, Channel 4

  27. Single server

  28. Single server (realistic)

  29. DO NOT WANT

  30. Shared dev + production

  31. Local dev + staging + production

  32. ColdFusion MX Perl 5.8 PHP 4 PHP 5 SQL Server 2000 MySQL 5 MySQL 4 IIS 5 Apache 2 Apache 1 Tower of Babel by Pieter Bruegel the Elderh

  33. “Well, it worked on MY machine.” Screen capture from “The IT Crowd”, Channel 4

  34. Dev servers + staging + production

  35. Decouples Decouples dev project workstations installs from servers Photo by Chance Agrella. Used courtesy of Free Range Stock.

  36. Remaining problem 1: money “You want to buy HOW many servers?” Screen capture from “The IT Crowd”, Channel 4

  37. Remaining problem 2: time Server Setup You Sisyphus by Franz von Stuck, 1920

  38. It ain't gonna fly. Photo by nickstone333

  39. Infrastructure tools

  40. How can I reduce licensing costs?

  41. Photo by Steve Deger

  42. Photo by Ben McLeod

  43. Photo by William Warby

  44. Photo by rp72

  45. How can I reduce hardware costs?

  46. “But, you already HAVE a server.” Screen capture from “The IT Crowd”, Channel 4

  47. Intro to virtualization

  48. Our selection criteria ● Free ● Works on Linux and Windows ● Reliable and easy to use ● Available in 2006

  49. Beer photo by Afonso Lima

  50. Beer photo by Afonso Lima

  51. Beer photo by Afonso Lima

  52. Copying servers

  53. Run identical web dev setup... ... on Linux ... on Windows (... on OS X, too, but not for free.)

  54. Eases transition to Linux

  55. A few notes on hardware ● Get lots of RAM ● Get lots of disk space ● For servers, get SCSI

  56. How can I reduce setup time?

  57. Configuration management tools:

  58. AutomateIt overview ● The big picture ● Package management ● Config file munging ● Services ● Easy to extend ● Etc, etc, etc

  59. Tags

  60. Fields

  61. Master recipe

  62. PHP installation recipe

  63. Benefit: quick server setup

  64. Benefit: quick server setup Video by dvpurugs (http://www.youtube.com/user/dvpurugs)

  65. Benefit: synchronize servers

  66. Benefit: documents your config

  67. A system that works

  68. Our web development infrastructure

  69. VMware Server

  70. Production virtual server

  71. Staging virtual server

  72. Development sandboxes

  73. Version control

  74. AutomateIt

  75. It's affordable Photo by ajajulian

  76. Ubuntu community Photo by rp72

  77. Fast server provisioning Screenshot of video by dvpurugs (http://www.youtube.com/user/dvpurugs)

  78. Sandboxes = stability Photo by Giedrius M

  79. Servers have consistent software

  80. Develop on platform of choice

  81. Reliable staging servers

  82. Happy clients

  83. Areas for improvement ● Issue 1: requires sysadmin skills ● Issue 2: consumes lots of disk ● Issue 3: exposes weaknesses in deploy systems

  84. Second Story Interactive Studios: http://www.secondstory.com [We're Hiring!] Ubuntu: http://www.ubuntu.com VMware Server: http://vmware.com/products/server/ AutomateIt: http://automateit.org/

Recommend


More recommend