0
Ernest Mueller Peco Karayanev
National Instruments theagileadmin.com
a framework to define, provision,
monitor, and control cloud-based
systems
written in Java, uses SSH as transport,
current...
model driven automation
infrastructure as code
DevOps
dynamic scaling
agility
XML descriptions of the system as ‘specs’
 system (top level)
 environment (instance of a system)
 role (“tier” within ...
uses Apache Zookeeper
(part of Hadoop project)
the registry contains information
about the running system
specific address...
create, terminate, start, stop instances
using the AWS API
enforce scaling policy
execute remote commands
pie control.crea...
deploy services and apps
two-phase for fast deploys
update config files and parse templates
pie provision.deploy.stage /fc...
integrated with third party SaaS
monitoring provider Cloudkick
systems register with Cloudkick as they
come online and imm...
repeatable – no manual errors
reviewable – model in source control
rapid – bring up, install, configure, and
test dozens o...
Azure support
Faster performance
Robust runtime
(parallel, transactional, event-driven)
Scripting
( search, map, regex, or...
PIE - The Programmable Infrastructure Environment
PIE - The Programmable Infrastructure Environment
PIE - The Programmable Infrastructure Environment
PIE - The Programmable Infrastructure Environment
PIE - The Programmable Infrastructure Environment
PIE - The Programmable Infrastructure Environment
Upcoming SlideShare
Loading in...5
×

PIE - The Programmable Infrastructure Environment

3,283

Published on

The Programmable Infrastructure Environment (PIE) is an in-house developed system which uses model driven automation to provision, control, deploy, and monitor our cloud systems. It was written to maximally enable DevOps within our team and to handle our cross-platform (Windows, Linux) requirements.

Published in: Technology

Transcript of "PIE - The Programmable Infrastructure Environment"

  1. 1. Ernest Mueller Peco Karayanev National Instruments theagileadmin.com
  2. 2. a framework to define, provision, monitor, and control cloud-based systems written in Java, uses SSH as transport, currently supports Amazon AWS (Linux and Windows) takes an XML-based model from source control and creates a full running system
  3. 3. model driven automation infrastructure as code DevOps dynamic scaling agility
  4. 4. XML descriptions of the system as ‘specs’  system (top level)  environment (instance of a system)  role (“tier” within a system)  image (specific base box config)  service (specific software or application)  commands (for various levels)  templates (files to be parsed)
  5. 5. uses Apache Zookeeper (part of Hadoop project) the registry contains information about the running system specific addressing scheme: /fcc/test1/external-services/2/tomcat [/<system>/<environment>/<role>/<instance>/<service>] pie registry.register /fcc/test1/external-services/2 pie registry.bind /fcc/test1 pie registry.list /fcc/test1
  6. 6. create, terminate, start, stop instances using the AWS API enforce scaling policy execute remote commands pie control.create /fcc/test1/external-services/2 pie control.stop /fcc/test1/external-services/2 pie control.enforce /fcc/test1 pie control.remote.service.restart /fcc/test1/external-services/2/external-tomcat pie control.remote.execute /fcc/test1/external- services/2 –i exe[0]=“ls –l /etc/init.d”
  7. 7. deploy services and apps two-phase for fast deploys update config files and parse templates pie provision.deploy.stage /fcc/test1/external- services/2 –i pack[0]=lvdotcom-auth pie provision.deploy.run /fcc/test1/external- services/2 –i pack[0]=lvdotcom-auth pie provision.remote.updateConfig /fcc/test1
  8. 8. integrated with third party SaaS monitoring provider Cloudkick systems register with Cloudkick as they come online and immediately have appropriate monitors applied based on tags set from the model
  9. 9. repeatable – no manual errors reviewable – model in source control rapid – bring up, install, configure, and test dozens of systems in a morning resilient – automated reconfiguration to swap servers (throw away infrastructure)
  10. 10. Azure support Faster performance Robust runtime (parallel, transactional, event-driven) Scripting ( search, map, regex, orchestration semantics) Data in the Model
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×