SlideShare a Scribd company logo
1 of 23
Download to read offline
OpenStack Summit Berlin
Rico Lin, irc: ricolin <rico.lin@easystack.cn>
Zane Bitter irc: zaneb <zbitter@redhat.com>
Improvements in OpenStack
Integration for Application
Developers
Nov 2018
An Application
An Application Developer
● Who care about real use cases cross
node, cluster, and even platform
● Who need to stay awake 24 hr when
service is added/upgraded
● Who have to care about multiple projects
● Who will always been called when
environment failed
● A lot more in Application itself...
Where it needs to be improved
● Cross Community Integration
● Cross Project Integration
● Cross Site/Platform Integration
● Community Improvement
● Upgrade
Are we there yet?!
Are we there yet?!
Are we there yet?!
Are we there yet?!
Not yet, my little Smurfs!
But here are some things we started
Application Credentials [more]
clouds:
openstack:
auth:
auth_url: https://cloud.example.com/identity/v3
username: "Rico"
user_domain_name: "openstack.de"
application_credential_name:
"volume_backups_001"
application_credential_secret: "{Credential ID}"
region_name: "RegionOne"
interface: "public"
identity_api_version: 3
auth_type: "v3applicationcredential"
Cross Site/Platform Integration
An application credential is a scoped auth method
that a user creates to delegate a subset of their role
assignments on a single project to something else -
whoever or whatever possesses knowledge of the
identifier and the secret belonging to the application
credential.
● Has its own secret
● Can only access one project, no matter how
many projects the user is in
● Can have all or a subset of the roles the user
has on that project
● Is user-lived - when the user is deleted, the app
credential dies
● User can have many
Application Credential Capabilities
POST /v3/capability-templates
{
"capability_template": {
"allow_chained": true,
"role_id": "0dbbcb80-9d70-4c86-b38a-ae826e501885",
"path": "/v2.1/servers/**",
"substitutions": {},
"service": "67764758-3bdb-462e-babf-537c8fbe7bcd",
"type": "GET"
}
}
Cross Site/Platform Integration
Nova instance credentials
Cross Project Integration
Once we are able to lock down application credentials to particular
capabilities, it would be useful to automatically assign a set of these
credentials to a Nova server so that the application running on it can use
them to access the cloud. Depending on where the server gets its
metadata from, it should even be possible to regularly rotate the
credentials so that a temporary breach of the server doesn’t necessarily
result in ongoing access.
Pre-signed URLs
Several services in OpenStack make use of pre-signed URLs that can be
given to applications to allow them limited access only to resources
explicitly specified by the user. Examples include reading and writing data
in Swift (requires the TempURL middleware), or sending and receiving
messages in Zaqar. You can both limit the type of access (e.g. read-only
or write-only) and the duration for which it is valid. Heat also makes use
of pre-signed URLs in some circumstances to allow workloads to
communicate status back to it.
Cross Project Integration
Self-healing with Heat
Cross Project Integration
XXX::Server
XXX::Signal XXX::Alarm
XXX::Workflow
Signal
Meter
Trigger
How you
metering
?
How you
handle
signal?
How you
trigger a
fix job
What's
meter to
you?
Fix
server:
type: OS::Nova::Server
properties:
...
alarm_queue:
type: OS::Zaqar::Queue
error_event_alarm:
type: OS::Aodh::EventAlarm
properties:
event_type: compute.instance.update
query:
- field: traits.instance_id
value: {get_resource: server}
op: eq
- field: traits.state
value: error
op: eq
alarm_queues:
- {get_resource: alarm_queue}
alarm_subscription:
type: OS::Zaqar::MistralTrigger
properties:
queue_name: {get_resource: alarm_queue}
workflow_id: {get_resource: autoheal}
input:
stack_id: {get_param: "OS::stack_id"}
root_stack_id:
if:
- is_standalone
- {get_param: "OS::stack_id"}
- {get_param: "root_stack_id"}
autoheal:
type: OS::Mistral::Workflow
properties:
description: >
Mark a server as unhealthy and commence a stack update
to replace it.
input:
stack_id:
root_stack_id:
type: direct
tasks:
- name: resources_mark_unhealthy
action:
list_join:
- ' '
- - heat.resources_mark_unhealthy
- stack_id=<% $.stack_id %>
- resource_name=<%
env().notification.body.reason_data.event.traits.where($[0] =
'instance_id').select($[2]).first() %>
- mark_unhealthy=true
- resource_status_reason='Marked by alarm'
on_success:
- stacks_update
- name: stacks_update
action: heat.stacks_update stack_id=<% $.root_stack_id
%> existing=true
Self-healing with Heat
Vision for OpenStack Clouds
TC is working with the community to produce a vision
document that will help guide future development of
OpenStack. The document defines giving applications
control over their own infrastructure as one of the
pillars of cloud computing that sets it apart from earlier
models.
Community Improvement
Expose SIGs and WGs
Community Improvement
Current
Scenario(Story)
Project A team
Project B team
Project C team
Tasks
Project A team
Project B team
Project C team
Scenario(Story)
SIGs/WGs
Exposed
OpenStack site A
Multi-Cloud Orchestration
Cross Site/Platform Integration
Stack2Stack
Stack2
OpenStack site B
resources:
app_stack_at_site_B:
type: OS::Heat::Stack
properties:
context:
credential_secret_id: {Barbican Secret ID}
openstack secret store -n site-b-cred --payload
'{
"auth_type": "v3applicationcredential",
"auth": {
"auth_url": "URL",
"application_credential_id": "Credential ID",
"application_credential_secret": "sec"},
"roles": ["admin"],
"project_id": "Project_ID"
}'
K8s Cluster Autoscaling on OpenStack
Cross Community Integration
Kubernetes OpenStack
Node
ResourceGroup
Instance Instance
K8s K8s
ResourceGroup
Instance Instance
K8s K8s
Magnum
Pod
Node
Pod Pod
Node
Pod
Pod Pod Pod Pod
Kubernetes/Autoscaler
Autoscaling improvement
Cross Project Integration
Scaling group
Instance Instance
Application Application
Scaling group
Instance Instance
Application Application
Heat
InstanceGroup AutoScalingGroup
Cluster
Senlin
ResourceGroup
Just maybe…
we need new mascot for this...
Heat Kubernetes Resource
Cross Community Integration
Software Deploy
Nova Server
os-collect-config
os-refresh-config
os-apply-config
kubelet-hook
$ kubelet
Webserver
done
config-notify
Signal
Software Config
Software Deploy
Kubernetes
Software Config
Credential to
Kubernetes
Barbican
Stack
Software
Config
Software
Deploy
Kubernetes
Heat Ansible Resource
Cross Community Integration
Software Deploy
Nova Server
os-collect-config
os-refresh-config
os-apply-config
ansible-hook
$ ansible-playbook
Webserver
done
config-notify
Signal
Software Config
Software Deploy
Ansible
Software Config
Credential to
Ansible
Barbican
Stack
Software
Config
Software
Deploy
Ansible
Rico Lin, irc: ricolin <rico.lin@easystack.cn>
Zane Bitter irc: zaneb <zbitter@redhat.com>
Thank You!
Danke!
Nov 2018
Q & A
Rico Lin, irc: ricolin <rico.lin@easystack.cn>
Zane Bitter irc: zaneb <zbitter@redhat.com>
Thank You!
Danke!
Nov 2018
Q & A
Rico Lin, irc: ricolin <rico.lin@easystack.cn>
Zane Bitter irc: zaneb <zbitter@redhat.com>
Thank You!
Danke!
Nov 2018
Q & A

