PIE - The Programmable Infrastructure Environment
-
Upload
ernest-mueller -
Category
Technology
-
view
3.126 -
download
0
description
Transcript of PIE - The Programmable Infrastructure Environment
![Page 1: PIE - The Programmable Infrastructure Environment](https://reader036.fdocuments.us/reader036/viewer/2022082916/54b6d2dc4a79594d158b45c3/html5/thumbnails/1.jpg)
PIE: The Programmable
Infrastructure Environment
Ernest Mueller Peco KarayanevNational Instruments theagileadmin.com
![Page 2: PIE - The Programmable Infrastructure Environment](https://reader036.fdocuments.us/reader036/viewer/2022082916/54b6d2dc4a79594d158b45c3/html5/thumbnails/2.jpg)
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
![Page 3: PIE - The Programmable Infrastructure Environment](https://reader036.fdocuments.us/reader036/viewer/2022082916/54b6d2dc4a79594d158b45c3/html5/thumbnails/3.jpg)
Why is PIE tasty?
model driven automation
infrastructure as code
DevOps
dynamic scaling
agility
![Page 4: PIE - The Programmable Infrastructure Environment](https://reader036.fdocuments.us/reader036/viewer/2022082916/54b6d2dc4a79594d158b45c3/html5/thumbnails/4.jpg)
![Page 5: PIE - The Programmable Infrastructure Environment](https://reader036.fdocuments.us/reader036/viewer/2022082916/54b6d2dc4a79594d158b45c3/html5/thumbnails/5.jpg)
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)
![Page 6: PIE - The Programmable Infrastructure Environment](https://reader036.fdocuments.us/reader036/viewer/2022082916/54b6d2dc4a79594d158b45c3/html5/thumbnails/6.jpg)
![Page 7: PIE - The Programmable Infrastructure Environment](https://reader036.fdocuments.us/reader036/viewer/2022082916/54b6d2dc4a79594d158b45c3/html5/thumbnails/7.jpg)
![Page 8: PIE - The Programmable Infrastructure Environment](https://reader036.fdocuments.us/reader036/viewer/2022082916/54b6d2dc4a79594d158b45c3/html5/thumbnails/8.jpg)
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/2pie registry.bind /fcc/test1pie registry.list /fcc/test1
![Page 9: PIE - The Programmable Infrastructure Environment](https://reader036.fdocuments.us/reader036/viewer/2022082916/54b6d2dc4a79594d158b45c3/html5/thumbnails/9.jpg)
![Page 10: PIE - The Programmable Infrastructure Environment](https://reader036.fdocuments.us/reader036/viewer/2022082916/54b6d2dc4a79594d158b45c3/html5/thumbnails/10.jpg)
Control
create, terminate, start, stop instances using the AWS API
enforce scaling policy
execute remote commandspie control.create /fcc/test1/external-services/2pie control.stop /fcc/test1/external-services/2pie control.enforce /fcc/test1pie control.remote.service.restart /fcc/test1/external-services/2/external-tomcatpie control.remote.execute /fcc/test1/external-services/2 –i exe[0]=“ls –l /etc/init.d”
![Page 11: PIE - The Programmable Infrastructure Environment](https://reader036.fdocuments.us/reader036/viewer/2022082916/54b6d2dc4a79594d158b45c3/html5/thumbnails/11.jpg)
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-authpie provision.deploy.run /fcc/test1/external-services/2 –i pack[0]=lvdotcom-authpie provision.remote.updateConfig /fcc/test1
![Page 12: PIE - The Programmable Infrastructure Environment](https://reader036.fdocuments.us/reader036/viewer/2022082916/54b6d2dc4a79594d158b45c3/html5/thumbnails/12.jpg)
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
![Page 13: PIE - The Programmable Infrastructure Environment](https://reader036.fdocuments.us/reader036/viewer/2022082916/54b6d2dc4a79594d158b45c3/html5/thumbnails/13.jpg)
![Page 14: PIE - The Programmable Infrastructure Environment](https://reader036.fdocuments.us/reader036/viewer/2022082916/54b6d2dc4a79594d158b45c3/html5/thumbnails/14.jpg)
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)
![Page 15: PIE - The Programmable Infrastructure Environment](https://reader036.fdocuments.us/reader036/viewer/2022082916/54b6d2dc4a79594d158b45c3/html5/thumbnails/15.jpg)
What’s next
Azure support
Faster performance
Robust runtime (parallel, transactional, event-driven)
Scripting( search, map, regex, orchestration semantics)
Data in the Model
![Page 16: PIE - The Programmable Infrastructure Environment](https://reader036.fdocuments.us/reader036/viewer/2022082916/54b6d2dc4a79594d158b45c3/html5/thumbnails/16.jpg)
theagileadmin.com