SlideShare a Scribd company logo
1 of 27
Infrastructure
as the Review and
Modification of
Data Structures;
ReST, jq, Python and 1,120 cores
Chris Clark, 414.312.4253
cclark@ztech.io
Presentation’s, my,
point of view
Not what I know,
what I endeavor to learn.
Welcome your comments and
conversation, today and after we
leave Ft. Collins.
Why the wonky title?
What I was thinking about on 1 February when
the abstract was submitted.
At a client engagement with Julian Foster.
Client’s governance and architecture is
very dynamic.
The system’s interface
influences how I think about a
system.
Framing,
the context in which choices are presented.
Using a graphical UI,
I think of PureApplication System
in terms of the
GUI’s data layout,
and workflow as the traversal of screens.
https://en.wikipedia.org/wiki/Thinking,_Fast_and_Slow
Before you continue,
what’s a PureApplication
System?
IBM PureApplication System, 2012
Before you continue,
what’s a PureApplication
System?
Before you continue,
what’s a PureApplication
System?
Where is it being used?
Intel Intel Intel PowerPower
Primary Data Center Alternate Data Center
Fallacies_of_distributed_computing
(first articulated for networks)
● The network is reliable
● Latency is zero
● Bandwidth is infinite
● The network is secure
● Topology doesn't change
● There is one administrator
● Transport cost is zero
● The network is homogeneous
“ IBM PureApplication Platform
W3500 V2.2.5 documentation”
“Administering the system” >
"Administering the multisystem environment" >
“Configure the multisystem environment" >
“Requirements”
“Configure the multisystem environment" >
“Requirements”
▰ “Only a system with the same platform type,
Intel or Power,
can be added to the same management domain.”
▰ “You must ensure IP connectivity between the system
management IP addresses on all systems in the management
domain.”
Scott Moonen and Hendrick van Run
26Apr16
“Implement multisystem management and deployment with IBM
PureApplication System”, .
https://www.ibm.com/developerworks/websphere/techjournal/1
506_vanrun/1506_vanrun-trs.html
Point out the requirement for management addresses on the same
subnet.
“... new addresses must be defined in the same subnet as the
existing system management IP addresses.”
Reframe the problem as
integration of from five systems:
PureSystems Manager
PSM: single source of responses
VMware
vCenter
(hypervisor)
PureSystems
Manager
virtual
machine
Activation
Engine
virtual
machine
Activation
Engine
appmodel.json
IIB, MQ …
Catalog
Patterns: IIB, MQ …
FixPacks
Scripts Pattern
PureApplication REST API:
“server” and “job manager”
▰ GET,
short-lived database transaction to retrieve information
(this presentation is about GETs)
▰ POST, DELETE, PUT
operates as a daemon and executes long-lived jobs
What APIs are available?
● API reference in the PureApplication Platform
Knowledge Center
● A bit context Chapter 13,
“IBM PureApplication System
command-line interface and REST API”,
Vincent Tran
"Integrating IBM PureApplication System into an Existing
Data Center"
● IBM Redbook SG24-8285, November 2015
● http://www.redbooks.ibm.com/redbooks/pdfs/sg248285.pdf
● http://books.google.com/books?vid=ISBN:9780738441122
Working examples:
curl skeleton
$ nl curl.bash
1 curl --silent --show-error 
2 --insecure 
3 --header "X-IBM-PureSystem-API-Version: 3.0" 
4 --header "X-IBM-Workload-Deployer-API-Version: 5.2.5.1" 
5 --header "Accept: application/json" 
6 --user ${2}:${3} 
7 "https://${1}${4}"
Leverage the skeleton:
bash script for each PSM
$ cat curl_33.bash
./curl.bash 
$(sqlite3 -separator '.' ~/psm.db "SELECT host, domain FROM psm WHERE rack_sn IS ‘0000033';") 
$(sqlite3 -separator ' ' ~/psm.db "SELECT uid, pw FROM crdntl WHERE rack_sn IS ‘0000033';") 
${1}
The result, too small to see
:(
{
"product": "IPAS",
"version": "5.2.5.2-20180523140225",
"buildLabel": "20180523-1359-384",
"capabilities": {
"supported_languages": [
"de",
"es",
"fr",
"it",
"ja",
"ko",
"pt_BR",
"zh_CN",
"zh_TW"
],
"virtual_application_deployment_with_environment_profile": true,
"virtual_application_deployment_with_cloud_group": false
},
"branch": null,
"fsm_version": "2.2.5.2-201806041453753"
}
jq, JSON query utility
(the best take away
in this presentation)
▰ Colorize
▰ Sort keys for
consistent results
and improved
understanding of
structure
Remove the key “capabilities”
to improve readability.
Now the version identifier field,
grep is an alternative
At the limit of curl and jq
$ for rk in eg cg 33; 
do 
printf 'n%s %sn' '***' $rk; 
"./curl_${rk}.bash" /resources/environmentProfiles | 
jq --join-output '.[] | .name, " -- ", .description, "n"' | 
nl ;
done
Multirack expression results
Why Python?
▰ It is used to implement PureApplication’s CLI
▰ It is used everywhere I look
▰ There is a vibrant community
▰ There are is very good documentation;
PyDocs, David Beasley, …
▰ There are good tools
▰ Microsoft’s hired the person who did the best
vscode Python extension
▰ My opinion, Python nudges towards thinking in data structures.
▰ My opinion, Python at the balance point of consistency and utility.
Python vscode demo:
What we will see:
▰ “shoebox” of PureApplication REST JSON results
▰ GET /resources/version
▰ GET /resources/virtualSystemPatterns
▰ Model: the “shoebox” as a Python dict
▰ View: formated text
▰ Controller: the Python code
▰ def vsp_clone_model()
From the JSON file reconstruct the dict used for reporting on Citrix.
▰ def vsp_clones_view(vsp_mdl:list, ) -> None:
▰ """Report of VSP instances that have the same sha-2 hash.""
Call to Action Collaboration
▰ Let me know if care to discuss these topics further
▰ Next step in my developer proficency is incorporation of
Bitbbucket in my vscode workflow.
▰ Next step in my architect proficiency is generalized approach
for
▰ Observing a system
▰ Discerning reusable patterns for manipulating a system
▰ Communicating to with others for coordinated collective
action.

More Related Content

What's hot

Elastic search overview
Elastic search overviewElastic search overview
Elastic search overviewABC Talks
 
Tasks of database administrator
Tasks of database administratorTasks of database administrator
Tasks of database administratorAttia Qamar
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearchpmanvi
 
Big data: current technology scope.
Big data: current technology scope.Big data: current technology scope.
Big data: current technology scope.Roman Nikitchenko
 
Database Connection Pooling With c3p0
Database Connection Pooling With c3p0Database Connection Pooling With c3p0
Database Connection Pooling With c3p0Kasun Madusanke
 
Elasticsearch - Devoxx France 2012 - English version
Elasticsearch - Devoxx France 2012 - English versionElasticsearch - Devoxx France 2012 - English version
Elasticsearch - Devoxx France 2012 - English versionDavid Pilato
 
Silicon Valley JUG - How to generate customized java 8 code from your database
Silicon Valley JUG - How to generate customized java 8 code from your databaseSilicon Valley JUG - How to generate customized java 8 code from your database
Silicon Valley JUG - How to generate customized java 8 code from your databaseSpeedment, Inc.
 
Data warehouse on Kubernetes - gentle intro to Clickhouse Operator, by Robert...
Data warehouse on Kubernetes - gentle intro to Clickhouse Operator, by Robert...Data warehouse on Kubernetes - gentle intro to Clickhouse Operator, by Robert...
Data warehouse on Kubernetes - gentle intro to Clickhouse Operator, by Robert...Altinity Ltd
 
Meetup on Apache Zookeeper
Meetup on Apache ZookeeperMeetup on Apache Zookeeper
Meetup on Apache ZookeeperAnshul Patel
 
ElasticSearch in action
ElasticSearch in actionElasticSearch in action
ElasticSearch in actionCodemotion
 
Building Scalable .NET Web Applications
Building Scalable .NET Web ApplicationsBuilding Scalable .NET Web Applications
Building Scalable .NET Web ApplicationsBuu Nguyen
 
Workshop: Learning Elasticsearch
Workshop: Learning ElasticsearchWorkshop: Learning Elasticsearch
Workshop: Learning ElasticsearchAnurag Patel
 
Mule connector for ibm® as400
Mule connector for ibm® as400Mule connector for ibm® as400
Mule connector for ibm® as400D.Rajesh Kumar
 
Apache ZooKeeper TechTuesday
Apache ZooKeeper TechTuesdayApache ZooKeeper TechTuesday
Apache ZooKeeper TechTuesdayAndrei Savu
 

What's hot (18)

re:dash is awesome
re:dash is awesomere:dash is awesome
re:dash is awesome
 
SQL/MED and PostgreSQL
SQL/MED and PostgreSQLSQL/MED and PostgreSQL
SQL/MED and PostgreSQL
 
Elastic search overview
Elastic search overviewElastic search overview
Elastic search overview
 
Tasks of database administrator
Tasks of database administratorTasks of database administrator
Tasks of database administrator
 
Quiery builder
Quiery builderQuiery builder
Quiery builder
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearch
 
Gradle - Build System
Gradle - Build SystemGradle - Build System
Gradle - Build System
 
Big data: current technology scope.
Big data: current technology scope.Big data: current technology scope.
Big data: current technology scope.
 
Database Connection Pooling With c3p0
Database Connection Pooling With c3p0Database Connection Pooling With c3p0
Database Connection Pooling With c3p0
 
Elasticsearch - Devoxx France 2012 - English version
Elasticsearch - Devoxx France 2012 - English versionElasticsearch - Devoxx France 2012 - English version
Elasticsearch - Devoxx France 2012 - English version
 
Silicon Valley JUG - How to generate customized java 8 code from your database
Silicon Valley JUG - How to generate customized java 8 code from your databaseSilicon Valley JUG - How to generate customized java 8 code from your database
Silicon Valley JUG - How to generate customized java 8 code from your database
 
Data warehouse on Kubernetes - gentle intro to Clickhouse Operator, by Robert...
Data warehouse on Kubernetes - gentle intro to Clickhouse Operator, by Robert...Data warehouse on Kubernetes - gentle intro to Clickhouse Operator, by Robert...
Data warehouse on Kubernetes - gentle intro to Clickhouse Operator, by Robert...
 
Meetup on Apache Zookeeper
Meetup on Apache ZookeeperMeetup on Apache Zookeeper
Meetup on Apache Zookeeper
 
ElasticSearch in action
ElasticSearch in actionElasticSearch in action
ElasticSearch in action
 
Building Scalable .NET Web Applications
Building Scalable .NET Web ApplicationsBuilding Scalable .NET Web Applications
Building Scalable .NET Web Applications
 
Workshop: Learning Elasticsearch
Workshop: Learning ElasticsearchWorkshop: Learning Elasticsearch
Workshop: Learning Elasticsearch
 
Mule connector for ibm® as400
Mule connector for ibm® as400Mule connector for ibm® as400
Mule connector for ibm® as400
 
Apache ZooKeeper TechTuesday
Apache ZooKeeper TechTuesdayApache ZooKeeper TechTuesday
Apache ZooKeeper TechTuesday
 

Similar to Ztech Connect '19, IBM PureApplication

Productionizing Machine Learning - Bigdata meetup 5-06-2019
Productionizing Machine Learning - Bigdata meetup 5-06-2019Productionizing Machine Learning - Bigdata meetup 5-06-2019
Productionizing Machine Learning - Bigdata meetup 5-06-2019Iulian Pintoiu
 
Introduction to DataFusion An Embeddable Query Engine Written in Rust
Introduction to DataFusion  An Embeddable Query Engine Written in RustIntroduction to DataFusion  An Embeddable Query Engine Written in Rust
Introduction to DataFusion An Embeddable Query Engine Written in RustAndrew Lamb
 
Real time analytics at uber @ strata data 2019
Real time analytics at uber @ strata data 2019Real time analytics at uber @ strata data 2019
Real time analytics at uber @ strata data 2019Zhenxiao Luo
 
Intro To Spring Python
Intro To Spring PythonIntro To Spring Python
Intro To Spring Pythongturnquist
 
Parallel Extentions to the .NET Framework
Parallel Extentions to the .NET FrameworkParallel Extentions to the .NET Framework
Parallel Extentions to the .NET Frameworkukdpe
 
Building and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache AirflowBuilding and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache AirflowKaxil Naik
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3Diane Allen
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2bdemchak
 
Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]
Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]
Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]Animesh Singh
 
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~Brocade
 
Toub parallelism tour_oct2009
Toub parallelism tour_oct2009Toub parallelism tour_oct2009
Toub parallelism tour_oct2009nkaluva
 
Genomic Computation at Scale with Serverless, StackStorm and Docker Swarm
Genomic Computation at Scale with Serverless, StackStorm and Docker SwarmGenomic Computation at Scale with Serverless, StackStorm and Docker Swarm
Genomic Computation at Scale with Serverless, StackStorm and Docker SwarmDmitri Zimine
 
Expanding your impact with programmability in the data center
Expanding your impact with programmability in the data centerExpanding your impact with programmability in the data center
Expanding your impact with programmability in the data centerCisco Canada
 
Considerations for Abstracting Complexities of a Real-Time ML Platform, Zhenz...
Considerations for Abstracting Complexities of a Real-Time ML Platform, Zhenz...Considerations for Abstracting Complexities of a Real-Time ML Platform, Zhenz...
Considerations for Abstracting Complexities of a Real-Time ML Platform, Zhenz...HostedbyConfluent
 
0292-introduction-postgresql.pdf
0292-introduction-postgresql.pdf0292-introduction-postgresql.pdf
0292-introduction-postgresql.pdfMustafa Keskin
 

Similar to Ztech Connect '19, IBM PureApplication (20)

Productionizing Machine Learning - Bigdata meetup 5-06-2019
Productionizing Machine Learning - Bigdata meetup 5-06-2019Productionizing Machine Learning - Bigdata meetup 5-06-2019
Productionizing Machine Learning - Bigdata meetup 5-06-2019
 
Introduction to DataFusion An Embeddable Query Engine Written in Rust
Introduction to DataFusion  An Embeddable Query Engine Written in RustIntroduction to DataFusion  An Embeddable Query Engine Written in Rust
Introduction to DataFusion An Embeddable Query Engine Written in Rust
 
Real time analytics at uber @ strata data 2019
Real time analytics at uber @ strata data 2019Real time analytics at uber @ strata data 2019
Real time analytics at uber @ strata data 2019
 
REST in Peace
REST in PeaceREST in Peace
REST in Peace
 
Intro To Spring Python
Intro To Spring PythonIntro To Spring Python
Intro To Spring Python
 
Parallel Extentions to the .NET Framework
Parallel Extentions to the .NET FrameworkParallel Extentions to the .NET Framework
Parallel Extentions to the .NET Framework
 
Building and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache AirflowBuilding and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache Airflow
 
My Saminar On Php
My Saminar On PhpMy Saminar On Php
My Saminar On Php
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2
 
Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]
Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]
Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]
 
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
 
RavenDB overview
RavenDB overviewRavenDB overview
RavenDB overview
 
Toub parallelism tour_oct2009
Toub parallelism tour_oct2009Toub parallelism tour_oct2009
Toub parallelism tour_oct2009
 
Genomic Computation at Scale with Serverless, StackStorm and Docker Swarm
Genomic Computation at Scale with Serverless, StackStorm and Docker SwarmGenomic Computation at Scale with Serverless, StackStorm and Docker Swarm
Genomic Computation at Scale with Serverless, StackStorm and Docker Swarm
 
Codeigniter
CodeigniterCodeigniter
Codeigniter
 
Expanding your impact with programmability in the data center
Expanding your impact with programmability in the data centerExpanding your impact with programmability in the data center
Expanding your impact with programmability in the data center
 
Considerations for Abstracting Complexities of a Real-Time ML Platform, Zhenz...
Considerations for Abstracting Complexities of a Real-Time ML Platform, Zhenz...Considerations for Abstracting Complexities of a Real-Time ML Platform, Zhenz...
Considerations for Abstracting Complexities of a Real-Time ML Platform, Zhenz...
 
0292-introduction-postgresql.pdf
0292-introduction-postgresql.pdf0292-introduction-postgresql.pdf
0292-introduction-postgresql.pdf
 
Iac d.damyanov 4.pptx
Iac d.damyanov 4.pptxIac d.damyanov 4.pptx
Iac d.damyanov 4.pptx
 

Recently uploaded

What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 

Recently uploaded (20)

What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 

Ztech Connect '19, IBM PureApplication

  • 1. Infrastructure as the Review and Modification of Data Structures; ReST, jq, Python and 1,120 cores Chris Clark, 414.312.4253 cclark@ztech.io
  • 2. Presentation’s, my, point of view Not what I know, what I endeavor to learn. Welcome your comments and conversation, today and after we leave Ft. Collins.
  • 3. Why the wonky title? What I was thinking about on 1 February when the abstract was submitted. At a client engagement with Julian Foster. Client’s governance and architecture is very dynamic.
  • 4. The system’s interface influences how I think about a system. Framing, the context in which choices are presented. Using a graphical UI, I think of PureApplication System in terms of the GUI’s data layout, and workflow as the traversal of screens. https://en.wikipedia.org/wiki/Thinking,_Fast_and_Slow
  • 5. Before you continue, what’s a PureApplication System? IBM PureApplication System, 2012
  • 6. Before you continue, what’s a PureApplication System?
  • 7. Before you continue, what’s a PureApplication System?
  • 8. Where is it being used? Intel Intel Intel PowerPower Primary Data Center Alternate Data Center
  • 9. Fallacies_of_distributed_computing (first articulated for networks) ● The network is reliable ● Latency is zero ● Bandwidth is infinite ● The network is secure ● Topology doesn't change ● There is one administrator ● Transport cost is zero ● The network is homogeneous
  • 10. “ IBM PureApplication Platform W3500 V2.2.5 documentation” “Administering the system” > "Administering the multisystem environment" > “Configure the multisystem environment" > “Requirements”
  • 11. “Configure the multisystem environment" > “Requirements” ▰ “Only a system with the same platform type, Intel or Power, can be added to the same management domain.” ▰ “You must ensure IP connectivity between the system management IP addresses on all systems in the management domain.”
  • 12. Scott Moonen and Hendrick van Run 26Apr16 “Implement multisystem management and deployment with IBM PureApplication System”, . https://www.ibm.com/developerworks/websphere/techjournal/1 506_vanrun/1506_vanrun-trs.html Point out the requirement for management addresses on the same subnet. “... new addresses must be defined in the same subnet as the existing system management IP addresses.”
  • 13. Reframe the problem as integration of from five systems: PureSystems Manager
  • 14. PSM: single source of responses VMware vCenter (hypervisor) PureSystems Manager virtual machine Activation Engine virtual machine Activation Engine appmodel.json IIB, MQ … Catalog Patterns: IIB, MQ … FixPacks Scripts Pattern
  • 15. PureApplication REST API: “server” and “job manager” ▰ GET, short-lived database transaction to retrieve information (this presentation is about GETs) ▰ POST, DELETE, PUT operates as a daemon and executes long-lived jobs
  • 16. What APIs are available? ● API reference in the PureApplication Platform Knowledge Center ● A bit context Chapter 13, “IBM PureApplication System command-line interface and REST API”, Vincent Tran "Integrating IBM PureApplication System into an Existing Data Center" ● IBM Redbook SG24-8285, November 2015 ● http://www.redbooks.ibm.com/redbooks/pdfs/sg248285.pdf ● http://books.google.com/books?vid=ISBN:9780738441122
  • 17. Working examples: curl skeleton $ nl curl.bash 1 curl --silent --show-error 2 --insecure 3 --header "X-IBM-PureSystem-API-Version: 3.0" 4 --header "X-IBM-Workload-Deployer-API-Version: 5.2.5.1" 5 --header "Accept: application/json" 6 --user ${2}:${3} 7 "https://${1}${4}"
  • 18. Leverage the skeleton: bash script for each PSM $ cat curl_33.bash ./curl.bash $(sqlite3 -separator '.' ~/psm.db "SELECT host, domain FROM psm WHERE rack_sn IS ‘0000033';") $(sqlite3 -separator ' ' ~/psm.db "SELECT uid, pw FROM crdntl WHERE rack_sn IS ‘0000033';") ${1}
  • 19. The result, too small to see :( { "product": "IPAS", "version": "5.2.5.2-20180523140225", "buildLabel": "20180523-1359-384", "capabilities": { "supported_languages": [ "de", "es", "fr", "it", "ja", "ko", "pt_BR", "zh_CN", "zh_TW" ], "virtual_application_deployment_with_environment_profile": true, "virtual_application_deployment_with_cloud_group": false }, "branch": null, "fsm_version": "2.2.5.2-201806041453753" }
  • 20. jq, JSON query utility (the best take away in this presentation) ▰ Colorize ▰ Sort keys for consistent results and improved understanding of structure
  • 21. Remove the key “capabilities” to improve readability.
  • 22. Now the version identifier field, grep is an alternative
  • 23. At the limit of curl and jq $ for rk in eg cg 33; do printf 'n%s %sn' '***' $rk; "./curl_${rk}.bash" /resources/environmentProfiles | jq --join-output '.[] | .name, " -- ", .description, "n"' | nl ; done
  • 25. Why Python? ▰ It is used to implement PureApplication’s CLI ▰ It is used everywhere I look ▰ There is a vibrant community ▰ There are is very good documentation; PyDocs, David Beasley, … ▰ There are good tools ▰ Microsoft’s hired the person who did the best vscode Python extension ▰ My opinion, Python nudges towards thinking in data structures. ▰ My opinion, Python at the balance point of consistency and utility.
  • 26. Python vscode demo: What we will see: ▰ “shoebox” of PureApplication REST JSON results ▰ GET /resources/version ▰ GET /resources/virtualSystemPatterns ▰ Model: the “shoebox” as a Python dict ▰ View: formated text ▰ Controller: the Python code ▰ def vsp_clone_model() From the JSON file reconstruct the dict used for reporting on Citrix. ▰ def vsp_clones_view(vsp_mdl:list, ) -> None: ▰ """Report of VSP instances that have the same sha-2 hash.""
  • 27. Call to Action Collaboration ▰ Let me know if care to discuss these topics further ▰ Next step in my developer proficency is incorporation of Bitbbucket in my vscode workflow. ▰ Next step in my architect proficiency is generalized approach for ▰ Observing a system ▰ Discerning reusable patterns for manipulating a system ▰ Communicating to with others for coordinated collective action.