scale12x

67 %
33 %
Information about scale12x
Technology

Published on February 21, 2014

Author: kaiyzen

Source: slideshare.net

Description

Talk from the Scale12x conference in Feb 2014

Greater Configuration Re-Use Service Oriented Design & TDD

Overview • • • • • Background & Motivations Why greater configuration re-use? Service Oriented Design Change Mgmt & TDD Futures Socal Linux Conference 2014 2/21/2014 2

Background & Motivations • • • • • Developer, PM Became interested in ops Focused on service architecture & delivery Started Consulting Looking how to leverage work across projects Socal Linux Conference 2014 2/21/2014 3

10K Ft. View Socal Linux Conference 2014 2/21/2014 4

Socal Linux Conference 2014 2/21/2014 5

Working on Distributed Melting Pots Socal Linux Conference 2014 2/21/2014 6

BIG DATA Socal Linux Conference 2014 2/21/2014 7

Why greater configuration Re-Use? Socal Linux Conference 2014 2/21/2014 8

Unique snowflakes Socal Linux Conference 2014 2/21/2014 9

Greater Re-Use • Leverage work/assets across projects & teams – No matter how different, they are pretty similar • Quicker development and release cycles • Be more nimble/agile from infrastructure perspective • Power in #’s (leverage work of experts) – Both external/internal to organizations Socal Linux Conference 2014 2/21/2014 10

Desired State • Completed Infrastructure • Fully operating service Socal Linux Conference 2014 2/21/2014 11

Getting there is complex… Socal Linux Conference 2014 2/21/2014 12

Everyone wants blocks Socal Linux Conference 2014 2/21/2014 13

Piece Together Socal Linux Conference 2014 2/21/2014 14

Developer Blocks Frameworks Infrastructure Languages Socal Linux Conference 2014 2/21/2014 15

Dev needs to solve a Problem? Socal Linux Conference 2014 2/21/2014 16

Ops Blocks Infrastrcuture Languages Socal Linux Conference 2014 2/21/2014 17

Ops needs to solve a Problem? Socal Linux Conference 2014 2/21/2014 18

Lets download my infrastructure… • puppet module install apache • knife cookbook site download apache Socal Linux Conference 2014 2/21/2014 19

Doh! Socal Linux Conference 2014 2/21/2014 20

Debug Time Socal Linux Conference 2014 2/21/2014 21

Debug Time Socal Linux Conference 2014 2/21/2014 22

Why me… Socal Linux Conference 2014 2/21/2014 23

Service Oriented Design/Delivery Socal Linux Conference 2014 2/21/2014 24

Service Oriented Design/Deliv. • Module/Component • Service Topology/Assembly • Benefits Socal Linux Conference 2014 2/21/2014 25

Object Oriented Analogy • Model driven approach lays a foundation for OO for infrastructure dev – Objects mapping to (?Whats best terms?): • Puppet classes/defs/resources • Chef recipe/resources – Nginx, Linux User, MySQL, ES, etc, etc – Focus on objects not “actions on objects” • ie: mysql not install_mysql Socal Linux Conference 2014 2/21/2014 26

Components == Objects • Objects as components that expose an interface • Modules/Cookbooks containing 1+ components • Components expose available attributes • Dependencies/Constraints – “locality” (more later) Socal Linux Conference 2014 2/21/2014 27

Model Example Socal Linux Conference 2014 2/21/2014 28

Model Example Socal Linux Conference 2014 2/21/2014 29

Benefits Socal Linux Conference 2014 2/21/2014 30

Benefits • Externalized, easy human/machine readable (yaml/json) • Introduce typed attributes (ie: port, log, etc) • Clear dependencies/constraints for usage • Interface compatibility • Foundation for Composition Socal Linux Conference 2014 2/21/2014 31

Assembly == Service Topology Socal Linux Conference 2014 2/21/2014 32

Assembly == Service Toplogy Socal Linux Conference 2014 2/21/2014 33

Assembly • Model definition describing a service instance • Includes – Attributes – Nodes and components that go on them – x-Component Dependencies • “App foo needs a database” – Constraints • “locality” • version Socal Linux Conference 2014 2/21/2014 34

1 vs. Many Topologies • 1 Nailed Topology – Static dev/test environments – Prod that doesn’t change much/at all – Not leveraging/sharing x-org/externally • Many Topologies – You are vendor or OSS who’s software can be run in many ways – Fast moving, rapid iteration on architectures – Multivariate testing important (more later) Socal Linux Conference 2014 2/21/2014 35

