SlideShare a Scribd company logo
1 of 30
Download to read offline
Katarina Valalikova
Infrastructure Provisioning
in the context of organization
k.valalikova@evolveum.com
@KValalikova
Agenda
● Cloud, infrastructure, provisioning, OpenStack
● Identity management
● Infrastructure management
● Infrastructure and Identity Management
Clouds
Cloud
Hardware specialists
Operation team
Maintenance
Money
Datacenter
Robustness and scalability
● Virtual machines
● Bare metal
● Orchestration
● Containers
● ….
Heat
Neutron
NOVA
Magnum
Heat
Neutron
NOVA
Magnum
Users
???
? ??
?
?
?
What about the users?
How to automate user provisioning?
● OpenStack Keystone
– Tenant/Project, User provisioning
– User tenant assignment
– Accesses for Virtual Machines
● Automation in the context of organization?
– Reusing of information
● Accesses and possibilities inside Virtual
Machine
DB Application
DB
HR
IDM
LDAP
UNIX
Who am I? What do I do?
● Company Evolveum
● Java Developer & Identity Engineer
● IDM midPoint
– Provisioning
– Deprovisioning
– Identities
– Groups
– Projects
Who am I? What do I do?
● Company Evolveum
● Java Developer & Identity Engineer
● IDM midPoint
– Provisioning
– Deprovisioning
– Identities
– Groups
– Projects
DB Application
DB
HR
IDM
LDAP
UNIX
Education
Insurance
Technical
Experiences
● Different companies
● Different areas
● Different requirements
prc = new PropertyResolverConverter(Application.get().getConverterLocator(),
Session.get().getLocale());
- if(object instanceof String){
+ if (object instanceof String) {
String label = (String) object;
String key;
- if (label == null || label.trim().equals("")){
+ if (label == null || label.trim().equals("")) {
PropertyResolver.setValue(expression, getInnermostModelOrObject(), null, prc);
} else {
+ if (!isStrict) { // set default value from input and overwrite later if key is found
+ PropertyResolver.setValue(expression, getInnermostModelOrObject(), label, prc);
+ }
for (LookupTableRowType row : lookupTable.getRow()) {
if (label.equals(WebMiscUtil.getOrigStringFromPoly(row.getLabel()))) {
key = row.getKey();
-
PropertyResolver.setValue(expression, getInnermostModelOrObject(), key, prc);
}
}
}
- } else if (object == null){
- PropertyResolver.setValue(expression, getInnermostModelOrObject(), object, prc);
+ } else if (object == null) {
+ PropertyResolver.setValue(expression, getInnermostModelOrObject(), object, prc);
}
}
@Override
- public void detach() {}
+ public void detach() {
+ }
}
Who and what?
● Technical view
prc = new PropertyResolverConverter(Application.get().getConverterLocator(),
Session.get().getLocale());
- if(object instanceof String){
+ if (object instanceof String) {
String label = (String) object;
String key;
- if (label == null || label.trim().equals("")){
+ if (label == null || label.trim().equals("")) {
PropertyResolver.setValue(expression, getInnermostModelOrObject(), null, prc);
} else {
+ if (!isStrict) { // set default value from input and overwrite later if key is found
+ PropertyResolver.setValue(expression, getInnermostModelOrObject(), label, prc);
+ }
for (LookupTableRowType row : lookupTable.getRow()) {
if (label.equals(WebMiscUtil.getOrigStringFromPoly(row.getLabel()))) {
key = row.getKey();
-
PropertyResolver.setValue(expression, getInnermostModelOrObject(), key, prc);
}
}
}
- } else if (object == null){
- PropertyResolver.setValue(expression, getInnermostModelOrObject(), object, prc);
+ } else if (object == null) {
+ PropertyResolver.setValue(expression, getInnermostModelOrObject(), object, prc);
}
}
@Override
- public void detach() {}
+ public void detach() {
+ }
}
Who and what?
● Technical view
● Management view
prc = new PropertyResolverConverter(Application.get().getConverterLocator(),
Session.get().getLocale());
- if(object instanceof String){
+ if (object instanceof String) {
String label = (String) object;
String key;
- if (label == null || label.trim().equals("")){
+ if (label == null || label.trim().equals("")) {
PropertyResolver.setValue(expression, getInnermostModelOrObject(), null, prc);
} else {
+ if (!isStrict) { // set default value from input and overwrite later if key is found
+ PropertyResolver.setValue(expression, getInnermostModelOrObject(), label, prc);
+ }
for (LookupTableRowType row : lookupTable.getRow()) {
if (label.equals(WebMiscUtil.getOrigStringFromPoly(row.getLabel()))) {
key = row.getKey();
-
PropertyResolver.setValue(expression, getInnermostModelOrObject(), key, prc);
}
}
}
- } else if (object == null){
- PropertyResolver.setValue(expression, getInnermostModelOrObject(), object, prc);
+ } else if (object == null) {
+ PropertyResolver.setValue(expression, getInnermostModelOrObject(), object, prc);
}
}
@Override
- public void detach() {}
+ public void detach() {
+ }
}
Who and what?
● Technical view
● Management view
● Business view
Group A
Group C Group B
Is IDM sufficient?
● Companies with big fluctuation
● Quickly growing companies
● Companies providing servicies
for wider population
● Users, Account, Projects,
● Organization units, Services,
Groups, Infrastructure,...
What is the hardest thing for me?
● Interacting with people
● Get agreement
● Get help (whithin a reasonable time)
● Effectivity
● Infrastructure settings
● Application installation
● Gain accesses and permissions
Is there a way how to solve it?
● midPoint and OpenStack together?
● Can it work somehow?
● Are there any advantages?
● Positive impacts?
Web Application
HR
IDM
LDAP
UNIX
Use case – New employee
Use case – New employee
HR
Use case – New employee
HR
IDM
Use case – New employee
DB Application
DB
HR
IDM
LDAP
UNIX
Use case – New project
DB Application
DB
HR
IDM
LDAP
UNIX
Project
Use case – New component
OpenStack
DB Application
DB
HR
IDM
LDAP
UNIX
Project
MidPoint and OpenStack together?
● Connector
● Run/Stop VM
● User management
● Tenant Management
● User (in Role) for Tenant
Connector
DB
HR
IDM
LDAP
UNIX
Demo
● New Employee
● New Project
● midPoint – OpenStack integration
● Different views
Pre-configured demo resources
● OpenLDAP
– User management
– Group management – based on project
– Group membership management
● OpenStack
– User management
– Tenant management
– User to Tenant (in Role)
Demo Organizational Structure
● Project
– Create new tenant in OpenStack, run/stop virtual
machine
– Define project structure – LDAP groups
● Organization
– Different divisions of organization
● Cooperation
– Partners, Customers,...
Demo Roles
● LDAP Roles
– Create users
– Create groups
● OpenStack Roles
– Tenant
– Virtual Machine
Demo Resources for new VM
● LDAP – installed inside new VM
● Unix – users to the VM
What are the benefits?
● One tool
● All about organization under one roof
● Global view of organization
– Resource
– VMs
– Users
– Projects
– ...
One tool All information under one roof
Thank you for your attention
@KValalikova
k.valalikova@evolveum.com
Summary
● MidPoint and OpenStack
● Reusing existing information
● Global view of organization
● Automation of some processes
● Security
● Flexibility
● Adaptability
● Reliability
Web Application
HR
IDM
LDAP
UNIX

