SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
Alex Huang
Architect

November 10, 2012
• Have always recognized that innovation in Cloud IaaS will not be from
      only Citrix
    • Software built on top of adaptors written by third-party
    • Well defined control and data paths
    • Server Resource can be delivered to remote data centers to be co-
      located with the resource that it controls
    • VM images can be downloaded to data center and started/stopped to
      support operations within remote data centers




2
• DeploymentPlanner – Algorithms and heuristics to select pod, cluster,
  hosts to deploy VMs and storage pools to create VM on
• NetworkElement – Third-party implementation of physical network
  elements to support a VM deployed in a network
• ServerResource – API translation layer
• PluggableService – Additional APIs introduced by third party vendors
  to configure their own services
• Discoverer – Third-party specified code to introduce new
  ServerResource to CloudStack
• NetworkGuru – Different ways to do ip address allocation
• PluggableService that defines APIs to configure the plug-in
• ServerResource extension that is meant to be run co-located with the
  resource (no DB access)
• Manager code that runs within the management server with access to
  management database
• Implement Adaptor interfaces to implement functionalities required by
  CloudStack
• Change components.xml to make the plug-in and adaptors active
• Operations are atomic
• Operations are idempotent
• Do not modify CloudStack database tables
• Well-defined interfaces that third-party implements are configurable
  through components.xml
• Components specification can inherit from and extend the default
  specification
• CloudStack assembles the components according to the xml at
  startup time
• CloudStack assembles the list of APIs it supports according to the
  PlugableService specified in the xml
<management-server class="com.cloud.server.ManagementServerImpl"
library="com.cloud.configuration.DefaultComponentLibrary">
 <adapters key="com.cloud.network.element.NetworkElement">
    <adapter name="DomainRouter" class="com.cloud.network.element.VirtualRouterElement"/>
    <adapter name="Ovs" class="com.cloud.network.element.OvsElement"/>
    <adapter name="ElasticLoadBalancer" class="com.cloud.network.element.ElasticLoadBalancerElement"/>
 </adapters>
  <pluggableservice name="VirtualRouterElementService"
key="com.cloud.network.element.VirtualRouterElementService"
class="com.cloud.network.element.VirtualRouterElement"/>
</management-server>



• Defines three different NetworkElement adaptors, one of which is
  VirtualRouterElement
• Defines a PluggableService for the VirtualRouterElement so that it can be
  configured using its own APIs
• Defines the capabilities of the NetworkElement, which is used by
  CloudStack to determine if certain operations can be done
• Defines the call CloudStack makes when a VM is provisioned on the
  network
• Defines the call CloudStack makes when a VM leaves the network
• Defines the call CloudStack makes when a network changes its state
public interface PluggableService {
    /**
     * The config file name that lists API commands supported by this pluggable service
     */
    String getPropertiesFile();
}


Properties File define over-the-wire method name to Java class mapping
createAccount=com.cloud.api.commands.CreateAccountCmd
• NetscalerResource – Translation layer from CloudStack
  LoadBalancing Commands to NetScaler API. Can be co-located with
  NetScaler deployment.
• ExternalLoadBalancerDeviceManagerImpl – Server side
  implementation that have access to DB.
• NetscalerExternalLoadBalancerElement – NetworkElement
  implementation that hooks the
  ExternalLoadBalancerDeviceManagerImpl code to the CloudStack
  core.
• NetscalerNetworkElementService – PluggableService implementation
  that adds Netscaler specific configuration API.
• Provide third-party software to present end user API
• Provide multi-tenancy support in end user facing API
• Provide third-party software to present end user facing UI
• Provide third-party software the ability to upgrade database schema
  independent of CloudStack
• Provide dynamic loading of third-party software without restart of
  management server
Q&A




12

Weitere ähnliche Inhalte

Was ist angesagt?

Apache stratos hangout 3
Apache stratos hangout   3Apache stratos hangout   3
Apache stratos hangout 3
Nirmal Fernando
 
Overview of apache stratos (incubation) 4.0 architecture
Overview of apache stratos (incubation) 4.0 architectureOverview of apache stratos (incubation) 4.0 architecture
Overview of apache stratos (incubation) 4.0 architecture
Lakmal Warusawithana
 
Apache Stratos Incubator - hangout 2
Apache Stratos Incubator - hangout   2Apache Stratos Incubator - hangout   2
Apache Stratos Incubator - hangout 2
Nirmal Fernando
 
