Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Evolutionary Architecture as Product @ CircleCI

28 views

Published on

Video and slides synchronized, mp3 and slide download available at URL https://bit.ly/2RcWjbX.

Robert Zuber discusses how the evolution of software development since 2011 has driven the evolution of CircleCI's architecture. From the explosive adoption of Docker to the steady rise of microservice architectures, the changing demands of software engineering teams have proven to be deeply coupled with the structure of their service–far more than they anticipated when they started the business. Filmed at qconsf.com.

Rob Zuber is a 20-year veteran of software startups; a four-time founder, three-time CTO. Since joining CircleCI, he has seen the company through its Series B, C and D, and delivered on product innovation at scale. He leads a team of 100+ engineers who are distributed around the globe.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Evolutionary Architecture as Product @ CircleCI

  1. 1. 1 Evolutionary Architecture as Product Rob Zuber CTO, CircleCI @z00b
  2. 2. InfoQ.com: News & Community Site • Over 1,000,000 software developers, architects and CTOs read the site world- wide every month • 250,000 senior developers subscribe to our weekly newsletter • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • 2 dedicated podcast channels: The InfoQ Podcast, with a focus on Architecture and The Engineering Culture Podcast, with a focus on building • 96 deep dives on innovative topics packed as downloadable emags and minibooks • Over 40 new content items per week Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ circleci-evolutionary-architecture/
  3. 3. Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide Presented at QCon San Francisco www.qconsf.com
  4. 4. 2
  5. 5. 3 😃
  6. 6. 4 😞
  7. 7. 5 🤬
  8. 8. 6
  9. 9. A Brief History of io.js 7 2014-11-26 io.js is forked from Node.js
  10. 10. A Brief History of io.js 8 2014-11-26 io.js is forked from Node.js 2015-02-10 io.js devs are sad about CircleCI
  11. 11. A Brief History of io.js 9 2014-11-26 io.js is forked from Node.js 2015-02-10 io.js devs are sad about CircleCI 2015-02-24 CircleCI releases support and docs for io.js
  12. 12. A Brief History of io.js 10 2014-11-26 io.js is forked from Node.js 2015-02-10 io.js devs are sad about CircleCI 2015-06-16 io.js and Node.js form "Node Foundation" and merge 2015-02-24 CircleCI releases support and docs for io.js
  13. 13. 11
  14. 14. 12 My Biases Customer Tech Software Systems Scrappy Scaling
  15. 15. Design For Change 13
  16. 16. 14 GitHub > git push origin
  17. 17. CircleCI 15 GitHub > git push origin
  18. 18. CircleCI 16 GitHub > git push origin
  19. 19. CircleCI 17 GitHub > git push origin
  20. 20. CircleCI 18 GitHub > git push origin AWS
  21. 21. 19 … Application Ixc1 lxc2 lxc3 lxcN
  22. 22. 20 … Application Ixc1 lxc2 lxc3 lxcN All containers from one image • Ubuntu 12.04 • Ruby + rvm • Python + virtualenv • Node.js + nvm • ... • MySQL (fixed) • Postgres (fixed) • Mongo (fixed) • ...
  23. 23. 21
  24. 24. 22
  25. 25. 23 … Application Ixc1 lxc2 lxc3 lxcN … Application Ixc1 lxc2 lxc3 lxcN Ubuntu 12.04 Ubuntu 14.04
  26. 26. 24 … Agent ruby-2.6.5-stretch mysql-8.0.18 redis-4.0.12 elasticsearch-6.8.4 Hook Receiver Scheduler Output Processor
  27. 27. Head Up 25
  28. 28. 26
  29. 29. 27
  30. 30. 28 … Agent ruby-2.6.5-stretch mysql-8.0.18 redis-4.0.12 elasticsearch-6.8.4 Hook Receiver Workflow Conductor Scheduler Output Processor
  31. 31. 29
  32. 32. 30
  33. 33. 31
  34. 34. According to StackShare 32 7856 Companies report using React 18312 Developers report using React
  35. 35. According to StackShare 33 7856 Companies report using React 18312 Developers report using React 8 Developers report using Om 3 Companies report using Om
  36. 36. You are a Product Manager 34
  37. 37. If we want to make it easier to write software, so that we can build more powerful systems more cheaply, we must find ways to make software simpler. 35 John Ousterhout – A Philosophy of Software Design “
  38. 38. Essential Complexity is inherent in, and the essence of, the problem (as seen by the users). 36 “ Ben Moseley & Peter Marks – Out of the Tar Pit
  39. 39. Accidental Complexity is all the rest — complexity with which the development team would not have to deal in the ideal world (e.g. complexity arising from performance issues and from suboptimal language and infrastructure). 37 Ben Moseley & Peter Marks – Out of the Tar Pit “
  40. 40. 38 Q.E.D.
  41. 41. 39
  42. 42. 40
  43. 43. 41 … Application Ixc1 lxc2 lxc3 lxcN Remember me?
  44. 44. 42 … Application Ixc1 lxc2 lxc3 lxcN Remember me? "Docker LXC Driver"
  45. 45. 43 … Application Ixc1 lxc2 lxc3 lxcN Remember me? "Docker LXC Driver" 2014-03-10: libcontainer launched (v0.9.0)
  46. 46. 44 … Application Ixc1 lxc2 lxc3 lxcN Remember me? "Docker LXC Driver" 2014-03-10: libcontainer launched (v0.9.0) 2015-08-11: lxc deprecated (v1.8.0)
  47. 47. 45 … Application Ixc1 lxc2 lxc3 lxcN Remember me? "Docker LXC Driver" 2014-03-10: libcontainer launched (v0.9.0) 2015-08-11: lxc deprecated (v1.8.0) 2016-02-04: lxc deleted (v1.10.0)
  48. 48. 46 … Agent ruby-2.6.5-stretch mysql-8.0.18 redis-4.0.12 elasticsearch-6.8.4 Hook Receiver Workflow Conductor Scheduler Output Processor
  49. 49. 47 AgentHook Receiver Workflow Conductor Scheduler Output Processor Cloud Block Store Mount
  50. 50. 48 … Agent ruby-2.6.5-stretch mysql-8.0.18 redis-4.0.12 elasticsearch-6.8.4 Hook Receiver Workflow Conductor Scheduler Output Processor Remote Docker Engine
  51. 51. Where Are We Now? 49
  52. 52. 50
  53. 53. 51 😕
  54. 54. 52
  55. 55. Design For Change 53
  56. 56. Simplify the Basics & Look Ahead 54
  57. 57. Think Like a Product Manager 55
  58. 58. Meet Your Customers, Understand Their Goals, Architect Better 56
  59. 59. 57 Thank you.
  60. 60. Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ circleci-evolutionary-architecture/

×