SlideShare ist ein Scribd-Unternehmen logo
1 von 27
F5 Programmability and Puppet 
Colin Walker, Sr. Product Management Engineer 
September 2014
Programmability
What is Programmability? 
• Custom business logic to solve complex 
problems 
• Glue to hold together deployments 
• Turns “Not possible” into “with a little work…” 
• Offers the ability to be infinitely tunable 
• Leaves no deployment behind 
© F5 Networks, Inc. 3
Programmability – Required for App Fluency 
© F5 Networks, Inc. 4
What is Programmability at F5? 
iRules iControl iApps iCall iSense tmsh 
Data Plane 
Programmability 
Programmable 
Management API in 
SOAP and REST 
Enterprise Apps, 
Orchestration and 
BIG-IQ 
Event based 
handlers 
Scriptable 
monitors 
On-box Tcl based 
shell and 
programming 
utility 
DevCentral 
© F5 Networks, Inc. 5
Automation and Deployment
“High performing organizations deploy code 30 
times more often and 8000 times faster than their 
peers, deploying multiple times a day, versus an 
average of once a month. They also have double 
the change success rate and restore service 12 
times faster than their peers. The net results are 
lower business risk and more operational agility.” 
—2013 State of DevOps Report, 
Puppet Labs 
© F5 Networks, Inc. 7
Typical Application Deployment 
© F5 Networks, Inc. 8
Typical Application Deployment 
© F5 Networks, Inc. 9
REST
Why REST? Why Now? 
• An application programming interface (API) simply specifies how 
some software components should interact with each other 
API Server 
• Traditional APIs were SOAP/CRUD based using XML 
or JSON – REST APIs are more standards based 
© F5 Networks, Inc. 11
iControl – SOAP to REST 
• iControl – The original control plane automation tool from F5 
• Programmatic access to anything that you can do via the CLI or GUI 
• Remote API access 
• SOAP/XML based 
• iControl REST – A new approach to remote BIG-IP scripting 
• REST based architecture uses simple, small command structures. 
• Tied directly to tmsh commands 
• Commands you know, very low bar to entry 
• Less barrier to developers promoting functionality via API 
• Symmetry between GUI/CLI & API dev/maintenance 
• Rapid development and rollout 
© F5 Networks, Inc. 12
tmsh vs iControl REST? 
tmsh: 
modify ltm pool http-pool members modify { 10.133.20.60:any { session user-disabled } } 
iControl REST: 
curl -k -u admin:admin -H "Content-Type: application/json" -X PUT -d '{"session": "user-enabled"}' 
https://localhost/mgmt/tm/ltm/pool/test_1-pool/members/10.133.20.60:any 
© F5 Networks, Inc. 13
Perl – Create Virtual: 
# create virtual 
&create_http_virtual_server($bigip, VS_NAME, VS_ADDRESS, VS_PORT, POOL_NAME); 
print "created virtual server "" . VS_NAME . "" with destination " . VS_ADDRESS . ":" . 
"...n"; 
sub create_http_virtual_server { 
my ($bigip, $name, $address, $port, $pool) = @_; 
# define virtual properties 
my %payload; 
$payload{'kind'} = 'tm:ltm:virtual:virtualstate'; 
$payload{'name'} = $name; 
$payload{'description'} = 'A Perl REST::Client test virtual server'; 
$payload{'destination'} = $address . ':' . $port; 
$payload{'mask'} = '255.255.255.255'; 
$payload{'ipProtocol'} = 'tcp'; 
$payload{'sourceAddressTranslation'} = { 'type' => 'automap' }; 
$payload{'profiles'} = [ 
{ 'kind' => 'ltm:virtual:profile', 'name' => 'http' }, 
{ 'kind' => 'ltm:virtual:profile', 'name' => 'tcp' } 
]; 
$payload{'pool'} = $pool; 
my $json = encode_json %payload; 
$bigip->POST('ltm/virtual', $json); 
© F5 Networks, Inc. 14 
} 
More RESTful Examples 
Python – Create Virtual: 
# create virtual 
create_http_virtual(bigip, VS_NAME, VS_ADDRESS, VS_PORT, POOL_NAME) 
print "created virtual server "%s" with destination %s:%s..." % (VS_NAME, VS_ADDRESS, 
VS_PORT) 
def create_http_virtual(bigip, name, address, port, pool): 
payload = {} 
# define test virtual 
payload['kind'] = 'tm:ltm:virtual:virtualstate' 
payload['name'] = name 
payload['description'] = 'A Python REST client test virtual server' 
payload['destination'] = '%s:%s' % (address, port) 
payload['mask'] = '255.255.255.255' 
payload['ipProtocol'] = 'tcp' 
payload['sourceAddressTranslation'] = { 'type' : 'automap' } 
payload['profiles'] = [ 
{ 'kind' : 'ltm:virtual:profile', 'name' : 'http' }, 
{ 'kind' : 'ltm:virtual:profile', 'name' : 'tcp' } 
] 
payload['pool'] = pool 
bigip.post('%s/ltm/virtual' % BIGIP_URL_BASE, data=json.dumps(payload))
What’s this REST stuff? 
en.wikipedia.org/wiki/Representational_state_transfer 
• REST is based on the following simple ideas: 
• REST uses URIs to refer to and to access resources 
• Uses HTTP methods to change the state of resources: 
GET – retrieve details or a list of something 
POST – create something on the server side 
PUT – update something on the server side 
DELETE – delete something on the server side 
© F5 Networks, Inc. 15
And Who is this JSON guy? 
XML JSON 
<person> 
<first name>Johnny</firstname> 
<last name>Userguy</lastname> 
</person> 
{ "person": 
{ 
"firstname": “Johnny", 
"lastname": “Userguy" 
} 
} 
JSON (JavaScript Object Notation) is simply a way of passing data to a 
web page in a serialized way that is very easy to reconstitute into a 
javascript object. 
JSON classes are built into every major javascript engine, so every 
browser has JSON encode/decode support. 
{ 
"name":"bigip-1-1", 
"protocol":"HTTP", 
"port": "80" 
} 
© F5 Networks, Inc. 16
What does an F5 REST call look like? 
© F5 Networks, Inc. 17
iControl REST API
iControl REST API – How to start? 
• Starting Point at DevCentral : 
• https://devcentral.f5.com/wiki/iControlREST.HomePage.ashx 
• Download Documentation: 
• https://devcentral.f5.com/d/icontrol-rest-user-guide-version-1150?download=true 
• Some good examples are available here: 
• https://devcentral.f5.com/wiki/iControlREST.CodeShare.ashx 
© F5 Networks, Inc. 19
iControl REST API – Direct Access 
• cURL 
• Web Browser 
• Browser Plug-In 
# curl -k -u admin:admin https://172.29.86.62/mgmt/tm/ 
{"items":[{"link":"https://localhost/mgmt/tm/cloud/ltm/node-addresses"},{" 
link":"https://localhost/mgmt/tm/cloud/ltm/pool-members"},{" 
link":"https://localhost/mgmt/tm/cloud/ltm/pools"},{"li 
nk":"https://localhost/mgmt/tm/cloud/ltm/virtual-servers"},{" 
link":"https://localhost/mgmt/tm/cloud/services/iapp/ht 
tp_Charlie_61/health"},{"link":"https://localhost/mgmt/tm"},{"link" 
:"https://localhost/mgmt/tm/shared/licensing/activation"},{"link":" 
https://localhost/mgmt/tm/shared/licensing/registration"},{"link":" 
https://localhost/mgmt/tm/cloud/templates/iapp"},{"link":"https://l 
ocalhost/mgmt/tm/shared/sys/backup"},{"link":"https://localhost/mgm 
t/tm/shared/iapp/blocks"},{"link":"https://localhost/mgmt/tm/shared 
/iapp/health-prefix-map 
© F5 Networks, Inc. 20
REST API example – list selfip 
# curl -k -u admin:admin https://172.29.86.62/mgmt/tm/net/self/internal_self2 | sed s/,/,n/g 
{"kind":"tm:net:self:selfstate", 
"name":"internal_self2", 
"generation":0, 
"lastUpdatedMicros":0, 
"selfLink":"https://localhost/mgmt/tm/net/self/internal_self2", 
"partition":"/Common/", 
"address":"10.81.60.2/8", 
"floating":"disabled", 
"inheritedTrafficGroup":"false", 
"trafficGroup":"traffic-group-local-only", 
"unit":0, 
"vlan":"internal"} 
© F5 Networks, Inc. 21
REST API Example – Self IP 
© F5 Networks, Inc. 22
REST API – Object Creation 
© F5 Networks, Inc. 23
Why Puppet and F5? 
• Security 
• $$$$ / Budgeting 
• Take advantage of virtualization 
• Avoid misconfiguration 
• Lessened provisioning time 
• Replication of efforts 
• Strong Partner Integration 
© F5 Networks, Inc. 24
“Puppet Enterprise Supported Modules, for 
example, are ones that have been fully tested and 
validated for use with Puppet Enterprise. A number 
of such modules are already available, and new 
modules for managing Microsoft SQL Server, F5 
load balancers, and Arista networking equipment 
are coming in the fourth quarter, the company 
said.” 
-Puppet-wearing devs: There's now an app (or two) for that, 
The Register, Setpember, 2014 
© F5 Networks, Inc. 25
Next Steps 
• Check out the code samples on F5.com and DevCentral 
• Read the programmability white paper on DevCentral: 
http://www.f5.com/pdf/white-papers/the-programmable-network-white-paper. 
pdf 
• Provide your engineers with a starting point with free training from F5 
University: https://f5.com/education/training 
If I can be of further assistance please contact me: 
c.walker@f5.com | @colin_walker
Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014

Weitere ähnliche Inhalte

Was ist angesagt?

F5 Solutions for Service Providers
F5 Solutions for Service ProvidersF5 Solutions for Service Providers
F5 Solutions for Service ProvidersBAKOTECH
 
Presentation network design and security for your v mware view deployment w...
Presentation   network design and security for your v mware view deployment w...Presentation   network design and security for your v mware view deployment w...
Presentation network design and security for your v mware view deployment w...solarisyourep
 
Get more versatile and scalable protection with F5 BIG-IP
Get more versatile and scalable protection with F5 BIG-IPGet more versatile and scalable protection with F5 BIG-IP
Get more versatile and scalable protection with F5 BIG-IPF5NetworksAPJ
 
New Products Overview: Use Cases and Demos
New Products Overview: Use Cases and DemosNew Products Overview: Use Cases and Demos
New Products Overview: Use Cases and DemosCaitlin Magat
 
BIG IP F5 GTM Presentation
BIG IP F5 GTM PresentationBIG IP F5 GTM Presentation
BIG IP F5 GTM PresentationPCCW GLOBAL
 
What’s New at Cloudflare: New Product Launches
What’s New at Cloudflare: New Product LaunchesWhat’s New at Cloudflare: New Product Launches
What’s New at Cloudflare: New Product LaunchesCloudflare
 
The WAF book intro protection elements v1.0 lior rotkovitch
The WAF book intro protection elements v1.0 lior rotkovitchThe WAF book intro protection elements v1.0 lior rotkovitch
The WAF book intro protection elements v1.0 lior rotkovitchLior Rotkovitch
 
NGINX Plus R18: What's new
NGINX Plus R18: What's newNGINX Plus R18: What's new
NGINX Plus R18: What's newNGINX, Inc.
 
F5's Dynamic DNS Services
F5's Dynamic DNS ServicesF5's Dynamic DNS Services
F5's Dynamic DNS ServicesF5 Networks
 
Bluecoat Services
Bluecoat ServicesBluecoat Services
Bluecoat ServicesChessBall
 
Securing Internal Applications with Cloudflare Access
Securing Internal Applications with Cloudflare AccessSecuring Internal Applications with Cloudflare Access
Securing Internal Applications with Cloudflare AccessCloudflare
 
Reversing blue coat proxysg - wa-
Reversing blue coat proxysg - wa-Reversing blue coat proxysg - wa-
Reversing blue coat proxysg - wa-idsecconf
 
Wccp introduction final2
Wccp introduction final2Wccp introduction final2
Wccp introduction final2bui thequan
 
Why Many Websites are still Insecure (and How to Fix Them)
Why Many Websites are still Insecure (and How to Fix Them)Why Many Websites are still Insecure (and How to Fix Them)
Why Many Websites are still Insecure (and How to Fix Them)Cloudflare
 
How CDNs Can improve Mobile Application Performance
How CDNs Can improve Mobile Application PerformanceHow CDNs Can improve Mobile Application Performance
How CDNs Can improve Mobile Application PerformanceCloudflare
 
F5 9.x to 10.x Upgrade Customer Presentation
F5 9.x to 10.x Upgrade Customer PresentationF5 9.x to 10.x Upgrade Customer Presentation
F5 9.x to 10.x Upgrade Customer PresentationF5 Networks
 

Was ist angesagt? (20)

F5 Solutions for Service Providers
F5 Solutions for Service ProvidersF5 Solutions for Service Providers
F5 Solutions for Service Providers
 
Presentation network design and security for your v mware view deployment w...
Presentation   network design and security for your v mware view deployment w...Presentation   network design and security for your v mware view deployment w...
Presentation network design and security for your v mware view deployment w...
 
Get more versatile and scalable protection with F5 BIG-IP
Get more versatile and scalable protection with F5 BIG-IPGet more versatile and scalable protection with F5 BIG-IP
Get more versatile and scalable protection with F5 BIG-IP
 
Novinky F5
Novinky F5Novinky F5
Novinky F5
 
New Products Overview: Use Cases and Demos
New Products Overview: Use Cases and DemosNew Products Overview: Use Cases and Demos
New Products Overview: Use Cases and Demos
 
BIG IP F5 GTM Presentation
BIG IP F5 GTM PresentationBIG IP F5 GTM Presentation
BIG IP F5 GTM Presentation
 
What’s New at Cloudflare: New Product Launches
What’s New at Cloudflare: New Product LaunchesWhat’s New at Cloudflare: New Product Launches
What’s New at Cloudflare: New Product Launches
 
F5 beyond load balancer (nov 2009)
F5 beyond load balancer (nov 2009)F5 beyond load balancer (nov 2009)
F5 beyond load balancer (nov 2009)
 
The WAF book intro protection elements v1.0 lior rotkovitch
The WAF book intro protection elements v1.0 lior rotkovitchThe WAF book intro protection elements v1.0 lior rotkovitch
The WAF book intro protection elements v1.0 lior rotkovitch
 
F5 TMOS v13.0
F5 TMOS v13.0F5 TMOS v13.0
F5 TMOS v13.0
 
NGINX Plus R18: What's new
NGINX Plus R18: What's newNGINX Plus R18: What's new
NGINX Plus R18: What's new
 
F5's Dynamic DNS Services
F5's Dynamic DNS ServicesF5's Dynamic DNS Services
F5's Dynamic DNS Services
 
Bluecoat Services
Bluecoat ServicesBluecoat Services
Bluecoat Services
 
Securing Internal Applications with Cloudflare Access
Securing Internal Applications with Cloudflare AccessSecuring Internal Applications with Cloudflare Access
Securing Internal Applications with Cloudflare Access
 
Reversing blue coat proxysg - wa-
Reversing blue coat proxysg - wa-Reversing blue coat proxysg - wa-
Reversing blue coat proxysg - wa-
 
Wccp introduction final2
Wccp introduction final2Wccp introduction final2
Wccp introduction final2
 
Why Many Websites are still Insecure (and How to Fix Them)
Why Many Websites are still Insecure (and How to Fix Them)Why Many Websites are still Insecure (and How to Fix Them)
Why Many Websites are still Insecure (and How to Fix Them)
 
F5 Cloud Story
F5 Cloud StoryF5 Cloud Story
F5 Cloud Story
 
How CDNs Can improve Mobile Application Performance
How CDNs Can improve Mobile Application PerformanceHow CDNs Can improve Mobile Application Performance
How CDNs Can improve Mobile Application Performance
 
F5 9.x to 10.x Upgrade Customer Presentation
F5 9.x to 10.x Upgrade Customer PresentationF5 9.x to 10.x Upgrade Customer Presentation
F5 9.x to 10.x Upgrade Customer Presentation
 

Andere mochten auch

PuppetDB: One Year Faster - PuppetConf 2014
PuppetDB: One Year Faster - PuppetConf 2014PuppetDB: One Year Faster - PuppetConf 2014
PuppetDB: One Year Faster - PuppetConf 2014Puppet
 
Managing Network Security Monitoring at Large Scale with Puppet - PuppetConf ...
Managing Network Security Monitoring at Large Scale with Puppet - PuppetConf ...Managing Network Security Monitoring at Large Scale with Puppet - PuppetConf ...
Managing Network Security Monitoring at Large Scale with Puppet - PuppetConf ...Puppet
 
Infrastructure as Code for Beginners
Infrastructure as Code for BeginnersInfrastructure as Code for Beginners
Infrastructure as Code for BeginnersDavid Völkel
 
Puppetconf2016 Puppet on Windows
Puppetconf2016 Puppet on WindowsPuppetconf2016 Puppet on Windows
Puppetconf2016 Puppet on WindowsNicolas Corrarello
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as CodeRobert Greiner
 
Mastering DevOps With Oracle
Mastering DevOps With OracleMastering DevOps With Oracle
Mastering DevOps With OracleKelly Goetsch
 
Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013)
Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013)Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013)
Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013)enpit GmbH & Co. KG
 