How kubernetes operators can rescue dev secops in midst of a pandemic updated
How kubernetes operators can rescue dev secops in midst of a pandemic updatedHow kubernetes operators can rescue dev secops in midst of a pandemic updated
How kubernetes operators can rescue dev secops in midst of a pandemic updated
Shikha Srivastava
 

Was ist angesagt? (20)

A quick introduction to AKS
A quick introduction to AKSA quick introduction to AKS
A quick introduction to AKS
 
OpenStack - Tzu-Mainn Chen, Marek Aufart, Petr Blaho - ManageIQ Design Summit...
OpenStack - Tzu-Mainn Chen, Marek Aufart, Petr Blaho - ManageIQ Design Summit...OpenStack - Tzu-Mainn Chen, Marek Aufart, Petr Blaho - ManageIQ Design Summit...
OpenStack - Tzu-Mainn Chen, Marek Aufart, Petr Blaho - ManageIQ Design Summit...
 
Apache stratos hangout 3
Apache stratos hangout   3Apache stratos hangout   3
Apache stratos hangout 3
 
CEP Integration for Apache Stratos 4.0.0
CEP Integration for Apache Stratos 4.0.0CEP Integration for Apache Stratos 4.0.0
CEP Integration for Apache Stratos 4.0.0
 
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
 
Overview of apache stratos (incubation) 4.0 architecture
Overview of apache stratos (incubation) 4.0 architectureOverview of apache stratos (incubation) 4.0 architecture
Overview of apache stratos (incubation) 4.0 architecture
 
Autoscaler architecture of apache stratos 4.0.0
Autoscaler architecture of apache stratos 4.0.0Autoscaler architecture of apache stratos 4.0.0
Autoscaler architecture of apache stratos 4.0.0
 
Scale your (aks) cluster, luke!
Scale your (aks) cluster, luke!Scale your (aks) cluster, luke!
Scale your (aks) cluster, luke!
 
Developing reliable applications with .net core and AKS
Developing reliable applications with .net core and AKSDeveloping reliable applications with .net core and AKS
Developing reliable applications with .net core and AKS
 
VMware vSphere - Adam Grare - ManageIQ Design Summit 2016
VMware vSphere - Adam Grare - ManageIQ Design Summit 2016VMware vSphere - Adam Grare - ManageIQ Design Summit 2016
VMware vSphere - Adam Grare - ManageIQ Design Summit 2016
 
Apache Stratos Incubator - hangout 2
Apache Stratos Incubator - hangout   2Apache Stratos Incubator - hangout   2
Apache Stratos Incubator - hangout 2
 
Using Kafka as a Database For Real-Time Transaction Processing | Chad Preisle...
Using Kafka as a Database For Real-Time Transaction Processing | Chad Preisle...Using Kafka as a Database For Real-Time Transaction Processing | Chad Preisle...
Using Kafka as a Database For Real-Time Transaction Processing | Chad Preisle...
 
How to Autoscale in Apache Cloudstack using LiquiD AutoScaler
How to Autoscale in Apache Cloudstack using LiquiD AutoScalerHow to Autoscale in Apache Cloudstack using LiquiD AutoScaler
How to Autoscale in Apache Cloudstack using LiquiD AutoScaler
 
Apache Stratos (incubating) Hangout IV - Stratos Controller and CLI Internals
Apache Stratos (incubating) Hangout IV - Stratos Controller and CLI InternalsApache Stratos (incubating) Hangout IV - Stratos Controller and CLI Internals
Apache Stratos (incubating) Hangout IV - Stratos Controller and CLI Internals
 
Apache stratos (incubation) technical deep dive
Apache stratos (incubation) technical deep diveApache stratos (incubation) technical deep dive
Apache stratos (incubation) technical deep dive
 
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
 
Flying to clouds - can it be easy? Cloud Native Applications
Flying to clouds - can it be easy? Cloud Native ApplicationsFlying to clouds - can it be easy? Cloud Native Applications
Flying to clouds - can it be easy? Cloud Native Applications
 
