SlideShare ist ein Scribd-Unternehmen logo
1 von 51
Downloaden Sie, um offline zu lesen
Xtreme Deployment
                         / develop in production; push to dev



Tuesday, October 2, 12
Who are we?


          Brian Clapper
          CTO of Circonus
          Whipping boy of the modern SaaS stack.

          Theo Schlossnagle
          CEO of Circonus
          Repeat denier of reality.




Tuesday, October 2, 12
How the world used to look (less xtreme)




          Architectures driven by user interaction:
          (e.g. web page load ➠ web page response)




Tuesday, October 2, 12
How the world used to look (less xtreme)


          isolated
          user A’s page load doesn’t effect user B.


          latent
          user A’s affect shows up “later” in user B’s view.



Tuesday, October 2, 12
How the world used to look (less xtreme)




          Problem reproducibility is achievable
          (even if sometimes painful)




Tuesday, October 2, 12
How the world looks now (more xtreme)




          Architectures driven by
          high volume data and users




Tuesday, October 2, 12
How the world looks now (more xtreme)




          every piece of data entering the architecture
          can effect a user’s subsequent experience.




Tuesday, October 2, 12
How the world looks now (more xtreme)




          sometimes
          the data must effect a user’s
          subsequent experience.




Tuesday, October 2, 12
How the world looks now (more xtreme)




          Social systems cause indirect impact
          via user action eroding isolation.




Tuesday, October 2, 12
How the world looks now (more xtreme)




          A more responsive web is eroding
          users’ acceptance of latent state.




Tuesday, October 2, 12
How the world looks now (more xtreme)




          Highly distributed systems
          (due to complexity and scalability) means
          no single world state




Tuesday, October 2, 12
How the world looks now (more xtreme)




          Highly distributed systems
          (due to complexity and scalability) means
          difficult repeatability of state and failures




Tuesday, October 2, 12
How the world looks now (more xtreme)




          Highly distributed systems
          (due to complexity and scalability) means
          treacherous debugability




Tuesday, October 2, 12
Despair all ye’ who debug here




          I studied distributed systems long enough
          to understand “the suck” you do not wish to
          have in your lives.




Tuesday, October 2, 12
Despair all ye’ who debug here




          Expedient debugging requires a quick
          realization of a precipitating state of failure.




Tuesday, October 2, 12
Despair all ye’ who debug here



          In distributed systems,
          post-mortem techniques are less useful
          because recreating possible global state is a
          mind-bending (or brain-damaging) exercise.




Tuesday, October 2, 12
Despair all ye’ who debug here



          Applying older techniques
          to small controlled distributed systems
          is still feasible,
          but complex, asynchronous architectures
          can be nearly impossible.




Tuesday, October 2, 12
Some context about us




          Circonus ingests telemetry data
          across an entire business




Tuesday, October 2, 12
Some context about us




      alerting • correlation • visualization • analytics




Tuesday, October 2, 12
How we see the world today




          High velocity non-user-generated data inflow.




Tuesday, October 2, 12
How we see the world today




          Users expect sub-second reflection of
          all input data and drawn-conclusions.




Tuesday, October 2, 12
How we see the world today




          Users expect extremely high availability
          (100%, you can only disappoint)




Tuesday, October 2, 12
How we see the world today



          I was surprised how
          impatient and demanding users are...

          until I used the tool...
          and felt exactly the same way.




Tuesday, October 2, 12
Circonus architecture

          Voltron




Tuesday, October 2, 12
Circonus architecture

          Voltron
             • distributed data collection (via brokers)




Tuesday, October 2, 12
Circonus architecture

          Voltron
             • distributed data collection (via brokers)
             • distributed data ingestion (via aggregators)




Tuesday, October 2, 12
Circonus architecture

          Voltron
             • distributed data collection (via brokers)
             • distributed data ingestion (via aggregators)
             • distributed data distribution! (via message queueing)