More Related Content

What's hot

Geospatial Graphs made easy with OrientDB - Codemotion Warsaw 2016
Geospatial Graphs made easy with OrientDB - Codemotion Warsaw 2016Geospatial Graphs made easy with OrientDB - Codemotion Warsaw 2016
Geospatial Graphs made easy with OrientDB - Codemotion Warsaw 2016Luigi Dell'Aquila
 
Intro to Elasticsearch
Intro to ElasticsearchIntro to Elasticsearch
Intro to ElasticsearchClifford James
 
Onion Architecture and the Blog
Onion Architecture and the BlogOnion Architecture and the Blog
Onion Architecture and the Blogbarryosull
 
Log analysis using elk
Log analysis using elkLog analysis using elk
Log analysis using elkRushika Shah
 
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...Edureka!
 
Slick - The Structured Way
Slick - The Structured WaySlick - The Structured Way
Slick - The Structured WayYennick Trevels
 
ISO 18876
ISO 18876ISO 18876
ISO 18876lenand
 
GraphTour - Utilizing Powerful Extensions for Analytics & Operations
GraphTour - Utilizing Powerful Extensions for Analytics & OperationsGraphTour - Utilizing Powerful Extensions for Analytics & Operations
GraphTour - Utilizing Powerful Extensions for Analytics & OperationsNeo4j
 
