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!

Like this? Share it with your network

Share

PIE - The Programmable Infrastructure Environment

  • 3,811 views
Uploaded 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......

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.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,811
On Slideshare
3,787
From Embeds
24
Number of Embeds
3

Actions

Shares
Downloads
29
Comments
0
Likes
4

Embeds 24

http://community.spiceworks.com 20
http://www.linkedin.com 3
https://www.linkedin.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. PIE: The Programmable Infrastructure Environment
    Ernest Mueller PecoKarayanevNational Instruments theagileadmin.com
  • 2. 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
  • 3. Why is PIE tasty?
    model driven automation
    infrastructure as code
    DevOps
    dynamic scaling
    agility
  • 4.
  • 5. 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)
  • 6.
  • 7.
  • 8. 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
  • 9.
  • 10. 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”
  • 11. 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
  • 12. 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
  • 13.
  • 14. 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)
  • 15. What’s next
    Azure support
    Faster performance
    Robust runtime
    (parallel, transactional, event-driven)
    Scripting
    ( search, map, regex, orchestration semantics)
    Data in the Model
  • 16. theagileadmin.com