WebLogic Administration und Deployment mit WLST
WebLogic Administration und Deployment mit WLSTWebLogic Administration und Deployment mit WLST
WebLogic Administration und Deployment mit WLSTenpit GmbH & Co. KG
 
Digital Strategy 101
Digital Strategy 101Digital Strategy 101
Digital Strategy 101Bud Caddell
 

Andere mochten auch (9)

PuppetDB: One Year Faster - PuppetConf 2014
PuppetDB: One Year Faster - PuppetConf 2014PuppetDB: One Year Faster - PuppetConf 2014
PuppetDB: One Year Faster - PuppetConf 2014
 
Managing Network Security Monitoring at Large Scale with Puppet - PuppetConf ...
Managing Network Security Monitoring at Large Scale with Puppet - PuppetConf ...Managing Network Security Monitoring at Large Scale with Puppet - PuppetConf ...
Managing Network Security Monitoring at Large Scale with Puppet - PuppetConf ...
 
Infrastructure as Code for Beginners
Infrastructure as Code for BeginnersInfrastructure as Code for Beginners
Infrastructure as Code for Beginners
 
Puppetconf2016 Puppet on Windows
Puppetconf2016 Puppet on WindowsPuppetconf2016 Puppet on Windows
Puppetconf2016 Puppet on Windows
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Mastering DevOps With Oracle
Mastering DevOps With OracleMastering DevOps With Oracle
Mastering DevOps With Oracle
 
Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013)
Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013)Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013)
Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013)
 