Names, Things, and Open Identifier Infrastructure: N2T and ARKs
Names, Things, and Open Identifier Infrastructure: N2T and ARKsNames, Things, and Open Identifier Infrastructure: N2T and ARKs
Names, Things, and Open Identifier Infrastructure: N2T and ARKsJohn Kunze
 
Learning Silicon Valley Culture
Learning Silicon Valley CultureLearning Silicon Valley Culture
Learning Silicon Valley CultureTaro L. Saito
 
An Open Source NoSQL solution for Internet Access Logs Analysis
An Open Source NoSQL solution for Internet Access Logs AnalysisAn Open Source NoSQL solution for Internet Access Logs Analysis
An Open Source NoSQL solution for Internet Access Logs AnalysisJosé Manuel Ciges Regueiro
 
Introducing Entity Framework 4.0
Introducing Entity Framework 4.0Introducing Entity Framework 4.0
Introducing Entity Framework 4.0Bishoy Demian
 
Soaring through the Clouds - World Record Oracle PaaS Cloud - Friday Cloud Up...
Soaring through the Clouds - World Record Oracle PaaS Cloud - Friday Cloud Up...Soaring through the Clouds - World Record Oracle PaaS Cloud - Friday Cloud Up...
Soaring through the Clouds - World Record Oracle PaaS Cloud - Friday Cloud Up...Lucas Jellema
 
ELK in Security Analytics
ELK in Security Analytics ELK in Security Analytics
ELK in Security Analytics nullowaspmumbai
 
ApacheCon Europe 2012 -Big Search 4 Big Data
ApacheCon Europe 2012 -Big Search 4 Big DataApacheCon Europe 2012 -Big Search 4 Big Data
ApacheCon Europe 2012 -Big Search 4 Big DataOpenSource Connections
 
DEVNET-1106 Upcoming Services in OpenStack
DEVNET-1106	Upcoming Services in OpenStackDEVNET-1106	Upcoming Services in OpenStack
DEVNET-1106 Upcoming Services in OpenStackCisco DevNet
 

What's hot (20)

Security Analytics using ELK stack
Security Analytics using ELK stack	Security Analytics using ELK stack
Security Analytics using ELK stack
 
Con3036 soaring-through-the-clouds-oow2016-160920214845
Con3036 soaring-through-the-clouds-oow2016-160920214845Con3036 soaring-through-the-clouds-oow2016-160920214845
Con3036 soaring-through-the-clouds-oow2016-160920214845
 
Spark sql meetup
Spark sql meetupSpark sql meetup
Spark sql meetup
 
Geospatial Graphs made easy with OrientDB - Codemotion Warsaw 2016
Geospatial Graphs made easy with OrientDB - Codemotion Warsaw 2016Geospatial Graphs made easy with OrientDB - Codemotion Warsaw 2016
Geospatial Graphs made easy with OrientDB - Codemotion Warsaw 2016
 
Intro to Elasticsearch
Intro to ElasticsearchIntro to Elasticsearch
Intro to Elasticsearch
 
Onion Architecture and the Blog
Onion Architecture and the BlogOnion Architecture and the Blog
Onion Architecture and the Blog
 
Log analysis using elk
Log analysis using elkLog analysis using elk
Log analysis using elk
 
Elasticsearch 5.0
Elasticsearch 5.0Elasticsearch 5.0
Elasticsearch 5.0
 
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...
 
Slick - The Structured Way
Slick - The Structured WaySlick - The Structured Way
Slick - The Structured Way
 
ISO 18876
ISO 18876ISO 18876
ISO 18876
 
GraphTour - Utilizing Powerful Extensions for Analytics & Operations
GraphTour - Utilizing Powerful Extensions for Analytics & OperationsGraphTour - Utilizing Powerful Extensions for Analytics & Operations
GraphTour - Utilizing Powerful Extensions for Analytics & Operations
 