More Related Content

What's hot

Namos openstack-manager
Namos openstack-managerNamos openstack-manager
Namos openstack-managerKanagaraj M
 
AWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar SeriesAWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar SeriesAmazon Web Services
 
reModernize-Updating and Consolidating MySQL
reModernize-Updating and Consolidating MySQLreModernize-Updating and Consolidating MySQL
reModernize-Updating and Consolidating MySQLAmazon Web Services
 
Hands-on Lab: Comparing Redis with Relational
Hands-on Lab: Comparing Redis with RelationalHands-on Lab: Comparing Redis with Relational
Hands-on Lab: Comparing Redis with RelationalAmazon Web Services
 
Getting Apache Spark Customers to Production
Getting Apache Spark Customers to ProductionGetting Apache Spark Customers to Production
Getting Apache Spark Customers to ProductionCloudera, Inc.
 
AWS IoT 핸즈온 워크샵 - 실습 6. 긴급 데이터를 Kinesis Streams으로 보내기 (김무현 솔루션즈 아키텍트)
AWS IoT 핸즈온 워크샵 - 실습 6. 긴급 데이터를 Kinesis Streams으로 보내기 (김무현 솔루션즈 아키텍트)AWS IoT 핸즈온 워크샵 - 실습 6. 긴급 데이터를 Kinesis Streams으로 보내기 (김무현 솔루션즈 아키텍트)
AWS IoT 핸즈온 워크샵 - 실습 6. 긴급 데이터를 Kinesis Streams으로 보내기 (김무현 솔루션즈 아키텍트)Amazon Web Services Korea
 