WebLogic Administration und Deployment mit WLST
WebLogic Administration und Deployment mit WLSTWebLogic Administration und Deployment mit WLST
WebLogic Administration und Deployment mit WLST
 
Digital Strategy 101
Digital Strategy 101Digital Strategy 101
Digital Strategy 101
 

Ähnlich wie Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014

how to use openstack api
how to use openstack apihow to use openstack api
how to use openstack apiLiang Bo
 
Introduction to CloudStack API
Introduction to CloudStack APIIntroduction to CloudStack API
Introduction to CloudStack APIKrunal Jain
 
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesIBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesChris Bailey
 
Working with PowerVC via its REST APIs
Working with PowerVC via its REST APIsWorking with PowerVC via its REST APIs
Working with PowerVC via its REST APIsJoe Cropper
 
Consuming RESTful Web services in PHP
Consuming RESTful Web services in PHPConsuming RESTful Web services in PHP
Consuming RESTful Web services in PHPZoran Jeremic
 
Consuming RESTful services in PHP
Consuming RESTful services in PHPConsuming RESTful services in PHP
Consuming RESTful services in PHPZoran Jeremic
 
Node Interactive: Node.js Performance and Highly Scalable Micro-Services
Node Interactive: Node.js Performance and Highly Scalable Micro-ServicesNode Interactive: Node.js Performance and Highly Scalable Micro-Services
Node Interactive: Node.js Performance and Highly Scalable Micro-ServicesChris Bailey
 