Names, Things, and Open Identifier Infrastructure: N2T and ARKs
Names, Things, and Open Identifier Infrastructure: N2T and ARKsNames, Things, and Open Identifier Infrastructure: N2T and ARKs
Names, Things, and Open Identifier Infrastructure: N2T and ARKs
 
Learning Silicon Valley Culture
Learning Silicon Valley CultureLearning Silicon Valley Culture
Learning Silicon Valley Culture
 
An Open Source NoSQL solution for Internet Access Logs Analysis
An Open Source NoSQL solution for Internet Access Logs AnalysisAn Open Source NoSQL solution for Internet Access Logs Analysis
An Open Source NoSQL solution for Internet Access Logs Analysis
 
Introducing Entity Framework 4.0
Introducing Entity Framework 4.0Introducing Entity Framework 4.0
Introducing Entity Framework 4.0
 
Soaring through the Clouds - World Record Oracle PaaS Cloud - Friday Cloud Up...
Soaring through the Clouds - World Record Oracle PaaS Cloud - Friday Cloud Up...Soaring through the Clouds - World Record Oracle PaaS Cloud - Friday Cloud Up...
Soaring through the Clouds - World Record Oracle PaaS Cloud - Friday Cloud Up...
 
ELK in Security Analytics
ELK in Security Analytics ELK in Security Analytics
ELK in Security Analytics
 
ApacheCon Europe 2012 -Big Search 4 Big Data
ApacheCon Europe 2012 -Big Search 4 Big DataApacheCon Europe 2012 -Big Search 4 Big Data
ApacheCon Europe 2012 -Big Search 4 Big Data
 
DEVNET-1106 Upcoming Services in OpenStack
DEVNET-1106	Upcoming Services in OpenStackDEVNET-1106	Upcoming Services in OpenStack
DEVNET-1106 Upcoming Services in OpenStack
 

Viewers also liked

Failure aware resource provisioning for hybrid cloud infrastructure
Failure aware resource provisioning for hybrid cloud infrastructureFailure aware resource provisioning for hybrid cloud infrastructure
Failure aware resource provisioning for hybrid cloud infrastructureFreddie Zhang
 
Resource provisioning optimization in cloud computing
Resource provisioning optimization in cloud computingResource provisioning optimization in cloud computing
Resource provisioning optimization in cloud computingMasoumeh_tajvidi
 
Cal Tech Precision Inc
Cal Tech Precision IncCal Tech Precision Inc
Cal Tech Precision IncJay Simms
 
As9100 quality management system
As9100 quality management systemAs9100 quality management system
As9100 quality management systemselinasimpson331
 
CommonKADS context models
CommonKADS context modelsCommonKADS context models
CommonKADS context modelsGuus Schreiber
 
A Survey on Resource Allocation & Monitoring in Cloud Computing
A Survey on Resource Allocation & Monitoring in Cloud ComputingA Survey on Resource Allocation & Monitoring in Cloud Computing
A Survey on Resource Allocation & Monitoring in Cloud ComputingMohd Hairey
 
ISO 9001 2015 DIS 4.0 Organization Context Slides 01-25-15
ISO 9001 2015 DIS 4.0 Organization Context Slides 01-25-15ISO 9001 2015 DIS 4.0 Organization Context Slides 01-25-15
ISO 9001 2015 DIS 4.0 Organization Context Slides 01-25-15Colin Gray
 
ISO 27001 2013 Clause 4 - context of an organization - by Software developmen...
ISO 27001 2013 Clause 4 - context of an organization - by Software developmen...ISO 27001 2013 Clause 4 - context of an organization - by Software developmen...
ISO 27001 2013 Clause 4 - context of an organization - by Software developmen...iFour Consultancy
 
As9100 interpretations
As9100 interpretationsAs9100 interpretations
As9100 interpretationsoziel2015
 

Viewers also liked (13)

Failure aware resource provisioning for hybrid cloud infrastructure
Failure aware resource provisioning for hybrid cloud infrastructureFailure aware resource provisioning for hybrid cloud infrastructure
Failure aware resource provisioning for hybrid cloud infrastructure
 
Resource provisioning optimization in cloud computing
Resource provisioning optimization in cloud computingResource provisioning optimization in cloud computing
Resource provisioning optimization in cloud computing
 
Cal Tech Precision Inc
Cal Tech Precision IncCal Tech Precision Inc
Cal Tech Precision Inc
 