Tuesday, October 2, 12
Circonus architecture

          Voltron
             • distributed data collection (via brokers)
             • distributed data ingestion (via aggregators)
             • distributed data distribution! (via message queueing)
             • distributed data storage (via snowth)




Tuesday, October 2, 12
Circonus architecture

          Voltron
             • distributed data collection (via brokers)
             • distributed data ingestion (via aggregators)
             • distributed data distribution! (via message queueing)
             • distributed data storage (via snowth)
             • distributed streaming fault detection (via muppet love)




Tuesday, October 2, 12
Circonus architecture

          Voltron
             • distributed data collection (via brokers)
             • distributed data ingestion (via aggregators)
             • distributed data distribution! (via message queueing)
             • distributed data storage (via snowth)
             • distributed streaming fault detection (via muppet love)
             • ... distributed nightmare.



Tuesday, October 2, 12
Despair actualized




          I shall not memorialize this in slides.




Tuesday, October 2, 12
Despair actualized




          I shall only cry in front of you now.




Tuesday, October 2, 12
Hope (keys to the city)



      • Leveraging
             • stream mirroring and
             • idempotent behavior.




Tuesday, October 2, 12
Hope




          Allows for the recklessness that we all
          appreciate in a no-consequences
          development environment...




Tuesday, October 2, 12
Hope



          with
          production data,
          production volume, and
          production “personality.”




Tuesday, October 2, 12
Hope actualized




                         Development In Production

Tuesday, October 2, 12
Hope actualized




          Ex #1: Dual storage backends




Tuesday, October 2, 12
EXPLORATION




                         PostgreSQL
Tuesday, October 2, 12
EXPLORATION




                         Snowth
Tuesday, October 2, 12
EXPLORATION