Elasticsearch und die Java-Welt
Elasticsearch und die Java-WeltElasticsearch und die Java-Welt
Elasticsearch und die Java-WeltFlorian Hopf
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesLindsay Holmwood
 
Intro to node and mongodb 1
Intro to node and mongodb   1Intro to node and mongodb   1
Intro to node and mongodb 1Mohammad Qureshi
 
Kong API Gateway
Kong API Gateway Kong API Gateway
Kong API Gateway Chris Mague
 
REST with Eve and Python
REST with Eve and PythonREST with Eve and Python
REST with Eve and PythonPiXeL16
 
The Real World - Plugging the Enterprise Into It (nodejs)
The Real World - Plugging  the Enterprise Into It (nodejs)The Real World - Plugging  the Enterprise Into It (nodejs)
The Real World - Plugging the Enterprise Into It (nodejs)Aman Kohli
 
Ato2019 weave-services-istio
Ato2019 weave-services-istioAto2019 weave-services-istio
Ato2019 weave-services-istioLin Sun
 

Ähnlich wie Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014 (20)

how to use openstack api
how to use openstack apihow to use openstack api
how to use openstack api
 
MesosCon - Be a microservices hero
MesosCon - Be a microservices heroMesosCon - Be a microservices hero
MesosCon - Be a microservices hero
 