As9100 quality management system
As9100 quality management systemAs9100 quality management system
As9100 quality management system
 
Aerospace QMS
Aerospace QMSAerospace QMS
Aerospace QMS
 
Advanced qualitymanual s9100
Advanced qualitymanual s9100Advanced qualitymanual s9100
Advanced qualitymanual s9100
 
CommonKADS context models
CommonKADS context modelsCommonKADS context models
CommonKADS context models
 
Context of the organization
Context of the organizationContext of the organization
Context of the organization
 
A Survey on Resource Allocation & Monitoring in Cloud Computing
A Survey on Resource Allocation & Monitoring in Cloud ComputingA Survey on Resource Allocation & Monitoring in Cloud Computing
A Survey on Resource Allocation & Monitoring in Cloud Computing
 
ISO 9001 2015 DIS 4.0 Organization Context Slides 01-25-15
ISO 9001 2015 DIS 4.0 Organization Context Slides 01-25-15ISO 9001 2015 DIS 4.0 Organization Context Slides 01-25-15
ISO 9001 2015 DIS 4.0 Organization Context Slides 01-25-15
 
ISO 27001 2013 Clause 4 - context of an organization - by Software developmen...
ISO 27001 2013 Clause 4 - context of an organization - by Software developmen...ISO 27001 2013 Clause 4 - context of an organization - by Software developmen...
ISO 27001 2013 Clause 4 - context of an organization - by Software developmen...
 
As9100 interpretations
As9100 interpretationsAs9100 interpretations
As9100 interpretations
 
Cloud computing ppt
Cloud computing pptCloud computing ppt
Cloud computing ppt
 

Similar to Infrastructure Provisioning in the context of organization

Building Deep Learning Workflows with DL4J
Building Deep Learning Workflows with DL4JBuilding Deep Learning Workflows with DL4J
Building Deep Learning Workflows with DL4JJosh Patterson
 
Beyond Wordcount with spark datasets (and scalaing) - Nide PDX Jan 2018
Beyond Wordcount  with spark datasets (and scalaing) - Nide PDX Jan 2018Beyond Wordcount  with spark datasets (and scalaing) - Nide PDX Jan 2018
Beyond Wordcount with spark datasets (and scalaing) - Nide PDX Jan 2018Holden Karau
 
Kerberizing spark. Spark Summit east
Kerberizing spark. Spark Summit eastKerberizing spark. Spark Summit east
Kerberizing spark. Spark Summit eastJorge Lopez-Malla
 
Kerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-Malla
Kerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-MallaKerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-Malla
Kerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-MallaSpark Summit
 
Introduction to Spark Datasets - Functional and relational together at last
Introduction to Spark Datasets - Functional and relational together at lastIntroduction to Spark Datasets - Functional and relational together at last
Introduction to Spark Datasets - Functional and relational together at lastHolden Karau
 
A really really fast introduction to PySpark - lightning fast cluster computi...
A really really fast introduction to PySpark - lightning fast cluster computi...A really really fast introduction to PySpark - lightning fast cluster computi...
A really really fast introduction to PySpark - lightning fast cluster computi...Holden Karau
 
Getting started with Apache Spark in Python - PyLadies Toronto 2016
Getting started with Apache Spark in Python - PyLadies Toronto 2016Getting started with Apache Spark in Python - PyLadies Toronto 2016
Getting started with Apache Spark in Python - PyLadies Toronto 2016Holden Karau
 
Advanced Php - Macq Electronique 2010
Advanced Php - Macq Electronique 2010Advanced Php - Macq Electronique 2010
Advanced Php - Macq Electronique 2010Michelangelo van Dam
 
Smart Data Conference: DL4J and DataVec
Smart Data Conference: DL4J and DataVecSmart Data Conference: DL4J and DataVec
Smart Data Conference: DL4J and DataVecJosh Patterson
 
Ml pipelines with Apache spark and Apache beam - Ottawa Reactive meetup Augus...
Ml pipelines with Apache spark and Apache beam - Ottawa Reactive meetup Augus...Ml pipelines with Apache spark and Apache beam - Ottawa Reactive meetup Augus...
Ml pipelines with Apache spark and Apache beam - Ottawa Reactive meetup Augus...Holden Karau
 
