Slide 1

Slide 1 text

1 How StackStorm Builds & Runs StackStorm May 2015

Slide 2

Slide 2 text

Actions Automations Infrastructure – Cloud – Applications – Tools – Processes {.} {.} Sensors Audit

Slide 3

Slide 3 text

StackStorm Solution 3 Master Content Repo PLATFORM Web GUI CLI Chatops CLIENTS Sensor Plugins (inbound integrations) Action Plugins (outbound integrations) INTEGRATIONS .yml REST API Rules Engine Workflow Engine Audit… A M Q P m e s s a g e b u s A M Q P m e s s a g e b u s / / / / {*} IFTTT No N! issue No N! issue Loosely coupled; users abstract automation from integration Loosely coupled; users abstract automation from integration Workflow and rules enable simple scripts to be tied together like Legos. Automate & share pipelines. Workflow and rules enable simple scripts to be tied together like Legos. Automate & share pipelines. Polished – with GUI, ChatOps, CLI, RBAC, error handling, help & more Polished – with GUI, ChatOps, CLI, RBAC, error handling, help & more

Slide 4

Slide 4 text

Why now? 4 IT does matter. A lot. Orchestration can deliver agility More change, more tools, DevOps = new requirements for automation

Slide 5

Slide 5 text

What Problems Are We Solving? • Automated Testing (CI) – Integration testing on every commit to all supported versions • Packaging & Shipping (CD) – Distro specific packages on every successful build – Fully automated delivery to all repositories 5

Slide 6

Slide 6 text

Private and confidential

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

How Is It Built? • GitHub Sensor – GitHub post commit hooks are received by a GitHub sensor • ActionChains – All workflows are written using the sequential workflow runner - ActionChain • ActionTriggers – Workflows are tied together using the trigger that is emitted on completion of an action execution. • Rules – Rules are used to enforce workflow execution preconditions 8

Slide 9

Slide 9 text

Other Technologies • StackStorm Datastore – Last build number, stable release branch • Consul – Service Discovery for build & packaging • AWS 9

Slide 10

Slide 10 text

1. GitHub Commit 10 On each merge in to the monitored branches, both the unit tests, and the Mistral Integration Tests are fired.

Slide 11

Slide 11 text

2. Packaging for Staging 11 Successful unit tests fire off packaging of all components, including documentation, and ship to the staging environment.

Slide 12

Slide 12 text

3. Deploy to Staging 12 Packaging workflows will trigger upgrades on the staging hosts of the appropriate distro.

Slide 13

Slide 13 text

4. Smoke Test - Staging 13 On successful completion of the upgrade, basic smoke tests are ran.

Slide 14

Slide 14 text

5. End to End Test - Staging 14 Successful completion of the smoke tests, will trigger the full end to end testing suite. This includes all documented examples and deployment scripts.

Slide 15

Slide 15 text

6. Tag & Cut Release 15 Upon completion of end to end tests, the release is tagged and a new patch branch is created.

Slide 16

Slide 16 text

7. Package & Deploy 16 The release triggers the production packaging workflow. This workflow takes the blessed packages and delivers them to the production repositories.

Slide 17

Slide 17 text

Why Build It Ourselves? • Eating Our Own Dog Food – Continuous validation of StackStorm as a CI/CD solution • The Ultimate Acceptance Testing • Bragging Rights 17

Slide 18

Slide 18 text

What's Next? • Containers – Unit Tests & Packaging Moved to Containers • ChatOps Improvements – Full Two Way ChatOps Integration 18

Slide 19

Slide 19 text

Want More Info? • St2 Continuous Delivery Integration Pack https://github.com/StackStorm/st2incubator/tree/master/packs/st2 cd • IRC: Freenode #stackstorm • support@stackstorm.com 19

Slide 20

Slide 20 text

Check Out Our new Meetup! Auto-Remediation and Event Driven Automation • http://www.meetup.com/Auto-Remediation-and-Event-Driven-Automation/ • Thursday May 14, 2015 6:30pm • LinkedIn: 2029 Stierlin Ct, Mountain View, CA 20

Slide 21

Slide 21 text

Thank You