Merged Automation Talk - Pete Carapetyan - Feb 2016

Post on 13-Apr-2017

118 views 0 download

Transcript of Merged Automation Talk - Pete Carapetyan - Feb 2016

Code, Slides, Demo:

✤ code: polyrest at github

✤ slides: petecarapetyan at slideshare.net

✤ demo: [google] polyrest

Feb 2016

Merged Automation:

Ecosystems - Devops, JS, JavaWhat automation looks like when combining state of the art from each

Automation?The Phoenix

Project

✤ Vague about automation

✤ Lets you imagine your own ideas of what automation really is.

Different ideas about automation

✤ Imperative - as in, php, java, ruby, etc

✤ Declarative - You provide the nouns, we provide the actions. Puppet, xml/json config, … Spring 2002 over EJBs

✤ Templating - advanced copypasting from external variables - Chef + infinity others. Brilliant solutions from the weak minded engineer. [Me, for example.]

✤ Implicit - explicit metadata not required! We will guess/deduce from minimal info - languages, DSLs, platforms, … Otto, Ruby, Spring Boot

✤ Design - [API/Tooling] wrapping work inside any [headless] API or tool. OSGi, OO, design, Jenkins, CI/CD, ORM, REST, RPC … not always thought of as automation.

✤ UI - Just answer these questions… believe it or not that used to be called automation. Ouch. Jenkins UI, Virtual Box, almost all of ops before devops.

✤ Frameworks - Just let us do these groups of actions for you, our way. Angular.

Automation Types

partial list

✤ Imperative

✤ Declarative

✤ Templating

✤ Implicit

✤ Design

✤ UI

✤ Frameworks

Automating “Persistence”

✤ 1970 - Fortran code - Imperative

✤ 1980 - C code - Imperative

✤ 1992 - SQL92 RDBMS - Framework

✤ 1999 - EJB - Framework

✤ 2003 - Spring - Framework

✤ 2005 - ORM - Design/Framework

✤ 2012 - NoSQL - Design

✤ 2014 - Hadoop - Framework

✤ 2016 - Spring Data - Implicit

This Automation

TrumpsThat

Automation:

Templating, for example, is often and easily replaced in later years by better APIs and clean Design. ✤ XDoclet was replaced by Rails/

Grails✤ Virtual Box UI by Vagrant by Otto✤ Chef/Docker/Ansible by Docker

anyone?

Automation Too Far?

✤ Implicit as example of sometimes one step too far?

✤ Tooling and authoring sometimes much faster in explicit languages/toolsets.

✤ Example: James Strachan invented implicit language: Groovy, only to favor static typing of Scala, later.

James Strachan Creator of Groovy

“All things implicit are evil.”

–Pete Carapetyan

Tonight: Evolving Automation

✤ Polymer as Design over Frameworks

✤ PolyRest as Implicit over Declarative - a P.O.C. by me.

✤ Spring Data, Spring Boot as Implicit over Declarative

✤ Docker as Design over Templating or Declarative

PolymerLook Ma! No copypasting!

Framework being replaced by Design

by Google

PolyRest

✤ Look Ma!No db/table specific UI code!

✤ Written in Polymer

✤ Consumes HATEOAS REST APIs

[demo]

Spring BootSpring DataLook Ma, it’s all implicit!Almost no code, or declarative config.

Docker

✤ Look Ma! Takes the management out of Configuration Management. sorta. [Still seems a lot cleaner than Chef]

Code, Slides, Demo:

✤ code: polyrest at github

✤ slides: petecarapetyan at slideshare.net

✤ demo: [google] polyrest

[demo]