Session 2 - CloudStack Usage and Application (2013.Q3)
Session 2 - CloudStack Usage and Application (2013.Q3)Session 2 - CloudStack Usage and Application (2013.Q3)
Session 2 - CloudStack Usage and Application (2013.Q3)tcloudcomputing-tw
 
Getting Started with ElastiCache for Redis
Getting Started with ElastiCache for RedisGetting Started with ElastiCache for Redis
Getting Started with ElastiCache for RedisAmazon Web Services
 
Spring boot-application
Spring boot-applicationSpring boot-application
Spring boot-applicationParag Patil
 
Inside Azure Diagnostics
Inside Azure DiagnosticsInside Azure Diagnostics
Inside Azure DiagnosticsMichael Collier
 
(APP306) Using AWS CloudFormation for Deployment and Management at Scale | AW...
(APP306) Using AWS CloudFormation for Deployment and Management at Scale | AW...(APP306) Using AWS CloudFormation for Deployment and Management at Scale | AW...
(APP306) Using AWS CloudFormation for Deployment and Management at Scale | AW...Amazon Web Services
 
Hands-on Lab - Combaring Redis with Relational
Hands-on Lab - Combaring Redis with RelationalHands-on Lab - Combaring Redis with Relational
Hands-on Lab - Combaring Redis with RelationalAmazon Web Services
 
(DEV301) Automating AWS with the AWS CLI
(DEV301) Automating AWS with the AWS CLI(DEV301) Automating AWS with the AWS CLI
(DEV301) Automating AWS with the AWS CLIAmazon Web Services
 
Oracle goldengate and RAC12c
Oracle goldengate and RAC12cOracle goldengate and RAC12c
Oracle goldengate and RAC12cSiraj Ahmed
 
Hands-on Lab: re-Modernize - Updating and Consolidating MySQL
Hands-on Lab: re-Modernize - Updating and Consolidating MySQLHands-on Lab: re-Modernize - Updating and Consolidating MySQL
Hands-on Lab: re-Modernize - Updating and Consolidating MySQLAmazon Web Services
 
Apache spark with akka couchbase code by bhawani
Apache spark with akka couchbase code by bhawaniApache spark with akka couchbase code by bhawani
Apache spark with akka couchbase code by bhawaniBhawani N Prasad
 
AWS Sydney Summit 2013 - Your First Week with Amazon EC2
AWS Sydney Summit 2013 - Your First Week with Amazon EC2AWS Sydney Summit 2013 - Your First Week with Amazon EC2
AWS Sydney Summit 2013 - Your First Week with Amazon EC2Amazon Web Services
 
AWS re:Invent 2016: The Effective AWS CLI User (DEV402)
AWS re:Invent 2016: The Effective AWS CLI User (DEV402)AWS re:Invent 2016: The Effective AWS CLI User (DEV402)
AWS re:Invent 2016: The Effective AWS CLI User (DEV402)Amazon Web Services
 

What's hot (20)

Namos openstack-manager
Namos openstack-managerNamos openstack-manager
Namos openstack-manager
 
AWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar SeriesAWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar Series
 
reModernize-Updating and Consolidating MySQL
reModernize-Updating and Consolidating MySQLreModernize-Updating and Consolidating MySQL
reModernize-Updating and Consolidating MySQL
 
Hands-on Lab: Comparing Redis with Relational
Hands-on Lab: Comparing Redis with RelationalHands-on Lab: Comparing Redis with Relational
Hands-on Lab: Comparing Redis with Relational
 
Iac d.damyanov 4.pptx
Iac d.damyanov 4.pptxIac d.damyanov 4.pptx
Iac d.damyanov 4.pptx
 
Getting Apache Spark Customers to Production
Getting Apache Spark Customers to ProductionGetting Apache Spark Customers to Production
Getting Apache Spark Customers to Production
 
AWS IoT 핸즈온 워크샵 - 실습 6. 긴급 데이터를 Kinesis Streams으로 보내기 (김무현 솔루션즈 아키텍트)
AWS IoT 핸즈온 워크샵 - 실습 6. 긴급 데이터를 Kinesis Streams으로 보내기 (김무현 솔루션즈 아키텍트)AWS IoT 핸즈온 워크샵 - 실습 6. 긴급 데이터를 Kinesis Streams으로 보내기 (김무현 솔루션즈 아키텍트)
AWS IoT 핸즈온 워크샵 - 실습 6. 긴급 데이터를 Kinesis Streams으로 보내기 (김무현 솔루션즈 아키텍트)
 
Session 2 - CloudStack Usage and Application (2013.Q3)
Session 2 - CloudStack Usage and Application (2013.Q3)Session 2 - CloudStack Usage and Application (2013.Q3)
Session 2 - CloudStack Usage and Application (2013.Q3)
 
Getting Started with ElastiCache for Redis
Getting Started with ElastiCache for RedisGetting Started with ElastiCache for Redis
Getting Started with ElastiCache for Redis
 
Spring boot-application
Spring boot-applicationSpring boot-application
Spring boot-application
 
Inside Azure Diagnostics
Inside Azure DiagnosticsInside Azure Diagnostics
Inside Azure Diagnostics
 
(APP306) Using AWS CloudFormation for Deployment and Management at Scale | AW...
(APP306) Using AWS CloudFormation for Deployment and Management at Scale | AW...(APP306) Using AWS CloudFormation for Deployment and Management at Scale | AW...
(APP306) Using AWS CloudFormation for Deployment and Management at Scale | AW...
 
Hands-on Lab - Combaring Redis with Relational
Hands-on Lab - Combaring Redis with RelationalHands-on Lab - Combaring Redis with Relational
Hands-on Lab - Combaring Redis with Relational
 
Deploying SharePoint @ Cloud
Deploying SharePoint @ CloudDeploying SharePoint @ Cloud
Deploying SharePoint @ Cloud
 
(DEV301) Automating AWS with the AWS CLI
(DEV301) Automating AWS with the AWS CLI(DEV301) Automating AWS with the AWS CLI
(DEV301) Automating AWS with the AWS CLI
 
Oracle goldengate and RAC12c
Oracle goldengate and RAC12cOracle goldengate and RAC12c
Oracle goldengate and RAC12c
 
Hands-on Lab: re-Modernize - Updating and Consolidating MySQL
Hands-on Lab: re-Modernize - Updating and Consolidating MySQLHands-on Lab: re-Modernize - Updating and Consolidating MySQL
Hands-on Lab: re-Modernize - Updating and Consolidating MySQL
 
Apache spark with akka couchbase code by bhawani
Apache spark with akka couchbase code by bhawaniApache spark with akka couchbase code by bhawani
Apache spark with akka couchbase code by bhawani
 
AWS Sydney Summit 2013 - Your First Week with Amazon EC2
AWS Sydney Summit 2013 - Your First Week with Amazon EC2AWS Sydney Summit 2013 - Your First Week with Amazon EC2
AWS Sydney Summit 2013 - Your First Week with Amazon EC2
 