Introduction to CloudStack API
Introduction to CloudStack APIIntroduction to CloudStack API
Introduction to CloudStack API
 
REST API for your WP7 App
REST API for your WP7 AppREST API for your WP7 App
REST API for your WP7 App
 
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesIBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
 
Working with PowerVC via its REST APIs
Working with PowerVC via its REST APIsWorking with PowerVC via its REST APIs
Working with PowerVC via its REST APIs
 
REST in Peace
REST in PeaceREST in Peace
REST in Peace
 
Consuming RESTful Web services in PHP
Consuming RESTful Web services in PHPConsuming RESTful Web services in PHP
Consuming RESTful Web services in PHP
 
Consuming RESTful services in PHP
Consuming RESTful services in PHPConsuming RESTful services in PHP
Consuming RESTful services in PHP
 
Node Interactive: Node.js Performance and Highly Scalable Micro-Services
Node Interactive: Node.js Performance and Highly Scalable Micro-ServicesNode Interactive: Node.js Performance and Highly Scalable Micro-Services
Node Interactive: Node.js Performance and Highly Scalable Micro-Services
 
Micro service architecture
Micro service architectureMicro service architecture
Micro service architecture
 
Zendcon 09
Zendcon 09Zendcon 09
Zendcon 09
 
Elasticsearch und die Java-Welt
Elasticsearch und die Java-WeltElasticsearch und die Java-Welt
Elasticsearch und die Java-Welt
 
