SlideShare a Scribd company logo
1 of 27
Download to read offline
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

Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
Advantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxAdvantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxRTS corp
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfkalichargn70th171
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...kalichargn70th171
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 

Recently uploaded (20)

Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
Advantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxAdvantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptx
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 

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.