AWS re:Invent 2016: The Effective AWS CLI User (DEV402)
AWS re:Invent 2016: The Effective AWS CLI User (DEV402)AWS re:Invent 2016: The Effective AWS CLI User (DEV402)
AWS re:Invent 2016: The Effective AWS CLI User (DEV402)
 

Similar to Improvements in OpenStack Integration for Application Developers

Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineJava Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineIMC Institute
 
Docker Java App with MariaDB – Deployment in Less than a Minute
Docker Java App with MariaDB – Deployment in Less than a MinuteDocker Java App with MariaDB – Deployment in Less than a Minute
Docker Java App with MariaDB – Deployment in Less than a Minutedchq
 
An introduction to Microsoft Graph for developers
An introduction to Microsoft Graph for developersAn introduction to Microsoft Graph for developers
An introduction to Microsoft Graph for developersMicrosoft 365 Developer
 
Masterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM RolesMasterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM RolesMalcolm Duncanson, CISSP
 
Schema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdf
Schema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdfSchema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdf
Schema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdfseo18
 
Workshop - Openstack, Cloud Computing, Virtualization
Workshop - Openstack, Cloud Computing, VirtualizationWorkshop - Openstack, Cloud Computing, Virtualization
Workshop - Openstack, Cloud Computing, VirtualizationJayaprakash R
 
Openstack workshop @ Kalasalingam
Openstack workshop @ KalasalingamOpenstack workshop @ Kalasalingam
Openstack workshop @ KalasalingamBeny Raja
 
Why NBC Universal Migrated to MongoDB Atlas
Why NBC Universal Migrated to MongoDB AtlasWhy NBC Universal Migrated to MongoDB Atlas
Why NBC Universal Migrated to MongoDB AtlasDatavail
 
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio TavillaOpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio TavillaLorenzo Carnevale
 
Sukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud ManagementSukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud ManagementSukumar Nayak
 
Seattle spark-meetup-032317
Seattle spark-meetup-032317Seattle spark-meetup-032317
Seattle spark-meetup-032317Nan Zhu
 
Easy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applicationsEasy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applicationsJack-Junjie Cai
 
quickguide-einnovator-8-spring-cloud
quickguide-einnovator-8-spring-cloudquickguide-einnovator-8-spring-cloud
quickguide-einnovator-8-spring-cloudjorgesimao71
 
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio TavillaOpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio TavillaLorenzo Carnevale
 
Vadiraj Raikar_Cloud Automation_DevOps
Vadiraj Raikar_Cloud Automation_DevOpsVadiraj Raikar_Cloud Automation_DevOps
Vadiraj Raikar_Cloud Automation_DevOpsVadiraj Raikar
 
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
 
Multi-tenancy with Rails
Multi-tenancy with RailsMulti-tenancy with Rails
Multi-tenancy with RailsPaul Gallagher
 
LinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on Openstack
LinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on OpenstackLinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on Openstack
LinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on OpenstackOpenShift Origin
 

Similar to Improvements in OpenStack Integration for Application Developers (20)

Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineJava Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Docker Java App with MariaDB – Deployment in Less than a Minute
Docker Java App with MariaDB – Deployment in Less than a MinuteDocker Java App with MariaDB – Deployment in Less than a Minute
Docker Java App with MariaDB – Deployment in Less than a Minute
 
An introduction to Microsoft Graph for developers
An introduction to Microsoft Graph for developersAn introduction to Microsoft Graph for developers
An introduction to Microsoft Graph for developers
 
Masterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM RolesMasterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM Roles
 
Schema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdf
Schema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdfSchema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdf
Schema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdf
 
Workshop - Openstack, Cloud Computing, Virtualization
Workshop - Openstack, Cloud Computing, VirtualizationWorkshop - Openstack, Cloud Computing, Virtualization
Workshop - Openstack, Cloud Computing, Virtualization
 
Openstack workshop @ Kalasalingam
Openstack workshop @ KalasalingamOpenstack workshop @ Kalasalingam
Openstack workshop @ Kalasalingam
 
Why NBC Universal Migrated to MongoDB Atlas
Why NBC Universal Migrated to MongoDB AtlasWhy NBC Universal Migrated to MongoDB Atlas
Why NBC Universal Migrated to MongoDB Atlas
 