Webinar about Spring Data Neo4j 4
Webinar about Spring Data Neo4j 4Webinar about Spring Data Neo4j 4
Webinar about Spring Data Neo4j 4GraphAware
 
Cassandra Summit 2014: Monitor Everything!
Cassandra Summit 2014: Monitor Everything!Cassandra Summit 2014: Monitor Everything!
Cassandra Summit 2014: Monitor Everything!DataStax Academy
 
Buildingsocialanalyticstoolwithmongodb
BuildingsocialanalyticstoolwithmongodbBuildingsocialanalyticstoolwithmongodb
BuildingsocialanalyticstoolwithmongodbMongoDB APAC
 
Building a serverless company on AWS lambda and Serverless framework
Building a serverless company on AWS lambda and Serverless frameworkBuilding a serverless company on AWS lambda and Serverless framework
Building a serverless company on AWS lambda and Serverless frameworkLuciano Mammino
 
Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...
Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...
Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...Databricks
 
Introducing Apache Spark's Data Frames and Dataset APIs workshop series
Introducing Apache Spark's Data Frames and Dataset APIs workshop seriesIntroducing Apache Spark's Data Frames and Dataset APIs workshop series
Introducing Apache Spark's Data Frames and Dataset APIs workshop seriesHolden Karau
 
iPhone Development Intro
iPhone Development IntroiPhone Development Intro
iPhone Development IntroLuis Azevedo
 
Microservices and modularity with java
Microservices and modularity with javaMicroservices and modularity with java
Microservices and modularity with javaDPC Consulting Ltd
 

Similar to Infrastructure Provisioning in the context of organization (20)

Building Deep Learning Workflows with DL4J
Building Deep Learning Workflows with DL4JBuilding Deep Learning Workflows with DL4J
Building Deep Learning Workflows with DL4J
 
Beyond Wordcount with spark datasets (and scalaing) - Nide PDX Jan 2018
Beyond Wordcount  with spark datasets (and scalaing) - Nide PDX Jan 2018Beyond Wordcount  with spark datasets (and scalaing) - Nide PDX Jan 2018
Beyond Wordcount with spark datasets (and scalaing) - Nide PDX Jan 2018
 
Kerberizing spark. Spark Summit east
Kerberizing spark. Spark Summit eastKerberizing spark. Spark Summit east
Kerberizing spark. Spark Summit east
 
Kerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-Malla
Kerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-MallaKerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-Malla
Kerberizing Spark: Spark Summit East talk by Abel Rincon and Jorge Lopez-Malla
 
Introduction to Spark Datasets - Functional and relational together at last
Introduction to Spark Datasets - Functional and relational together at lastIntroduction to Spark Datasets - Functional and relational together at last
Introduction to Spark Datasets - Functional and relational together at last
 
A really really fast introduction to PySpark - lightning fast cluster computi...
A really really fast introduction to PySpark - lightning fast cluster computi...A really really fast introduction to PySpark - lightning fast cluster computi...
A really really fast introduction to PySpark - lightning fast cluster computi...
 
Getting started with Apache Spark in Python - PyLadies Toronto 2016
Getting started with Apache Spark in Python - PyLadies Toronto 2016Getting started with Apache Spark in Python - PyLadies Toronto 2016
Getting started with Apache Spark in Python - PyLadies Toronto 2016
 
Cassandra Metrics
Cassandra MetricsCassandra Metrics
Cassandra Metrics
 
Advanced Php - Macq Electronique 2010
Advanced Php - Macq Electronique 2010Advanced Php - Macq Electronique 2010
Advanced Php - Macq Electronique 2010
 
Smart Data Conference: DL4J and DataVec
Smart Data Conference: DL4J and DataVecSmart Data Conference: DL4J and DataVec
Smart Data Conference: DL4J and DataVec
 
Ml pipelines with Apache spark and Apache beam - Ottawa Reactive meetup Augus...
Ml pipelines with Apache spark and Apache beam - Ottawa Reactive meetup Augus...Ml pipelines with Apache spark and Apache beam - Ottawa Reactive meetup Augus...
Ml pipelines with Apache spark and Apache beam - Ottawa Reactive meetup Augus...
 
Webinar about Spring Data Neo4j 4
Webinar about Spring Data Neo4j 4Webinar about Spring Data Neo4j 4
Webinar about Spring Data Neo4j 4
 
