Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

PIE - The Programmable Infrastructure Environment

on

  • 3,615 views

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 ...

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.

Statistics

Views

Total Views
3,615
Views on SlideShare
3,611
Embed Views
4

Actions

Likes
4
Downloads
28
Comments
0

2 Embeds 4

http://www.linkedin.com 3
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    PIE - The Programmable Infrastructure Environment PIE - The Programmable Infrastructure Environment Presentation Transcript

    • PIE: The Programmable Infrastructure Environment
      Ernest Mueller PecoKarayanevNational Instruments theagileadmin.com
    • What is PIE?
      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
    • Why is PIE tasty?
      model driven automation
      infrastructure as code
      DevOps
      dynamic scaling
      agility
    • Model
      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)
    • Registry
      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
    • Control
      create, terminate, start, stop instances using the AWS API
      enforce scaling policy
      execute remote commands
      pie control.create /fcc/test1/external-services/2pie 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”
    • Provisioning
      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
    • Monitoring
      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
    • Results
      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)
    • What’s next
      Azure support
      Faster performance
      Robust runtime
      (parallel, transactional, event-driven)
      Scripting
      ( search, map, regex, orchestration semantics)
      Data in the Model
    • theagileadmin.com