Cisco project ideas
Cisco   project ideasCisco   project ideas
Cisco project ideas
 
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio TavillaOpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
 
Sukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud ManagementSukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud Management
 
Seattle spark-meetup-032317
Seattle spark-meetup-032317Seattle spark-meetup-032317
Seattle spark-meetup-032317
 
Easy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applicationsEasy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applications
 
quickguide-einnovator-8-spring-cloud
quickguide-einnovator-8-spring-cloudquickguide-einnovator-8-spring-cloud
quickguide-einnovator-8-spring-cloud
 
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio TavillaOpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
 
Vadiraj Raikar_Cloud Automation_DevOps
Vadiraj Raikar_Cloud Automation_DevOpsVadiraj Raikar_Cloud Automation_DevOps
Vadiraj Raikar_Cloud Automation_DevOps
 
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
 
Multi-tenancy with Rails
Multi-tenancy with RailsMulti-tenancy with Rails
Multi-tenancy with Rails
 
LinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on Openstack
LinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on OpenstackLinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on Openstack
LinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on Openstack
 

More from Rico Lin

Heat onboarding - Berlin OpenStack summit
Heat onboarding - Berlin OpenStack summitHeat onboarding - Berlin OpenStack summit
Heat onboarding - Berlin OpenStack summitRico Lin
 
Embrace Community! Embrace a better life!
Embrace Community! Embrace a better life!Embrace Community! Embrace a better life!
Embrace Community! Embrace a better life!Rico Lin
 
Take the advantage and connect upstream to downstream
Take the advantage and connect upstream to downstreamTake the advantage and connect upstream to downstream
Take the advantage and connect upstream to downstreamRico Lin
 
Take the advantage and connect upstream to downstream
Take the advantage and connect upstream to downstreamTake the advantage and connect upstream to downstream
Take the advantage and connect upstream to downstreamRico Lin
 
OpenInfra Summit - 2018 Vancouver - Heat project update
OpenInfra Summit - 2018 Vancouver - Heat project updateOpenInfra Summit - 2018 Vancouver - Heat project update
OpenInfra Summit - 2018 Vancouver - Heat project updateRico Lin
 
OpenInfra Summit - 2018 Vancouver - Heat Onboarding
OpenInfra Summit - 2018 Vancouver - Heat OnboardingOpenInfra Summit - 2018 Vancouver - Heat Onboarding
OpenInfra Summit - 2018 Vancouver - Heat OnboardingRico Lin
 
OpenStack - heat on boarding
OpenStack - heat on boardingOpenStack - heat on boarding
OpenStack - heat on boardingRico Lin
 
Project update - heat (up to pike-1)
Project update - heat (up to pike-1)Project update - heat (up to pike-1)
Project update - heat (up to pike-1)Rico Lin
 
Heat project onboarding
Heat  project onboardingHeat  project onboarding
Heat project onboardingRico Lin
 
Heat optimization
Heat optimizationHeat optimization
Heat optimizationRico Lin
 
Heat up your stack
Heat up your stackHeat up your stack
Heat up your stackRico Lin
 

More from Rico Lin (11)

Heat onboarding - Berlin OpenStack summit
Heat onboarding - Berlin OpenStack summitHeat onboarding - Berlin OpenStack summit
Heat onboarding - Berlin OpenStack summit
 
Embrace Community! Embrace a better life!
Embrace Community! Embrace a better life!Embrace Community! Embrace a better life!
Embrace Community! Embrace a better life!
 
Take the advantage and connect upstream to downstream
Take the advantage and connect upstream to downstreamTake the advantage and connect upstream to downstream
Take the advantage and connect upstream to downstream
 
Take the advantage and connect upstream to downstream
Take the advantage and connect upstream to downstreamTake the advantage and connect upstream to downstream
Take the advantage and connect upstream to downstream
 
OpenInfra Summit - 2018 Vancouver - Heat project update
OpenInfra Summit - 2018 Vancouver - Heat project updateOpenInfra Summit - 2018 Vancouver - Heat project update
OpenInfra Summit - 2018 Vancouver - Heat project update
 