Automation day red hat ansible
   Automation day red hat ansible    Automation day red hat ansible
Automation day red hat ansible
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websites
 
Intro to node and mongodb 1
Intro to node and mongodb   1Intro to node and mongodb   1
Intro to node and mongodb 1
 
Kong API Gateway
Kong API Gateway Kong API Gateway
Kong API Gateway
 
REST with Eve and Python
REST with Eve and PythonREST with Eve and Python
REST with Eve and Python
 
The Real World - Plugging the Enterprise Into It (nodejs)
The Real World - Plugging  the Enterprise Into It (nodejs)The Real World - Plugging  the Enterprise Into It (nodejs)
The Real World - Plugging the Enterprise Into It (nodejs)
 
Ato2019 weave-services-istio
Ato2019 weave-services-istioAto2019 weave-services-istio
Ato2019 weave-services-istio
 

Mehr von Puppet

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyamlPuppet
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)Puppet
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscodePuppet
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twentiesPuppet
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codePuppet
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approachPuppet
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationPuppet
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliancePuppet
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowPuppet
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Puppet
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppetPuppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkPuppet
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping groundPuppet
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy SoftwarePuppet
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User GroupPuppet
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsPuppet
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyPuppet
 

Mehr von Puppet (20)

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyaml
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscode
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twenties
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approach
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliance
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden Windows
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping ground
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User Group
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOps
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
 

Kürzlich hochgeladen

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 