Kafka Excellence at Scale – Cloud, Kubernetes, Infrastructure as Code (Vik Wa...
Kafka Excellence at Scale – Cloud, Kubernetes, Infrastructure as Code (Vik Wa...Kafka Excellence at Scale – Cloud, Kubernetes, Infrastructure as Code (Vik Wa...
Kafka Excellence at Scale – Cloud, Kubernetes, Infrastructure as Code (Vik Wa...
 
How kubernetes operators can rescue dev secops in midst of a pandemic updated
How kubernetes operators can rescue dev secops in midst of a pandemic updatedHow kubernetes operators can rescue dev secops in midst of a pandemic updated
How kubernetes operators can rescue dev secops in midst of a pandemic updated
 
Container Management - Federico Simoncelli - ManageIQ Design Summit 2016
Container Management - Federico Simoncelli - ManageIQ Design Summit 2016Container Management - Federico Simoncelli - ManageIQ Design Summit 2016
Container Management - Federico Simoncelli - ManageIQ Design Summit 2016
 

Ähnlich wie 9 plugin Cloudstack Developer Day

Three Degrees of Mediation: Challenges and Lessons in building Cloud-agnostic...
Three Degrees of Mediation: Challenges and Lessons in building Cloud-agnostic...Three Degrees of Mediation: Challenges and Lessons in building Cloud-agnostic...
Three Degrees of Mediation: Challenges and Lessons in building Cloud-agnostic...
Alex Maclinovsky
 
Azure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish KalamatiAzure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish Kalamati
Girish Kalamati
 
Developing and deploying windows azure applications
Developing and deploying windows azure applicationsDeveloping and deploying windows azure applications
Developing and deploying windows azure applications
Manish Corriea
 
Session 1 - CloudStack Plugin Structure and Implementation (2013.Q3)
Session 1 - CloudStack Plugin Structure and Implementation (2013.Q3)Session 1 - CloudStack Plugin Structure and Implementation (2013.Q3)
Session 1 - CloudStack Plugin Structure and Implementation (2013.Q3)
tcloudcomputing-tw
 

Ähnlich wie 9 plugin Cloudstack Developer Day (20)

AWS Webcast - Deploying Remote Desktop Gateway on the AWS Cloud
AWS Webcast - Deploying Remote Desktop Gateway on the AWS CloudAWS Webcast - Deploying Remote Desktop Gateway on the AWS Cloud
AWS Webcast - Deploying Remote Desktop Gateway on the AWS Cloud
 
Building microservices sample application
Building microservices sample applicationBuilding microservices sample application
Building microservices sample application
 
Three Degrees of Mediation: Challenges and Lessons in building Cloud-agnostic...
Three Degrees of Mediation: Challenges and Lessons in building Cloud-agnostic...Three Degrees of Mediation: Challenges and Lessons in building Cloud-agnostic...
Three Degrees of Mediation: Challenges and Lessons in building Cloud-agnostic...
 
Azure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish KalamatiAzure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish Kalamati
 
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
 Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1... Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
 
CloudStack Overview
CloudStack OverviewCloudStack Overview
CloudStack Overview
 
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
 
Developing and deploying windows azure applications
Developing and deploying windows azure applicationsDeveloping and deploying windows azure applications
Developing and deploying windows azure applications
 
Deep Dive into Azure Data Factory v2
Deep Dive into Azure Data Factory v2Deep Dive into Azure Data Factory v2
Deep Dive into Azure Data Factory v2
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC
 
Oracle OpenWorld 2014 Review Part Four - PaaS Middleware
Oracle OpenWorld 2014 Review Part Four - PaaS MiddlewareOracle OpenWorld 2014 Review Part Four - PaaS Middleware
Oracle OpenWorld 2014 Review Part Four - PaaS Middleware
 
MaxScale - The Pluggable Router
MaxScale - The Pluggable RouterMaxScale - The Pluggable Router
MaxScale - The Pluggable Router
 
Build cloud native solution using open source
Build cloud native solution using open source Build cloud native solution using open source
Build cloud native solution using open source
 
Connect + Docker + AWS = Bitbucket Pipelines
Connect + Docker + AWS = Bitbucket PipelinesConnect + Docker + AWS = Bitbucket Pipelines
Connect + Docker + AWS = Bitbucket Pipelines
 
Better, faster, cheaper infrastructure with apache cloud stack and riak cs redux
Better, faster, cheaper infrastructure with apache cloud stack and riak cs reduxBetter, faster, cheaper infrastructure with apache cloud stack and riak cs redux
Better, faster, cheaper infrastructure with apache cloud stack and riak cs redux
 
Session 1 - CloudStack Plugin Structure and Implementation (2013.Q3)
Session 1 - CloudStack Plugin Structure and Implementation (2013.Q3)Session 1 - CloudStack Plugin Structure and Implementation (2013.Q3)
Session 1 - CloudStack Plugin Structure and Implementation (2013.Q3)
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
 
Service fabric and azure service fabric mesh
Service fabric and azure service fabric meshService fabric and azure service fabric mesh
Service fabric and azure service fabric mesh
 
2020-02-10 Java on Azure Solution Briefing
2020-02-10 Java on Azure Solution Briefing2020-02-10 Java on Azure Solution Briefing
2020-02-10 Java on Azure Solution Briefing
 
Introduction to Microsoft Azure 101
Introduction to Microsoft Azure 101Introduction to Microsoft Azure 101
Introduction to Microsoft Azure 101
 

Mehr von Kimihiko Kitase

Mehr von Kimihiko Kitase (20)

ライトプランで利用可能な分析基盤「IBM Analytics Engine (IAE)」とは
ライトプランで利用可能な分析基盤「IBM Analytics Engine (IAE)」とはライトプランで利用可能な分析基盤「IBM Analytics Engine (IAE)」とは
ライトプランで利用可能な分析基盤「IBM Analytics Engine (IAE)」とは
 
クラウドにおけるビッグデータ分析環境
クラウドにおけるビッグデータ分析環境クラウドにおけるビッグデータ分析環境
クラウドにおけるビッグデータ分析環境
 
最新事例から学ぶビッグデータの活用法 #ocif16 #hortonworks
最新事例から学ぶビッグデータの活用法 #ocif16 #hortonworks最新事例から学ぶビッグデータの活用法 #ocif16 #hortonworks
最新事例から学ぶビッグデータの活用法 #ocif16 #hortonworks
 
Hortonworksが提供する データ活用方法の紹介
Hortonworksが提供する データ活用方法の紹介Hortonworksが提供する データ活用方法の紹介
Hortonworksが提供する データ活用方法の紹介
 
Hadoop Summit 2016 San Jose レポート
Hadoop Summit 2016  San Jose レポートHadoop Summit 2016  San Jose レポート
Hadoop Summit 2016 San Jose レポート
 
SoftLayer Bluemix Community Festa 2016 Program Guide
SoftLayer Bluemix Community Festa 2016 Program GuideSoftLayer Bluemix Community Festa 2016 Program Guide
SoftLayer Bluemix Community Festa 2016 Program Guide
 
2016年冬 IBMクラウド最新動向と概要
2016年冬 IBMクラウド最新動向と概要2016年冬 IBMクラウド最新動向と概要
2016年冬 IBMクラウド最新動向と概要
 
2016年冬 IBMクラウド最新動向
2016年冬 IBMクラウド最新動向2016年冬 IBMクラウド最新動向
2016年冬 IBMクラウド最新動向
 
クラウドを活用した システム開発は適材適所
クラウドを活用したシステム開発は適材適所クラウドを活用したシステム開発は適材適所
クラウドを活用した システム開発は適材適所
 
Try IoT with Node-RED
Try IoT with Node-REDTry IoT with Node-RED
Try IoT with Node-RED
 
ホスティッドプライベートクラウド勉強会 ~Azure Pack on SoftLayer ~
ホスティッドプライベートクラウド勉強会 ~Azure Pack on SoftLayer ~ホスティッドプライベートクラウド勉強会 ~Azure Pack on SoftLayer ~
ホスティッドプライベートクラウド勉強会 ~Azure Pack on SoftLayer ~
 
話題のNode-REDでIoTアプリを作ってみよう
話題のNode-REDでIoTアプリを作ってみよう話題のNode-REDでIoTアプリを作ってみよう
話題のNode-REDでIoTアプリを作ってみよう
 
SoftLayer最新動向と賢い利用方法
SoftLayer最新動向と賢い利用方法 SoftLayer最新動向と賢い利用方法
SoftLayer最新動向と賢い利用方法
 
SoftLayer Bluemix Intro
SoftLayer Bluemix IntroSoftLayer Bluemix Intro
SoftLayer Bluemix Intro
 
SoftLayer Bluemix Summit 2015 Flyer
SoftLayer Bluemix Summit 2015 FlyerSoftLayer Bluemix Summit 2015 Flyer
SoftLayer Bluemix Summit 2015 Flyer
 
OSC15 Okinawa Intro SoftLayer and Bluemix
OSC15 Okinawa Intro SoftLayer and BluemixOSC15 Okinawa Intro SoftLayer and Bluemix
OSC15 Okinawa Intro SoftLayer and Bluemix
 
Introduction of public cloud softlayer and bluemix
Introduction of public cloud softlayer and bluemixIntroduction of public cloud softlayer and bluemix
Introduction of public cloud softlayer and bluemix
 
SoftLayer Bluemix Summit 2015
SoftLayer Bluemix Summit 2015SoftLayer Bluemix Summit 2015
SoftLayer Bluemix Summit 2015
 
クラウドに構築したWebサイトのセキュリティ対策やグローバル展開について
クラウドに構築したWebサイトのセキュリティ対策やグローバル展開についてクラウドに構築したWebサイトのセキュリティ対策やグローバル展開について
クラウドに構築したWebサイトのセキュリティ対策やグローバル展開について
 
Introduction softlayer and bluemix
Introduction softlayer and bluemixIntroduction softlayer and bluemix
Introduction softlayer and bluemix
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Kürzlich hochgeladen (20)

WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 

9 plugin Cloudstack Developer Day

  • 2. • Have always recognized that innovation in Cloud IaaS will not be from only Citrix • Software built on top of adaptors written by third-party • Well defined control and data paths • Server Resource can be delivered to remote data centers to be co- located with the resource that it controls • VM images can be downloaded to data center and started/stopped to support operations within remote data centers 2
  • 3. • DeploymentPlanner – Algorithms and heuristics to select pod, cluster, hosts to deploy VMs and storage pools to create VM on • NetworkElement – Third-party implementation of physical network elements to support a VM deployed in a network • ServerResource – API translation layer • PluggableService – Additional APIs introduced by third party vendors to configure their own services • Discoverer – Third-party specified code to introduce new ServerResource to CloudStack • NetworkGuru – Different ways to do ip address allocation
  • 4. • PluggableService that defines APIs to configure the plug-in • ServerResource extension that is meant to be run co-located with the resource (no DB access) • Manager code that runs within the management server with access to management database • Implement Adaptor interfaces to implement functionalities required by CloudStack • Change components.xml to make the plug-in and adaptors active
  • 5. • Operations are atomic • Operations are idempotent • Do not modify CloudStack database tables
  • 6. • Well-defined interfaces that third-party implements are configurable through components.xml • Components specification can inherit from and extend the default specification • CloudStack assembles the components according to the xml at startup time • CloudStack assembles the list of APIs it supports according to the PlugableService specified in the xml
  • 7. <management-server class="com.cloud.server.ManagementServerImpl" library="com.cloud.configuration.DefaultComponentLibrary"> <adapters key="com.cloud.network.element.NetworkElement"> <adapter name="DomainRouter" class="com.cloud.network.element.VirtualRouterElement"/> <adapter name="Ovs" class="com.cloud.network.element.OvsElement"/> <adapter name="ElasticLoadBalancer" class="com.cloud.network.element.ElasticLoadBalancerElement"/> </adapters> <pluggableservice name="VirtualRouterElementService" key="com.cloud.network.element.VirtualRouterElementService" class="com.cloud.network.element.VirtualRouterElement"/> </management-server> • Defines three different NetworkElement adaptors, one of which is VirtualRouterElement • Defines a PluggableService for the VirtualRouterElement so that it can be configured using its own APIs
  • 8. • Defines the capabilities of the NetworkElement, which is used by CloudStack to determine if certain operations can be done • Defines the call CloudStack makes when a VM is provisioned on the network • Defines the call CloudStack makes when a VM leaves the network • Defines the call CloudStack makes when a network changes its state
  • 9. public interface PluggableService { /** * The config file name that lists API commands supported by this pluggable service */ String getPropertiesFile(); } Properties File define over-the-wire method name to Java class mapping createAccount=com.cloud.api.commands.CreateAccountCmd
  • 10. • NetscalerResource – Translation layer from CloudStack LoadBalancing Commands to NetScaler API. Can be co-located with NetScaler deployment. • ExternalLoadBalancerDeviceManagerImpl – Server side implementation that have access to DB. • NetscalerExternalLoadBalancerElement – NetworkElement implementation that hooks the ExternalLoadBalancerDeviceManagerImpl code to the CloudStack core. • NetscalerNetworkElementService – PluggableService implementation that adds Netscaler specific configuration API.
  • 11. • Provide third-party software to present end user API • Provide multi-tenancy support in end user facing API • Provide third-party software to present end user facing UI • Provide third-party software the ability to upgrade database schema independent of CloudStack • Provide dynamic loading of third-party software without restart of management server