OpenInfra Summit - 2018 Vancouver - Heat Onboarding
OpenInfra Summit - 2018 Vancouver - Heat OnboardingOpenInfra Summit - 2018 Vancouver - Heat Onboarding
OpenInfra Summit - 2018 Vancouver - Heat Onboarding
 
OpenStack - heat on boarding
OpenStack - heat on boardingOpenStack - heat on boarding
OpenStack - heat on boarding
 
Project update - heat (up to pike-1)
Project update - heat (up to pike-1)Project update - heat (up to pike-1)
Project update - heat (up to pike-1)
 
Heat project onboarding
Heat  project onboardingHeat  project onboarding
Heat project onboarding
 
Heat optimization
Heat optimizationHeat optimization
Heat optimization
 
Heat up your stack
Heat up your stackHeat up your stack
Heat up your stack
 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 

Improvements in OpenStack Integration for Application Developers

  • 1. OpenStack Summit Berlin Rico Lin, irc: ricolin <rico.lin@easystack.cn> Zane Bitter irc: zaneb <zbitter@redhat.com> Improvements in OpenStack Integration for Application Developers Nov 2018
  • 3. An Application Developer ● Who care about real use cases cross node, cluster, and even platform ● Who need to stay awake 24 hr when service is added/upgraded ● Who have to care about multiple projects ● Who will always been called when environment failed ● A lot more in Application itself...
  • 4. Where it needs to be improved ● Cross Community Integration ● Cross Project Integration ● Cross Site/Platform Integration ● Community Improvement ● Upgrade
  • 5. Are we there yet?! Are we there yet?! Are we there yet?! Are we there yet?!
  • 6. Not yet, my little Smurfs! But here are some things we started
  • 7. Application Credentials [more] clouds: openstack: auth: auth_url: https://cloud.example.com/identity/v3 username: "Rico" user_domain_name: "openstack.de" application_credential_name: "volume_backups_001" application_credential_secret: "{Credential ID}" region_name: "RegionOne" interface: "public" identity_api_version: 3 auth_type: "v3applicationcredential" Cross Site/Platform Integration An application credential is a scoped auth method that a user creates to delegate a subset of their role assignments on a single project to something else - whoever or whatever possesses knowledge of the identifier and the secret belonging to the application credential. ● Has its own secret ● Can only access one project, no matter how many projects the user is in ● Can have all or a subset of the roles the user has on that project ● Is user-lived - when the user is deleted, the app credential dies ● User can have many
  • 8. Application Credential Capabilities POST /v3/capability-templates { "capability_template": { "allow_chained": true, "role_id": "0dbbcb80-9d70-4c86-b38a-ae826e501885", "path": "/v2.1/servers/**", "substitutions": {}, "service": "67764758-3bdb-462e-babf-537c8fbe7bcd", "type": "GET" } } Cross Site/Platform Integration
  • 9. Nova instance credentials Cross Project Integration Once we are able to lock down application credentials to particular capabilities, it would be useful to automatically assign a set of these credentials to a Nova server so that the application running on it can use them to access the cloud. Depending on where the server gets its metadata from, it should even be possible to regularly rotate the credentials so that a temporary breach of the server doesn’t necessarily result in ongoing access.
  • 10. Pre-signed URLs Several services in OpenStack make use of pre-signed URLs that can be given to applications to allow them limited access only to resources explicitly specified by the user. Examples include reading and writing data in Swift (requires the TempURL middleware), or sending and receiving messages in Zaqar. You can both limit the type of access (e.g. read-only or write-only) and the duration for which it is valid. Heat also makes use of pre-signed URLs in some circumstances to allow workloads to communicate status back to it. Cross Project Integration
  • 11. Self-healing with Heat Cross Project Integration XXX::Server XXX::Signal XXX::Alarm XXX::Workflow Signal Meter Trigger How you metering ? How you handle signal? How you trigger a fix job What's meter to you? Fix
  • 12. server: type: OS::Nova::Server properties: ... alarm_queue: type: OS::Zaqar::Queue error_event_alarm: type: OS::Aodh::EventAlarm properties: event_type: compute.instance.update query: - field: traits.instance_id value: {get_resource: server} op: eq - field: traits.state value: error op: eq alarm_queues: - {get_resource: alarm_queue} alarm_subscription: type: OS::Zaqar::MistralTrigger properties: queue_name: {get_resource: alarm_queue} workflow_id: {get_resource: autoheal} input: stack_id: {get_param: "OS::stack_id"} root_stack_id: if: - is_standalone - {get_param: "OS::stack_id"} - {get_param: "root_stack_id"} autoheal: type: OS::Mistral::Workflow properties: description: > Mark a server as unhealthy and commence a stack update to replace it. input: stack_id: root_stack_id: type: direct tasks: - name: resources_mark_unhealthy action: list_join: - ' ' - - heat.resources_mark_unhealthy - stack_id=<% $.stack_id %> - resource_name=<% env().notification.body.reason_data.event.traits.where($[0] = 'instance_id').select($[2]).first() %> - mark_unhealthy=true - resource_status_reason='Marked by alarm' on_success: - stacks_update - name: stacks_update action: heat.stacks_update stack_id=<% $.root_stack_id %> existing=true Self-healing with Heat
  • 13. Vision for OpenStack Clouds TC is working with the community to produce a vision document that will help guide future development of OpenStack. The document defines giving applications control over their own infrastructure as one of the pillars of cloud computing that sets it apart from earlier models. Community Improvement
  • 14. Expose SIGs and WGs Community Improvement Current Scenario(Story) Project A team Project B team Project C team Tasks Project A team Project B team Project C team Scenario(Story) SIGs/WGs Exposed
  • 15. OpenStack site A Multi-Cloud Orchestration Cross Site/Platform Integration Stack2Stack Stack2 OpenStack site B resources: app_stack_at_site_B: type: OS::Heat::Stack properties: context: credential_secret_id: {Barbican Secret ID} openstack secret store -n site-b-cred --payload '{ "auth_type": "v3applicationcredential", "auth": { "auth_url": "URL", "application_credential_id": "Credential ID", "application_credential_secret": "sec"}, "roles": ["admin"], "project_id": "Project_ID" }'
  • 16. K8s Cluster Autoscaling on OpenStack Cross Community Integration Kubernetes OpenStack Node ResourceGroup Instance Instance K8s K8s ResourceGroup Instance Instance K8s K8s Magnum Pod Node Pod Pod Node Pod Pod Pod Pod Pod Kubernetes/Autoscaler
  • 17. Autoscaling improvement Cross Project Integration Scaling group Instance Instance Application Application Scaling group Instance Instance Application Application Heat InstanceGroup AutoScalingGroup Cluster Senlin ResourceGroup
  • 18. Just maybe… we need new mascot for this...
  • 19. Heat Kubernetes Resource Cross Community Integration Software Deploy Nova Server os-collect-config os-refresh-config os-apply-config kubelet-hook $ kubelet Webserver done config-notify Signal Software Config Software Deploy Kubernetes Software Config Credential to Kubernetes Barbican Stack Software Config Software Deploy Kubernetes
  • 20. Heat Ansible Resource Cross Community Integration Software Deploy Nova Server os-collect-config os-refresh-config os-apply-config ansible-hook $ ansible-playbook Webserver done config-notify Signal Software Config Software Deploy Ansible Software Config Credential to Ansible Barbican Stack Software Config Software Deploy Ansible
  • 21. Rico Lin, irc: ricolin <rico.lin@easystack.cn> Zane Bitter irc: zaneb <zbitter@redhat.com> Thank You! Danke! Nov 2018 Q & A
  • 22. Rico Lin, irc: ricolin <rico.lin@easystack.cn> Zane Bitter irc: zaneb <zbitter@redhat.com> Thank You! Danke! Nov 2018 Q & A
  • 23. Rico Lin, irc: ricolin <rico.lin@easystack.cn> Zane Bitter irc: zaneb <zbitter@redhat.com> Thank You! Danke! Nov 2018 Q & A