Kürzlich hochgeladen (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 

Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014

  • 1. F5 Programmability and Puppet Colin Walker, Sr. Product Management Engineer September 2014
  • 3. What is Programmability? • Custom business logic to solve complex problems • Glue to hold together deployments • Turns “Not possible” into “with a little work…” • Offers the ability to be infinitely tunable • Leaves no deployment behind © F5 Networks, Inc. 3
  • 4. Programmability – Required for App Fluency © F5 Networks, Inc. 4
  • 5. What is Programmability at F5? iRules iControl iApps iCall iSense tmsh Data Plane Programmability Programmable Management API in SOAP and REST Enterprise Apps, Orchestration and BIG-IQ Event based handlers Scriptable monitors On-box Tcl based shell and programming utility DevCentral © F5 Networks, Inc. 5
  • 7. “High performing organizations deploy code 30 times more often and 8000 times faster than their peers, deploying multiple times a day, versus an average of once a month. They also have double the change success rate and restore service 12 times faster than their peers. The net results are lower business risk and more operational agility.” —2013 State of DevOps Report, Puppet Labs © F5 Networks, Inc. 7
  • 8. Typical Application Deployment © F5 Networks, Inc. 8
  • 9. Typical Application Deployment © F5 Networks, Inc. 9
  • 10. REST
  • 11. Why REST? Why Now? • An application programming interface (API) simply specifies how some software components should interact with each other API Server • Traditional APIs were SOAP/CRUD based using XML or JSON – REST APIs are more standards based © F5 Networks, Inc. 11
  • 12. iControl – SOAP to REST • iControl – The original control plane automation tool from F5 • Programmatic access to anything that you can do via the CLI or GUI • Remote API access • SOAP/XML based • iControl REST – A new approach to remote BIG-IP scripting • REST based architecture uses simple, small command structures. • Tied directly to tmsh commands • Commands you know, very low bar to entry • Less barrier to developers promoting functionality via API • Symmetry between GUI/CLI & API dev/maintenance • Rapid development and rollout © F5 Networks, Inc. 12
  • 13. tmsh vs iControl REST? tmsh: modify ltm pool http-pool members modify { 10.133.20.60:any { session user-disabled } } iControl REST: curl -k -u admin:admin -H "Content-Type: application/json" -X PUT -d '{"session": "user-enabled"}' https://localhost/mgmt/tm/ltm/pool/test_1-pool/members/10.133.20.60:any © F5 Networks, Inc. 13
  • 14. Perl – Create Virtual: # create virtual &create_http_virtual_server($bigip, VS_NAME, VS_ADDRESS, VS_PORT, POOL_NAME); print "created virtual server "" . VS_NAME . "" with destination " . VS_ADDRESS . ":" . "...n"; sub create_http_virtual_server { my ($bigip, $name, $address, $port, $pool) = @_; # define virtual properties my %payload; $payload{'kind'} = 'tm:ltm:virtual:virtualstate'; $payload{'name'} = $name; $payload{'description'} = 'A Perl REST::Client test virtual server'; $payload{'destination'} = $address . ':' . $port; $payload{'mask'} = '255.255.255.255'; $payload{'ipProtocol'} = 'tcp'; $payload{'sourceAddressTranslation'} = { 'type' => 'automap' }; $payload{'profiles'} = [ { 'kind' => 'ltm:virtual:profile', 'name' => 'http' }, { 'kind' => 'ltm:virtual:profile', 'name' => 'tcp' } ]; $payload{'pool'} = $pool; my $json = encode_json %payload; $bigip->POST('ltm/virtual', $json); © F5 Networks, Inc. 14 } More RESTful Examples Python – Create Virtual: # create virtual create_http_virtual(bigip, VS_NAME, VS_ADDRESS, VS_PORT, POOL_NAME) print "created virtual server "%s" with destination %s:%s..." % (VS_NAME, VS_ADDRESS, VS_PORT) def create_http_virtual(bigip, name, address, port, pool): payload = {} # define test virtual payload['kind'] = 'tm:ltm:virtual:virtualstate' payload['name'] = name payload['description'] = 'A Python REST client test virtual server' payload['destination'] = '%s:%s' % (address, port) payload['mask'] = '255.255.255.255' payload['ipProtocol'] = 'tcp' payload['sourceAddressTranslation'] = { 'type' : 'automap' } payload['profiles'] = [ { 'kind' : 'ltm:virtual:profile', 'name' : 'http' }, { 'kind' : 'ltm:virtual:profile', 'name' : 'tcp' } ] payload['pool'] = pool bigip.post('%s/ltm/virtual' % BIGIP_URL_BASE, data=json.dumps(payload))
  • 15. What’s this REST stuff? en.wikipedia.org/wiki/Representational_state_transfer • REST is based on the following simple ideas: • REST uses URIs to refer to and to access resources • Uses HTTP methods to change the state of resources: GET – retrieve details or a list of something POST – create something on the server side PUT – update something on the server side DELETE – delete something on the server side © F5 Networks, Inc. 15
  • 16. And Who is this JSON guy? XML JSON <person> <first name>Johnny</firstname> <last name>Userguy</lastname> </person> { "person": { "firstname": “Johnny", "lastname": “Userguy" } } JSON (JavaScript Object Notation) is simply a way of passing data to a web page in a serialized way that is very easy to reconstitute into a javascript object. JSON classes are built into every major javascript engine, so every browser has JSON encode/decode support. { "name":"bigip-1-1", "protocol":"HTTP", "port": "80" } © F5 Networks, Inc. 16
  • 17. What does an F5 REST call look like? © F5 Networks, Inc. 17
  • 19. iControl REST API – How to start? • Starting Point at DevCentral : • https://devcentral.f5.com/wiki/iControlREST.HomePage.ashx • Download Documentation: • https://devcentral.f5.com/d/icontrol-rest-user-guide-version-1150?download=true • Some good examples are available here: • https://devcentral.f5.com/wiki/iControlREST.CodeShare.ashx © F5 Networks, Inc. 19
  • 20. iControl REST API – Direct Access • cURL • Web Browser • Browser Plug-In # curl -k -u admin:admin https://172.29.86.62/mgmt/tm/ {"items":[{"link":"https://localhost/mgmt/tm/cloud/ltm/node-addresses"},{" link":"https://localhost/mgmt/tm/cloud/ltm/pool-members"},{" link":"https://localhost/mgmt/tm/cloud/ltm/pools"},{"li nk":"https://localhost/mgmt/tm/cloud/ltm/virtual-servers"},{" link":"https://localhost/mgmt/tm/cloud/services/iapp/ht tp_Charlie_61/health"},{"link":"https://localhost/mgmt/tm"},{"link" :"https://localhost/mgmt/tm/shared/licensing/activation"},{"link":" https://localhost/mgmt/tm/shared/licensing/registration"},{"link":" https://localhost/mgmt/tm/cloud/templates/iapp"},{"link":"https://l ocalhost/mgmt/tm/shared/sys/backup"},{"link":"https://localhost/mgm t/tm/shared/iapp/blocks"},{"link":"https://localhost/mgmt/tm/shared /iapp/health-prefix-map © F5 Networks, Inc. 20
  • 21. REST API example – list selfip # curl -k -u admin:admin https://172.29.86.62/mgmt/tm/net/self/internal_self2 | sed s/,/,n/g {"kind":"tm:net:self:selfstate", "name":"internal_self2", "generation":0, "lastUpdatedMicros":0, "selfLink":"https://localhost/mgmt/tm/net/self/internal_self2", "partition":"/Common/", "address":"10.81.60.2/8", "floating":"disabled", "inheritedTrafficGroup":"false", "trafficGroup":"traffic-group-local-only", "unit":0, "vlan":"internal"} © F5 Networks, Inc. 21
  • 22. REST API Example – Self IP © F5 Networks, Inc. 22
  • 23. REST API – Object Creation © F5 Networks, Inc. 23
  • 24. Why Puppet and F5? • Security • $$$$ / Budgeting • Take advantage of virtualization • Avoid misconfiguration • Lessened provisioning time • Replication of efforts • Strong Partner Integration © F5 Networks, Inc. 24
  • 25. “Puppet Enterprise Supported Modules, for example, are ones that have been fully tested and validated for use with Puppet Enterprise. A number of such modules are already available, and new modules for managing Microsoft SQL Server, F5 load balancers, and Arista networking equipment are coming in the fourth quarter, the company said.” -Puppet-wearing devs: There's now an app (or two) for that, The Register, Setpember, 2014 © F5 Networks, Inc. 25
  • 26. Next Steps • Check out the code samples on F5.com and DevCentral • Read the programmability white paper on DevCentral: http://www.f5.com/pdf/white-papers/the-programmable-network-white-paper. pdf • Provide your engineers with a starting point with free training from F5 University: https://f5.com/education/training If I can be of further assistance please contact me: c.walker@f5.com | @colin_walker

Hinweis der Redaktion

  1. Let’s think about this, 30 times more often and 8000 times faster, resulting in 12 times faster success and restore rates. F5 is seeing is customers split off specific groups to focus on the DevOps mindset.
  2. This solution is intended to allow VMware environments (using either vSphere + vCNS, or vSphere + vCNS + vCloud Director) to provision the necessary L4-7 application delivery networking services much more rapidly and efficiently than before. If using vCD, you get the self-service functionality. ADN services become part of the natural vCD provisioning workflow, and rely on the same services consumer/producer model that vCD uses. F5 is a “design partner” of VMware’s vCloud Ecosystem Framework program – and we are the first to do this type of integration. All of the BIG-IP functionality is available through this integration (local load balancing, global load balancing, web application security, web application acceleration, WAN optimization, etc.) Customers can use their legacy BIG-IP equipment – no new purchases required. This integration works with both physical BIG-IP hardware or BIG-IP virtual editions running on vSphere.
  3. This solution is intended to allow VMware environments (using either vSphere + vCNS, or vSphere + vCNS + vCloud Director) to provision the necessary L4-7 application delivery networking services much more rapidly and efficiently than before. If using vCD, you get the self-service functionality. ADN services become part of the natural vCD provisioning workflow, and rely on the same services consumer/producer model that vCD uses. F5 is a “design partner” of VMware’s vCloud Ecosystem Framework program – and we are the first to do this type of integration. All of the BIG-IP functionality is available through this integration (local load balancing, global load balancing, web application security, web application acceleration, WAN optimization, etc.) Customers can use their legacy BIG-IP equipment – no new purchases required. This integration works with both physical BIG-IP hardware or BIG-IP virtual editions running on vSphere.
  4. Traditional use cases were Client, Mobile, or Application to API Server REST enables easier adoption/integration for Cloud Controllers, ADCs, and Network components. Twitter currently has traffic in excess of 13 Billion API calls a day – definitely not a fad.
  5. Think auditing, fat fingering of resources on the wrong network segment, etc. Operational cost will not got down when employing Virtualization without automation. If you can cookie-cutter everything, forecasting budget becomes infinitely easier. I can build out/replicate prod/dev/qa in a single swoop.