Cassandra Summit 2014: Monitor Everything!
Cassandra Summit 2014: Monitor Everything!Cassandra Summit 2014: Monitor Everything!
Cassandra Summit 2014: Monitor Everything!
 
Buildingsocialanalyticstoolwithmongodb
BuildingsocialanalyticstoolwithmongodbBuildingsocialanalyticstoolwithmongodb
Buildingsocialanalyticstoolwithmongodb
 
Building a serverless company on AWS lambda and Serverless framework
Building a serverless company on AWS lambda and Serverless frameworkBuilding a serverless company on AWS lambda and Serverless framework
Building a serverless company on AWS lambda and Serverless framework
 
Spring data requery
Spring data requerySpring data requery
Spring data requery
 
Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...
Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...
Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...
 
Introducing Apache Spark's Data Frames and Dataset APIs workshop series
Introducing Apache Spark's Data Frames and Dataset APIs workshop seriesIntroducing Apache Spark's Data Frames and Dataset APIs workshop series
Introducing Apache Spark's Data Frames and Dataset APIs workshop series
 
iPhone Development Intro
iPhone Development IntroiPhone Development Intro
iPhone Development Intro
 
Microservices and modularity with java
Microservices and modularity with javaMicroservices and modularity with java
Microservices and modularity with java
 

Recently uploaded

How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
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
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
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
 
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
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
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
 
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
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
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
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 

Recently uploaded (20)

How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
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...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
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...
 
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...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
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
 
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...
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 

