SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

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
 

Tendances (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
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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
 

Plus de 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
 

Plus de 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
 

Dernier

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Dernier (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

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

Notes de l'éditeur

  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.