Tuesday, October 2, 12
                         {
                         Safety & Happiness
EXPLORATION




                         Safety & Happiness
Tuesday, October 2, 12
Hope actualized




          Ex #2: Dual streaming analysis tools




Tuesday, October 2, 12
Hell




Tuesday, October 2, 12
Hell




Tuesday, October 2, 12
Hell




Tuesday, October 2, 12
Hell




Tuesday, October 2, 12
Hell




Tuesday, October 2, 12
Hell




Tuesday, October 2, 12
Hope actualized




          Ex #3: Dual messages queueing systems




Tuesday, October 2, 12
The Future




          This is the foundation of
          real responsive design
          going forward.




Tuesday, October 2, 12
Thank You




          Questions?




Tuesday, October 2, 12

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (11)

Omnios and unix
Omnios and unixOmnios and unix
Omnios and unix
 
Adaptive availability
Adaptive availabilityAdaptive availability
Adaptive availability
 
Craftsmanship
CraftsmanshipCraftsmanship
Craftsmanship
 
Monitoring is easy, why are we so bad at it presentation
Monitoring is easy, why are we so bad at it  presentationMonitoring is easy, why are we so bad at it  presentation
Monitoring is easy, why are we so bad at it presentation
 
Project reality
Project realityProject reality
Project reality
 
OmniOS Motivation and Design ~ LISA 2012
OmniOS Motivation and Design ~ LISA 2012OmniOS Motivation and Design ~ LISA 2012
OmniOS Motivation and Design ~ LISA 2012
 
It's all about telemetry
It's all about telemetryIt's all about telemetry
It's all about telemetry
 
Monitoring and observability
Monitoring and observabilityMonitoring and observability
Monitoring and observability
 
A Coherent Discussion About Performance
A Coherent Discussion About PerformanceA Coherent Discussion About Performance
A Coherent Discussion About Performance
 
Monitoring the #DevOps way
Monitoring the #DevOps wayMonitoring the #DevOps way
Monitoring the #DevOps way
 
Operational Software Design
Operational Software DesignOperational Software Design
Operational Software Design
 

Ähnlich wie Xtreme Deployment

Apache Cassandra - A gentle introduction
Apache Cassandra - A gentle introductionApache Cassandra - A gentle introduction
Apache Cassandra - A gentle introductionPrzemek Maciolek
 
Ruxcon Finding Needles in Haystacks (the size of countries)
Ruxcon Finding Needles in Haystacks (the size of countries)Ruxcon Finding Needles in Haystacks (the size of countries)
Ruxcon Finding Needles in Haystacks (the size of countries)packetloop
 
Design zen presentation, fall 2012
Design zen presentation, fall 2012Design zen presentation, fall 2012
Design zen presentation, fall 2012Graham Garner
 
Availability, The Cloud and Everything (version 2, Surge2010)
Availability, The Cloud and Everything (version 2, Surge2010)Availability, The Cloud and Everything (version 2, Surge2010)
Availability, The Cloud and Everything (version 2, Surge2010)logicalstack
 
Municipal Government Meets NoSQL
Municipal Government Meets NoSQLMunicipal Government Meets NoSQL
Municipal Government Meets NoSQLMongoDB
 
Bio-IT for Core Facility Managers
Bio-IT for Core Facility ManagersBio-IT for Core Facility Managers
Bio-IT for Core Facility ManagersChris Dagdigian
 
Optimizing the Mobile Search Experience
Optimizing the Mobile Search ExperienceOptimizing the Mobile Search Experience
Optimizing the Mobile Search ExperienceMonetate
 
Using Ampere for Super-Fast Data Caching Awesomeness
Using Ampere for Super-Fast Data Caching AwesomenessUsing Ampere for Super-Fast Data Caching Awesomeness
Using Ampere for Super-Fast Data Caching Awesomenessvillainous
 
Peeling back your Network Layers with Security Onion
Peeling back your Network Layers with Security OnionPeeling back your Network Layers with Security Onion
Peeling back your Network Layers with Security OnionMark Hillick
 
Big Data - architectural concerns for the new age
Big Data - architectural concerns for the new ageBig Data - architectural concerns for the new age
Big Data - architectural concerns for the new ageDebasish Ghosh
 
Performance Schema in MySQL (Danil Zburivsky)
Performance Schema in MySQL (Danil Zburivsky)Performance Schema in MySQL (Danil Zburivsky)
Performance Schema in MySQL (Danil Zburivsky)Ontico
 
Batch Indexing & Near Real Time, keeping things fast
Batch Indexing & Near Real Time, keeping things fastBatch Indexing & Near Real Time, keeping things fast
Batch Indexing & Near Real Time, keeping things fastMarc Sturlese
 
there is no talent shortage - Velocity 2013
there is no talent shortage - Velocity 2013there is no talent shortage - Velocity 2013
there is no talent shortage - Velocity 2013Andrew Shafer
 
D3.js capita selecta
D3.js capita selectaD3.js capita selecta
D3.js capita selectaJoris Klerkx
 
Silverchair Strategies
Silverchair StrategiesSilverchair Strategies
Silverchair StrategiesTim O'Reilly
 
Flowcon - Mixing Lean UX & Agile Development
Flowcon - Mixing Lean UX & Agile DevelopmentFlowcon - Mixing Lean UX & Agile Development
Flowcon - Mixing Lean UX & Agile DevelopmentCourtney Hemphill
 

Ähnlich wie Xtreme Deployment (20)

Apache Cassandra - A gentle introduction
Apache Cassandra - A gentle introductionApache Cassandra - A gentle introduction
Apache Cassandra - A gentle introduction
 
Ruxcon Finding Needles in Haystacks (the size of countries)
Ruxcon Finding Needles in Haystacks (the size of countries)Ruxcon Finding Needles in Haystacks (the size of countries)
Ruxcon Finding Needles in Haystacks (the size of countries)
 
Design zen presentation, fall 2012
Design zen presentation, fall 2012Design zen presentation, fall 2012
Design zen presentation, fall 2012
 
Availability, The Cloud and Everything (version 2, Surge2010)
Availability, The Cloud and Everything (version 2, Surge2010)Availability, The Cloud and Everything (version 2, Surge2010)
Availability, The Cloud and Everything (version 2, Surge2010)
 
Municipal Government Meets NoSQL
Municipal Government Meets NoSQLMunicipal Government Meets NoSQL
Municipal Government Meets NoSQL
 
Bio-IT for Core Facility Managers
Bio-IT for Core Facility ManagersBio-IT for Core Facility Managers
Bio-IT for Core Facility Managers
 
Optimizing the Mobile Search Experience
Optimizing the Mobile Search ExperienceOptimizing the Mobile Search Experience
Optimizing the Mobile Search Experience
 
Using Ampere for Super-Fast Data Caching Awesomeness
Using Ampere for Super-Fast Data Caching AwesomenessUsing Ampere for Super-Fast Data Caching Awesomeness
Using Ampere for Super-Fast Data Caching Awesomeness
 
Peeling back your Network Layers with Security Onion
Peeling back your Network Layers with Security OnionPeeling back your Network Layers with Security Onion
Peeling back your Network Layers with Security Onion
 
Twitter Storm
Twitter StormTwitter Storm
Twitter Storm
 
Big Data - architectural concerns for the new age
Big Data - architectural concerns for the new ageBig Data - architectural concerns for the new age
Big Data - architectural concerns for the new age
 
Super secure clouds
Super secure cloudsSuper secure clouds
Super secure clouds
 
Big Data Tutorial V4
Big Data Tutorial V4Big Data Tutorial V4
Big Data Tutorial V4
 
Performance Schema in MySQL (Danil Zburivsky)
Performance Schema in MySQL (Danil Zburivsky)Performance Schema in MySQL (Danil Zburivsky)
Performance Schema in MySQL (Danil Zburivsky)
 
Batch Indexing & Near Real Time, keeping things fast
Batch Indexing & Near Real Time, keeping things fastBatch Indexing & Near Real Time, keeping things fast
Batch Indexing & Near Real Time, keeping things fast
 
there is no talent shortage - Velocity 2013
there is no talent shortage - Velocity 2013there is no talent shortage - Velocity 2013
there is no talent shortage - Velocity 2013
 
D3.js capita selecta
D3.js capita selectaD3.js capita selecta
D3.js capita selecta
 
Silverchair Strategies
Silverchair StrategiesSilverchair Strategies
Silverchair Strategies
 
OSSCON: Big Search 4 Big Data
OSSCON: Big Search 4 Big DataOSSCON: Big Search 4 Big Data
OSSCON: Big Search 4 Big Data
 
Flowcon - Mixing Lean UX & Agile Development
Flowcon - Mixing Lean UX & Agile DevelopmentFlowcon - Mixing Lean UX & Agile Development
Flowcon - Mixing Lean UX & Agile Development
 

Mehr von Theo Schlossnagle

Adding Simplicity to Complexity
Adding Simplicity to ComplexityAdding Simplicity to Complexity
Adding Simplicity to ComplexityTheo Schlossnagle
 
Put Some SRE in Your Shipped Software
Put Some SRE in Your Shipped SoftwarePut Some SRE in Your Shipped Software
Put Some SRE in Your Shipped SoftwareTheo Schlossnagle
 
Distributed Systems - Like It Or Not
Distributed Systems - Like It Or NotDistributed Systems - Like It Or Not
Distributed Systems - Like It Or NotTheo Schlossnagle
 
Applying SRE techniques to micro service design
Applying SRE techniques to micro service designApplying SRE techniques to micro service design
Applying SRE techniques to micro service designTheo Schlossnagle
 
Social improvements in monitoring
Social improvements in monitoringSocial improvements in monitoring
Social improvements in monitoringTheo Schlossnagle
 
Building Scalable Systems: an asynchronous approach
Building Scalable Systems: an asynchronous approachBuilding Scalable Systems: an asynchronous approach
Building Scalable Systems: an asynchronous approachTheo Schlossnagle
 
Applying operations culture to everything
Applying operations culture to everythingApplying operations culture to everything
Applying operations culture to everythingTheo Schlossnagle
 

Mehr von Theo Schlossnagle (13)

Adding Simplicity to Complexity
Adding Simplicity to ComplexityAdding Simplicity to Complexity
Adding Simplicity to Complexity
 
Put Some SRE in Your Shipped Software
Put Some SRE in Your Shipped SoftwarePut Some SRE in Your Shipped Software
Put Some SRE in Your Shipped Software
 
Monitoring 101
Monitoring 101Monitoring 101
Monitoring 101
 
Distributed Systems - Like It Or Not
Distributed Systems - Like It Or NotDistributed Systems - Like It Or Not
Distributed Systems - Like It Or Not
 
Applying SRE techniques to micro service design
Applying SRE techniques to micro service designApplying SRE techniques to micro service design
Applying SRE techniques to micro service design
 
Commandments of scale
Commandments of scaleCommandments of scale
Commandments of scale
 
Is this normal?
Is this normal?Is this normal?
Is this normal?
 
Social improvements in monitoring
Social improvements in monitoringSocial improvements in monitoring
Social improvements in monitoring
 
Building Scalable Systems: an asynchronous approach
Building Scalable Systems: an asynchronous approachBuilding Scalable Systems: an asynchronous approach
Building Scalable Systems: an asynchronous approach
 
Webops dashboards
Webops dashboardsWebops dashboards
Webops dashboards
 
Web Operations Career
Web Operations CareerWeb Operations Career
Web Operations Career
 
Http front-ends
Http front-endsHttp front-ends
Http front-ends
 
Applying operations culture to everything
Applying operations culture to everythingApplying operations culture to everything
Applying operations culture to everything
 

Xtreme Deployment

  • 1. Xtreme Deployment / develop in production; push to dev Tuesday, October 2, 12
  • 2. Who are we? Brian Clapper CTO of Circonus Whipping boy of the modern SaaS stack. Theo Schlossnagle CEO of Circonus Repeat denier of reality. Tuesday, October 2, 12
  • 3. How the world used to look (less xtreme) Architectures driven by user interaction: (e.g. web page load ➠ web page response) Tuesday, October 2, 12
  • 4. How the world used to look (less xtreme) isolated user A’s page load doesn’t effect user B. latent user A’s affect shows up “later” in user B’s view. Tuesday, October 2, 12
  • 5. How the world used to look (less xtreme) Problem reproducibility is achievable (even if sometimes painful) Tuesday, October 2, 12
  • 6. How the world looks now (more xtreme) Architectures driven by high volume data and users Tuesday, October 2, 12
  • 7. How the world looks now (more xtreme) every piece of data entering the architecture can effect a user’s subsequent experience. Tuesday, October 2, 12
  • 8. How the world looks now (more xtreme) sometimes the data must effect a user’s subsequent experience. Tuesday, October 2, 12
  • 9. How the world looks now (more xtreme) Social systems cause indirect impact via user action eroding isolation. Tuesday, October 2, 12
  • 10. How the world looks now (more xtreme) A more responsive web is eroding users’ acceptance of latent state. Tuesday, October 2, 12
  • 11. How the world looks now (more xtreme) Highly distributed systems (due to complexity and scalability) means no single world state Tuesday, October 2, 12
  • 12. How the world looks now (more xtreme) Highly distributed systems (due to complexity and scalability) means difficult repeatability of state and failures Tuesday, October 2, 12
  • 13. How the world looks now (more xtreme) Highly distributed systems (due to complexity and scalability) means treacherous debugability Tuesday, October 2, 12
  • 14. Despair all ye’ who debug here I studied distributed systems long enough to understand “the suck” you do not wish to have in your lives. Tuesday, October 2, 12
  • 15. Despair all ye’ who debug here Expedient debugging requires a quick realization of a precipitating state of failure. Tuesday, October 2, 12
  • 16. Despair all ye’ who debug here In distributed systems, post-mortem techniques are less useful because recreating possible global state is a mind-bending (or brain-damaging) exercise. Tuesday, October 2, 12
  • 17. Despair all ye’ who debug here Applying older techniques to small controlled distributed systems is still feasible, but complex, asynchronous architectures can be nearly impossible. Tuesday, October 2, 12
  • 18. Some context about us Circonus ingests telemetry data across an entire business Tuesday, October 2, 12
  • 19. Some context about us alerting • correlation • visualization • analytics Tuesday, October 2, 12
  • 20. How we see the world today High velocity non-user-generated data inflow. Tuesday, October 2, 12
  • 21. How we see the world today Users expect sub-second reflection of all input data and drawn-conclusions. Tuesday, October 2, 12
  • 22. How we see the world today Users expect extremely high availability (100%, you can only disappoint) Tuesday, October 2, 12
  • 23. How we see the world today I was surprised how impatient and demanding users are... until I used the tool... and felt exactly the same way. Tuesday, October 2, 12
  • 24. Circonus architecture Voltron Tuesday, October 2, 12
  • 25. Circonus architecture Voltron • distributed data collection (via brokers) Tuesday, October 2, 12
  • 26. Circonus architecture Voltron • distributed data collection (via brokers) • distributed data ingestion (via aggregators) Tuesday, October 2, 12
  • 27. Circonus architecture Voltron • distributed data collection (via brokers) • distributed data ingestion (via aggregators) • distributed data distribution! (via message queueing) Tuesday, October 2, 12
  • 28. Circonus architecture Voltron • distributed data collection (via brokers) • distributed data ingestion (via aggregators) • distributed data distribution! (via message queueing) • distributed data storage (via snowth) Tuesday, October 2, 12
  • 29. Circonus architecture Voltron • distributed data collection (via brokers) • distributed data ingestion (via aggregators) • distributed data distribution! (via message queueing) • distributed data storage (via snowth) • distributed streaming fault detection (via muppet love) Tuesday, October 2, 12
  • 30. Circonus architecture Voltron • distributed data collection (via brokers) • distributed data ingestion (via aggregators) • distributed data distribution! (via message queueing) • distributed data storage (via snowth) • distributed streaming fault detection (via muppet love) • ... distributed nightmare. Tuesday, October 2, 12
  • 31. Despair actualized I shall not memorialize this in slides. Tuesday, October 2, 12
  • 32. Despair actualized I shall only cry in front of you now. Tuesday, October 2, 12
  • 33. Hope (keys to the city) • Leveraging • stream mirroring and • idempotent behavior. Tuesday, October 2, 12
  • 34. Hope Allows for the recklessness that we all appreciate in a no-consequences development environment... Tuesday, October 2, 12
  • 35. Hope with production data, production volume, and production “personality.” Tuesday, October 2, 12
  • 36. Hope actualized Development In Production Tuesday, October 2, 12
  • 37. Hope actualized Ex #1: Dual storage backends Tuesday, October 2, 12
  • 38. EXPLORATION PostgreSQL Tuesday, October 2, 12
  • 39. EXPLORATION Snowth Tuesday, October 2, 12
  • 40. EXPLORATION Tuesday, October 2, 12 { Safety & Happiness
  • 41. EXPLORATION Safety & Happiness Tuesday, October 2, 12
  • 42. Hope actualized Ex #2: Dual streaming analysis tools Tuesday, October 2, 12
  • 49. Hope actualized Ex #3: Dual messages queueing systems Tuesday, October 2, 12
  • 50. The Future This is the foundation of real responsive design going forward. Tuesday, October 2, 12
  • 51. Thank You Questions? Tuesday, October 2, 12