Infrastructure Provisioning in the context of organization

  • 1. Katarina Valalikova Infrastructure Provisioning in the context of organization k.valalikova@evolveum.com @KValalikova
  • 2. Agenda ● Cloud, infrastructure, provisioning, OpenStack ● Identity management ● Infrastructure management ● Infrastructure and Identity Management
  • 4. ● Virtual machines ● Bare metal ● Orchestration ● Containers ● …. Heat Neutron NOVA Magnum
  • 6. How to automate user provisioning? ● OpenStack Keystone – Tenant/Project, User provisioning – User tenant assignment – Accesses for Virtual Machines ● Automation in the context of organization? – Reusing of information ● Accesses and possibilities inside Virtual Machine
  • 7. DB Application DB HR IDM LDAP UNIX Who am I? What do I do? ● Company Evolveum ● Java Developer & Identity Engineer ● IDM midPoint – Provisioning – Deprovisioning – Identities – Groups – Projects
  • 8. Who am I? What do I do? ● Company Evolveum ● Java Developer & Identity Engineer ● IDM midPoint – Provisioning – Deprovisioning – Identities – Groups – Projects DB Application DB HR IDM LDAP UNIX
  • 10. prc = new PropertyResolverConverter(Application.get().getConverterLocator(), Session.get().getLocale()); - if(object instanceof String){ + if (object instanceof String) { String label = (String) object; String key; - if (label == null || label.trim().equals("")){ + if (label == null || label.trim().equals("")) { PropertyResolver.setValue(expression, getInnermostModelOrObject(), null, prc); } else { + if (!isStrict) { // set default value from input and overwrite later if key is found + PropertyResolver.setValue(expression, getInnermostModelOrObject(), label, prc); + } for (LookupTableRowType row : lookupTable.getRow()) { if (label.equals(WebMiscUtil.getOrigStringFromPoly(row.getLabel()))) { key = row.getKey(); - PropertyResolver.setValue(expression, getInnermostModelOrObject(), key, prc); } } } - } else if (object == null){ - PropertyResolver.setValue(expression, getInnermostModelOrObject(), object, prc); + } else if (object == null) { + PropertyResolver.setValue(expression, getInnermostModelOrObject(), object, prc); } } @Override - public void detach() {} + public void detach() { + } } Who and what? ● Technical view
  • 11. prc = new PropertyResolverConverter(Application.get().getConverterLocator(), Session.get().getLocale()); - if(object instanceof String){ + if (object instanceof String) { String label = (String) object; String key; - if (label == null || label.trim().equals("")){ + if (label == null || label.trim().equals("")) { PropertyResolver.setValue(expression, getInnermostModelOrObject(), null, prc); } else { + if (!isStrict) { // set default value from input and overwrite later if key is found + PropertyResolver.setValue(expression, getInnermostModelOrObject(), label, prc); + } for (LookupTableRowType row : lookupTable.getRow()) { if (label.equals(WebMiscUtil.getOrigStringFromPoly(row.getLabel()))) { key = row.getKey(); - PropertyResolver.setValue(expression, getInnermostModelOrObject(), key, prc); } } } - } else if (object == null){ - PropertyResolver.setValue(expression, getInnermostModelOrObject(), object, prc); + } else if (object == null) { + PropertyResolver.setValue(expression, getInnermostModelOrObject(), object, prc); } } @Override - public void detach() {} + public void detach() { + } } Who and what? ● Technical view ● Management view
  • 12. prc = new PropertyResolverConverter(Application.get().getConverterLocator(), Session.get().getLocale()); - if(object instanceof String){ + if (object instanceof String) { String label = (String) object; String key; - if (label == null || label.trim().equals("")){ + if (label == null || label.trim().equals("")) { PropertyResolver.setValue(expression, getInnermostModelOrObject(), null, prc); } else { + if (!isStrict) { // set default value from input and overwrite later if key is found + PropertyResolver.setValue(expression, getInnermostModelOrObject(), label, prc); + } for (LookupTableRowType row : lookupTable.getRow()) { if (label.equals(WebMiscUtil.getOrigStringFromPoly(row.getLabel()))) { key = row.getKey(); - PropertyResolver.setValue(expression, getInnermostModelOrObject(), key, prc); } } } - } else if (object == null){ - PropertyResolver.setValue(expression, getInnermostModelOrObject(), object, prc); + } else if (object == null) { + PropertyResolver.setValue(expression, getInnermostModelOrObject(), object, prc); } } @Override - public void detach() {} + public void detach() { + } } Who and what? ● Technical view ● Management view ● Business view
  • 13. Group A Group C Group B Is IDM sufficient? ● Companies with big fluctuation ● Quickly growing companies ● Companies providing servicies for wider population ● Users, Account, Projects, ● Organization units, Services, Groups, Infrastructure,...
  • 14. What is the hardest thing for me? ● Interacting with people ● Get agreement ● Get help (whithin a reasonable time) ● Effectivity ● Infrastructure settings ● Application installation ● Gain accesses and permissions
  • 15. Is there a way how to solve it? ● midPoint and OpenStack together? ● Can it work somehow? ● Are there any advantages? ● Positive impacts? Web Application HR IDM LDAP UNIX
  • 16. Use case – New employee
  • 17. Use case – New employee HR
  • 18. Use case – New employee HR IDM
  • 19. Use case – New employee DB Application DB HR IDM LDAP UNIX
  • 20. Use case – New project DB Application DB HR IDM LDAP UNIX Project
  • 21. Use case – New component OpenStack DB Application DB HR IDM LDAP UNIX Project
  • 22. MidPoint and OpenStack together? ● Connector ● Run/Stop VM ● User management ● Tenant Management ● User (in Role) for Tenant Connector DB HR IDM LDAP UNIX
  • 23. Demo ● New Employee ● New Project ● midPoint – OpenStack integration ● Different views
  • 24. Pre-configured demo resources ● OpenLDAP – User management – Group management – based on project – Group membership management ● OpenStack – User management – Tenant management – User to Tenant (in Role)
  • 25. Demo Organizational Structure ● Project – Create new tenant in OpenStack, run/stop virtual machine – Define project structure – LDAP groups ● Organization – Different divisions of organization ● Cooperation – Partners, Customers,...
  • 26. Demo Roles ● LDAP Roles – Create users – Create groups ● OpenStack Roles – Tenant – Virtual Machine
  • 27. Demo Resources for new VM ● LDAP – installed inside new VM ● Unix – users to the VM
  • 28. What are the benefits? ● One tool ● All about organization under one roof ● Global view of organization – Resource – VMs – Users – Projects – ... One tool All information under one roof
  • 29. Thank you for your attention @KValalikova k.valalikova@evolveum.com
  • 30. Summary ● MidPoint and OpenStack ● Reusing existing information ● Global view of organization ● Automation of some processes ● Security ● Flexibility ● Adaptability ● Reliability Web Application HR IDM LDAP UNIX