Assembly Model Socal Linux Conference 2014 2/21/2014 36

Assembly Model Socal Linux Conference 2014 2/21/2014 37

Benefits Socal Linux Conference 2014 2/21/2014 38

Benefits • Externalized, easy human/machine readable (yaml/json) • Captures cross node dependencies • Basis for network analysis and connectivity • Testing testing testing…. Socal Linux Conference 2014 2/21/2014 39

Change Management Socal Linux Conference 2014 2/21/2014 40

Change Management • Upgrades to implementation • Interface changes – Attribute Defaults – Attributes Added/removed • Depedencies • New topology variants Socal Linux Conference 2014 2/21/2014 41

Test Driven Development Socal Linux Conference 2014 2/21/2014 42

Service Minded Testing Lint Unit Functional/Behavioral/Integation Socal Linux Conference 2014 2/21/2014 43

Service Minded Testing Lint Unit Functional/Behavioral/Integation Socal Linux Conference 2014 2/21/2014 44

Lint/Grammar • Puppet Lint – http://puppet-lint.com • Foodcritic – http://acrmp.github.io/foodcritic/ • Study perspective language style guides • Git post commit hooks Socal Linux Conference 2014 2/21/2014 45

Unit Testing • Rspec Puppet – http://rspec-puppet.com/ • Chefspec – http://https://github.com/sethvargo/chefspec Socal Linux Conference 2014 2/21/2014 46

That’s great, but is my SERVICE running!?!?! Socal Linux Conference 2014 2/21/2014 47

Enter Serverspec… • http://serverspec.org/ Socal Linux Conference 2014 2/21/2014 48

Serverspec Socal Linux Conference 2014 2/21/2014 49

Serverspec Socal Linux Conference 2014 2/21/2014 50

Serverspec Socal Linux Conference 2014 2/21/2014 51

Futures • Auto-generation – Serverspec verifications – Monitoring – Log Mgmt/Aggregration • Deeper integration with load tests/verifications • Containers to provide isolation and portability • Deep networking integration in component & service model Socal Linux Conference 2014 2/21/2014 52

Recap • • • • We want blocks to pull off the shelf and Formalizing notion of “component interface” Formalizing notion of service topology Managing changes at different levels – Implementation – Interface – toplogy design Socal Linux Conference 2014 2/21/2014 53

Thank you • Nate D’Amico • @kaiyzen • nate@reactor8.com • http://slideshare.com/kaiyzen/scale12x • http://github.com/rnp/scale12x Socal Linux Conference 2014 2/21/2014 54

Add a comment

Related presentations

Related pages

Twelfth Annual Southern California Linux Expo - SCALE 12x

SCaLE 12X – the 12th annual Southern California Linux Expo – takes place on Feb. 21-23, 2014, at the Hilton Los Angeles Airport hotel. As the first-of ...
Read more

Scale12x - Intro to Elasticsearch (Kluge)

Scale12x - Intro to Elasticsearch (Kluge) - Download as PDF File (.pdf), Text File (.txt) or view presentation slides online.
Read more

Save the Date | SCALE 15x

SCALE 15x Pasadena Convention Center March 2 — 5, 2017 Call For Papers Submit a Presentation. SCALE 14x; SCALE 13x; SCALE 12x ...
Read more

SCALE12x: Another great year for this event | MariaDB

Last week several people from the MariaDB and SkySQL team headed down to Los Angeles to attend SCALE12x. This is our fourth year at this great event, and ...
Read more

Tipping SCaLE12X - Cylon.js

Multiple solutions. Cylon.js provides a simple, yet powerful way to create solutions that incorporate multiple, different hardware devices at the same time.
Read more

GitHub - rnp/scale12x: Component and service model ...

scale12x - Component and service model examples from Scale12x talk
Read more

SCALE 12x, 21st-23rd February 2014 | Lanyrd

#scale12x; lanyrd.com/cpyqg (short URL) 95 speakers. Brendan Gregg @brendangregg; Matt Ray @mattray; Mike Frysinger @mikefrysinger; Jorge Castro @castrojo ...
Read more

SCALE 12x Guide | Get the mobile app - Guidebook

SCALE 12x Download the official mobile guide to SCALE 12x for your smartphone or tablet. Schedules, Maps, and more in a custom mobile app.
Read more