SlideShare a Scribd company logo
1 of 36
Download to read offline
2013 Trend Micro
25th Anniversary
CLOUDSTACK PLUGIN STRUCTURE
AND IMPLEMENTATION
TCloud Computing, Inc.
2013 Trend Micro
25th Anniversary
Outline
• Management Internal
• Anatomy of Plugin
• Practical Example – Third Party Security
Solution
2013 Trend Micro
25th Anniversary
Management Server Internal
2013 Trend Micro
25th Anniversary
Architecture Overview
•Includes all the implementation of CloudStack's HTTP Query API
•Includes all supported Cloudstack Java Interfaces that can be
used to bridge against external systems.
Services
•Defines all the processes of CloudStack Management Server.
•Interacts with the Adapter Framework to provide customizations
to this process.
Management
•Contains the implementation that map CloudStack commands
to the various physical elements including network, storage, and
hypervisor resources
Resources
•Contains the implementation to the Database Access layer.
Currently it is MySQL but does not have to be limited to a
database.
Data Access
2013 Trend Micro
25th Anniversary
Service Layer
• Synchronous command
– Scope of mgmt server or to the database
– Short-live
• Asynchronous command
– Require a call to an external system
– Take long time
• Command configuration
– commands.properties
– <command name>=<fully qualified java classname>;<ACL>
2013 Trend Micro
25th Anniversary
Management Layer
• Kernel of CloudStack
• Manager
– Singleton to control a process
• Adapter
– Different ways to implement the same functionality.
– Often used when there can be multiple ways to implement
that step.
• Configuration
– components.xml
2013 Trend Micro
25th Anniversary
Resource Layer
• Map commands to the physical elements
– Hypervisor resource
– Network resoure
– Storage resource
2013 Trend Micro
25th Anniversary
Inside a Management Server
API
Servlet
Async
Job
Queue
Mgr
CS API
Services
API
Cmds
Responses
cmd.execute()
Kernel
Agent
Manager
Resources
Agent API
(Commands)
Hypervisor
Native
APIs
Local
Or
Remote
Network
Device
API
MySQL
2013 Trend Micro
25th Anniversary
Accounts
Security
Manager
Events
Manager
Usage
Manager
Domain
Manager
Account
Manager
Limits
Manager
CloudStack Orchestration
VirtualMachine
Manager
StorageManager
NetworkManager
Template
Manager
Snapshot
Manager
CloudStack WebServices API
OAM&P API
End User
API
AWS API Pluggable Service API Engine
CloudStack Plugins
NetScalerNetwrokServiceProvider
VirtualRouterNetwrokServiceProvider
Business Logic
Resource
Manager
Rules
Manager
Update
Manager
HA
Manager
Capacity
Manager
Framework
Agent Manager Cluster Manager Data Access Layer
Adapters
Network Guru
Network
Element
Deployment
Planner
Hypervisor
Guru
2013 Trend Micro
25th Anniversary
Plugins
• Various ways to add more capability to
CloudStack
• Implements clearly defined interfaces
• All operations must be idempotent
• All calls are at transaction boundaries
• Compiles only against the Plugin API module
• Deployed on management server
2013 Trend Micro
25th Anniversary
Anatomy of a plugin
2013 Trend Micro
25th Anniversary
Anatomy of a Plugin
• Server Component:
– Can implement multiple
Plugin APIs to affect its
feature
– Can expose its own API
through Pluggable Service
so administrators can
configure the plugin
• ServerResource:
– Deployed co-located with
the physical resource
ServerResource
- Optional. Required if Plugin needs to be co-
located with the resource
- Implements translation layer to talk to resource
- Communicates with server component via JSON
Rest API
PluginAPI
Data Access Layer
Implementation
2013 Trend Micro
25th Anniversary
Components of an plug-in
• PluggableService that defines APIs to configure
the plug-in
• ServerResource extension that is meant to be run
co-located with the resource
• 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
2013 Trend Micro
25th Anniversary
Adding a Plugin to CloudStack
• 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 properties file
2013 Trend Micro
25th Anniversary
Components.xml Example
<components.xml>
......
<management-server class="com.cloud.server.ManagementServerExtImpl"
library="com.cloud.configuration.PremiumComponentLibrary">
.......
<pluggableservice name="VirtualRouterElementService”
key="com.cloud.network.element.VirtualRouterElementService"
class="com.cloud.network.element.VirtualRouterElement"/>
</management-server>
......
</components.xml>
2013 Trend Micro
25th Anniversary
Practical Example
2013 Trend Micro
25th Anniversary
• CS does an excellent job for building clouds
• Growing needs for solutions to secure the Cloud
• Seek security solutions to work with CS
• Works for both private and public cloud
• Multi-tenant ,self-service,
• Easy to provision
• Resource effective
• Easy to integrate
• ElasterShield to combine the existing security
solution with CloudStack
Third party security solution integration
2013 Trend Micro
25th Anniversary
Brief intro to ElasterShield
• Bridge between DeepSecurity and
CloudStack
• Hypervisor-based, agentless security
protection
• Features
• Firewall (L2, L3, L4)
• IDS/IPS
• Application Control
• Web server protection
• Anti-malware
• XenServer
ElasterShield
CloudStack API
DeepSecurity API
2013 Trend Micro
25th Anniversary
Hypervisor
Hypervisor-based
• Agentless for user VM, need an
‘appliance’ on hypervisor
• Capture network traffics
• Scan VM memory
• Can work with any complex
network environment
User VM
User VM
Appliance
2013 Trend Micro
25th Anniversary
Hypervisor-Based Solution
• Security Manager (DSM)
• Storing rules/profiles
• Provide UI/ web service API
• Send command to DSVA
DSM
Hypervisor
User VM
Hypervisor
User VMDSVA
DSVA• Security Virtual Appliance (DSVA)
• One for each hypervisor
• Hypervisor redirects VM’s traffic to
DSVA
• Includes an engine to do the
detection/prevention
• Bi-directional communicate
between DSM and DSVA
• No impact to user VM if DSVA stops
2013 Trend Micro
25th Anniversary
Integrate as a CS Plug-in
• Security as a service, DeepSecurity as a service provider
– Multi-tenant, defined by admins, subscribed by users,
provisioned to VMs
• No modification on CloudStack kernel, keep it as it is
• Provide new security related APIs
• Treat DSM as a external device and send commands to it
• DSVA monitor and security management
• Tailor User VM lifecycle and Hypervisor management
with existing CloudStack framework
2013 Trend Micro
25th Anniversary
Architecture Overview
CloudStack
Kernel
ElasterShield DSM
Hypervisor
DSVA
User VM
Hypervisor
DSVA
User VM
DS APINew CS API
Managed by CS
2013 Trend Micro
25th Anniversary
Workflow: Add DSM
CloudStack Manager
ElasterShield Plug-in
DSM
2) Connect to DSM1) Call plug-in API
Database 3) Persist into DB
1) Admin user or external UI calls Plug-in API
• Parameters include DSM url/account/password
• One DSM per data center
2) Plug-in calls DSM’s APIs to:
• test connection with specified authentication
• Get DSM info such like version, license, etc.
3) Plug-in persists the DSM info into CS database
2013 Trend Micro
25th Anniversary
Workflow: Enable Security protection
CloudStack
Manager
ES Plug-in DSM
3) Activate DSVA
1 ) Call plug-in API:
1) Admin user or external UI calls plug-in
API
2) ES Plug-in deploys DSVA
• Deploy DSVA on each host of the
cluster
• With specified service offering
and template
• Start DSVA
3) Activate DSVA
• Plug-in calls DSM API to activate
each DSVA
Hypervisor
2) Start DSVA on each
hypervisor of the cluster
Hypervisor
DSVA DSVA
2013 Trend Micro
25th Anniversary
Workflow: Define Security Profiles
CloudStack Manager
ElasterShield Plug-in
DSM
2) Call DSM API
1) Call plug-in API
• For this Stage, this will be not implemented in plug-in, because it’s
product-specific
• Admins use DSM’s UI to define profiles
• Users use Plug-in API to list and apply profiles
Admin defines
Rules/profiles
2013 Trend Micro
25th Anniversary
Workflow: Apply security offering
CloudStack Manager
ElasterShield Plug-in
DSM
3) Call DSM API,1) Call plug-in API
1) User or external UI calls plug-in API
• Specify VM id and security offering id
2) Plug-in persists <VM, offering> mapping into DB
• Address multi-tenant problem
3) Plug-in calls DSM API to assign corresponding profile if VM is running
Database 2) Persist into DB
2013 Trend Micro
25th Anniversary
Workflow: Add a new host
CloudStack Manager
ElasterShield Plug-in
DSM
5) Call DSM API to activate
1) Call CS API
addHost
1) User or UI calls CS API
2) CS add a new hypervisor host as usual
3) Deploy DSVA
4) Plug-in persist DSVA info
Hypervisor
DSVA
2) Add host 3) Deploy DSVA
2013 Trend Micro
25th Anniversary
Workflow: Maintain a host
CloudStack Manager
ElasterShield Plug-in
DSM
3) Call DSM API to de-activate DSVA
1) Call CS API
prepareHostForMaintenance
1) User or UI calls CS API
2) Stop DSVA on it
• update DSVA status into DB
3) Plug-in call DSM API to deactivate DSVA
• unassign security profiles to VMs that cannot be migrated
Hypervisor
DSVA
2) Power off DSVA
2013 Trend Micro
25th Anniversary
Workflow: Start Virtual Machine
CloudStack Manager
ElasterShield Plug-in
DSM
3) Fetch VM info
1) Call CS API
startVirtualMachine
1) User or UI calls CS API
2) CS checks DSVA status and starts user VM as usual
3) DSM calls CS API to fetch VM ‘s information
4) DSM notifies DSVA in the same hypervisor with VM
Hypervisor
DSVA
User VM
2) Start User VM
4) DSM notifies ESVA
2013 Trend Micro
25th Anniversary
Workflow: Stop Virtual Machine
CloudStack Manager
ElasterShield Plug-in
DSM
3) Fetch VM info
1) Call CS API
stopVirtualMachine
1) User or UI calls CS API
2) CS powers off user VM as usual
3) DSM calls CS API to fetch VM’s information
4) DSM notifies DSVA in the same hypervisor with VM
Hypervisor
DSVA
User VM
2) Stop user VM
4) DSM notifies DSVA
2013 Trend Micro
25th Anniversary
Workflow: Destroy Virtual Machine
CloudStack Manager
ElasterShield Plug-in
1) Call CS API
destroyVirtualMachine
1) User or UI calls CS API
• VM is destroyed as usual by CS
2) When VM gets expunged, plug-in removes <VM, profile> mapping from
DB
• VirtualMachineGuru.finalizeExpunge
Database
2) Remove from DB
2013 Trend Micro
25th Anniversary
Workflow: Query Events/Alerts
CloudStack Manager
ElasterShield Plug-in
1) Call plug-in API
1) User or external UI calls plug-in APIx
• With query parameters such as time, VM id, user id, etc
2) Plug-in calls DSM’s API to fetch events/alerts
2) Call DSM API
DSM
2013 Trend Micro
25th Anniversary
Workflow: DSVA upgrading
CloudStack Manager
ElasterShield Plug-in
DSM
2) Call DSM API to upgrade
1) Call plug-in
API
1) Call plug-in API to upgrade DSVA , with a URL parameter
2) Plug-in forward the API to DSM
3) DSM notifies all DSVA to upgrade
4) DSVA downloads upgrading package from the URL specified
5) DSVA upgrade itself, it still functions during the upgrading.
Hypervisor
DSVA
3) Notify DSVA
Web server
4) Download upgrade package
2013 Trend Micro
25th Anniversary
ElasterShield Installation
• Target: CloudStack 4.0 and later
• Installation package
– Plug-in binary - ElasterShield
– DSM installation package/binary
– DSVA template
2013 Trend Micro
25th Anniversary
Q & A
2013 Trend Micro
25th Anniversary
Thank You

More Related Content

What's hot

Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex HenevaldCloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
buildacloud
 
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)
Mirantis
 
Openstack architecture for the enterprise (Openstack Ireland Meet-up)
Openstack architecture for the enterprise (Openstack Ireland Meet-up)Openstack architecture for the enterprise (Openstack Ireland Meet-up)
Openstack architecture for the enterprise (Openstack Ireland Meet-up)
Keith Tobin
 

What's hot (20)

Cloud orchestration major tools comparision
Cloud orchestration major tools comparisionCloud orchestration major tools comparision
Cloud orchestration major tools comparision
 
CloudStack Overview
CloudStack OverviewCloudStack Overview
CloudStack Overview
 
OpenStack Super Bootcamp.pdf
OpenStack Super Bootcamp.pdfOpenStack Super Bootcamp.pdf
OpenStack Super Bootcamp.pdf
 
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex HenevaldCloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
 
Apache CloudStack from API to UI
Apache CloudStack from API to UIApache CloudStack from API to UI
Apache CloudStack from API to UI
 
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)
 
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
 
Openstack architecture for the enterprise (Openstack Ireland Meet-up)
Openstack architecture for the enterprise (Openstack Ireland Meet-up)Openstack architecture for the enterprise (Openstack Ireland Meet-up)
Openstack architecture for the enterprise (Openstack Ireland Meet-up)
 
CloudStack Networking at CloudOpen Japan
CloudStack Networking at CloudOpen JapanCloudStack Networking at CloudOpen Japan
CloudStack Networking at CloudOpen Japan
 
Cloud Computing Open Stack Compute Node
Cloud Computing Open Stack Compute NodeCloud Computing Open Stack Compute Node
Cloud Computing Open Stack Compute Node
 
Virtual Router in CloudStack 4.4
Virtual Router in CloudStack 4.4Virtual Router in CloudStack 4.4
Virtual Router in CloudStack 4.4
 
CloudStack Architecture
CloudStack ArchitectureCloudStack Architecture
CloudStack Architecture
 
Openstack Fundamentals by CloudZone @Back2School
Openstack Fundamentals by CloudZone @Back2SchoolOpenstack Fundamentals by CloudZone @Back2School
Openstack Fundamentals by CloudZone @Back2School
 
Quick overview of Openstack architecture
Quick overview of Openstack architectureQuick overview of Openstack architecture
Quick overview of Openstack architecture
 
OpenStack 101 update
OpenStack 101 updateOpenStack 101 update
OpenStack 101 update
 
Cloud stack vs openstack vs eucalyptus
Cloud stack vs openstack vs eucalyptusCloud stack vs openstack vs eucalyptus
Cloud stack vs openstack vs eucalyptus
 
CloudStack Best Practice in PPTV
CloudStack Best Practice in PPTVCloudStack Best Practice in PPTV
CloudStack Best Practice in PPTV
 
Openstack architure part 1
Openstack architure part 1Openstack architure part 1
Openstack architure part 1
 
Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
 Openstack - An introduction/Installation - Presented at Dr Dobb's conference... Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
 
Deploy an Elastic, Resilient, Load-Balanced Cluster in 5 Minutes with Senlin
Deploy an Elastic, Resilient, Load-Balanced Cluster in 5 Minutes with SenlinDeploy an Elastic, Resilient, Load-Balanced Cluster in 5 Minutes with Senlin
Deploy an Elastic, Resilient, Load-Balanced Cluster in 5 Minutes with Senlin
 

Similar to Session 1 - CloudStack Plugin Structure and Implementation (2013.Q3)

Session 3 - CloudStack Test Automation and CI
Session 3 - CloudStack Test Automation and CISession 3 - CloudStack Test Automation and CI
Session 3 - CloudStack Test Automation and CI
tcloudcomputing-tw
 
Unconference Round Table Notes
Unconference Round Table NotesUnconference Round Table Notes
Unconference Round Table Notes
Timothy Spann
 

Similar to Session 1 - CloudStack Plugin Structure and Implementation (2013.Q3) (20)

VMUGIT UC 2013 - 03b Trend Micro
VMUGIT UC 2013 - 03b Trend MicroVMUGIT UC 2013 - 03b Trend Micro
VMUGIT UC 2013 - 03b Trend Micro
 
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...
 
Session 3 - CloudStack Test Automation and CI
Session 3 - CloudStack Test Automation and CISession 3 - CloudStack Test Automation and CI
Session 3 - CloudStack Test Automation and CI
 
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
 
Windows azure overview for SharePoint Pros
Windows azure overview for SharePoint Pros Windows azure overview for SharePoint Pros
Windows azure overview for SharePoint Pros
 
2014-09-15 cloud platform master class
2014-09-15 cloud platform master class2014-09-15 cloud platform master class
2014-09-15 cloud platform master class
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
 
CloudStack - Top 5 Technical Issues and Troubleshooting
CloudStack - Top 5 Technical Issues and TroubleshootingCloudStack - Top 5 Technical Issues and Troubleshooting
CloudStack - Top 5 Technical Issues and Troubleshooting
 
PRIVATE CLOUD SERVER IMPLEMENTATIONS FOR DATA STORAGE
PRIVATE CLOUD SERVER IMPLEMENTATIONS FOR DATA STORAGEPRIVATE CLOUD SERVER IMPLEMENTATIONS FOR DATA STORAGE
PRIVATE CLOUD SERVER IMPLEMENTATIONS FOR DATA STORAGE
 
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 PreviewCloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
 
Designing CloudStack Clouds
Designing CloudStack CloudsDesigning CloudStack Clouds
Designing CloudStack Clouds
 
Webinar Fondazione CRUI e VMware: VMware vRealize Suite
 Webinar Fondazione CRUI e VMware: VMware vRealize Suite Webinar Fondazione CRUI e VMware: VMware vRealize Suite
Webinar Fondazione CRUI e VMware: VMware vRealize Suite
 
Mastering the move
Mastering the moveMastering the move
Mastering the move
 
Tungsten Webinar: v6 & v7 Release Recap, and Beyond
Tungsten Webinar: v6 & v7 Release Recap, and BeyondTungsten Webinar: v6 & v7 Release Recap, and Beyond
Tungsten Webinar: v6 & v7 Release Recap, and Beyond
 
Enter The Matrix Securing Azure’s Assets
Enter The Matrix Securing Azure’s AssetsEnter The Matrix Securing Azure’s Assets
Enter The Matrix Securing Azure’s Assets
 
Migrating Monoliths to Microservices -- M3
Migrating Monoliths to Microservices -- M3Migrating Monoliths to Microservices -- M3
Migrating Monoliths to Microservices -- M3
 
Unconference Round Table Notes
Unconference Round Table NotesUnconference Round Table Notes
Unconference Round Table Notes
 
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
 
Challenges In Modern Application
Challenges In Modern ApplicationChallenges In Modern Application
Challenges In Modern Application
 

Recently uploaded

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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
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
 
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
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
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
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

Session 1 - CloudStack Plugin Structure and Implementation (2013.Q3)

  • 1. 2013 Trend Micro 25th Anniversary CLOUDSTACK PLUGIN STRUCTURE AND IMPLEMENTATION TCloud Computing, Inc.
  • 2. 2013 Trend Micro 25th Anniversary Outline • Management Internal • Anatomy of Plugin • Practical Example – Third Party Security Solution
  • 3. 2013 Trend Micro 25th Anniversary Management Server Internal
  • 4. 2013 Trend Micro 25th Anniversary Architecture Overview •Includes all the implementation of CloudStack's HTTP Query API •Includes all supported Cloudstack Java Interfaces that can be used to bridge against external systems. Services •Defines all the processes of CloudStack Management Server. •Interacts with the Adapter Framework to provide customizations to this process. Management •Contains the implementation that map CloudStack commands to the various physical elements including network, storage, and hypervisor resources Resources •Contains the implementation to the Database Access layer. Currently it is MySQL but does not have to be limited to a database. Data Access
  • 5. 2013 Trend Micro 25th Anniversary Service Layer • Synchronous command – Scope of mgmt server or to the database – Short-live • Asynchronous command – Require a call to an external system – Take long time • Command configuration – commands.properties – <command name>=<fully qualified java classname>;<ACL>
  • 6. 2013 Trend Micro 25th Anniversary Management Layer • Kernel of CloudStack • Manager – Singleton to control a process • Adapter – Different ways to implement the same functionality. – Often used when there can be multiple ways to implement that step. • Configuration – components.xml
  • 7. 2013 Trend Micro 25th Anniversary Resource Layer • Map commands to the physical elements – Hypervisor resource – Network resoure – Storage resource
  • 8. 2013 Trend Micro 25th Anniversary Inside a Management Server API Servlet Async Job Queue Mgr CS API Services API Cmds Responses cmd.execute() Kernel Agent Manager Resources Agent API (Commands) Hypervisor Native APIs Local Or Remote Network Device API MySQL
  • 9. 2013 Trend Micro 25th Anniversary Accounts Security Manager Events Manager Usage Manager Domain Manager Account Manager Limits Manager CloudStack Orchestration VirtualMachine Manager StorageManager NetworkManager Template Manager Snapshot Manager CloudStack WebServices API OAM&P API End User API AWS API Pluggable Service API Engine CloudStack Plugins NetScalerNetwrokServiceProvider VirtualRouterNetwrokServiceProvider Business Logic Resource Manager Rules Manager Update Manager HA Manager Capacity Manager Framework Agent Manager Cluster Manager Data Access Layer Adapters Network Guru Network Element Deployment Planner Hypervisor Guru
  • 10. 2013 Trend Micro 25th Anniversary Plugins • Various ways to add more capability to CloudStack • Implements clearly defined interfaces • All operations must be idempotent • All calls are at transaction boundaries • Compiles only against the Plugin API module • Deployed on management server
  • 11. 2013 Trend Micro 25th Anniversary Anatomy of a plugin
  • 12. 2013 Trend Micro 25th Anniversary Anatomy of a Plugin • Server Component: – Can implement multiple Plugin APIs to affect its feature – Can expose its own API through Pluggable Service so administrators can configure the plugin • ServerResource: – Deployed co-located with the physical resource ServerResource - Optional. Required if Plugin needs to be co- located with the resource - Implements translation layer to talk to resource - Communicates with server component via JSON Rest API PluginAPI Data Access Layer Implementation
  • 13. 2013 Trend Micro 25th Anniversary Components of an plug-in • PluggableService that defines APIs to configure the plug-in • ServerResource extension that is meant to be run co-located with the resource • 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
  • 14. 2013 Trend Micro 25th Anniversary Adding a Plugin to CloudStack • 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 properties file
  • 15. 2013 Trend Micro 25th Anniversary Components.xml Example <components.xml> ...... <management-server class="com.cloud.server.ManagementServerExtImpl" library="com.cloud.configuration.PremiumComponentLibrary"> ....... <pluggableservice name="VirtualRouterElementService” key="com.cloud.network.element.VirtualRouterElementService" class="com.cloud.network.element.VirtualRouterElement"/> </management-server> ...... </components.xml>
  • 16. 2013 Trend Micro 25th Anniversary Practical Example
  • 17. 2013 Trend Micro 25th Anniversary • CS does an excellent job for building clouds • Growing needs for solutions to secure the Cloud • Seek security solutions to work with CS • Works for both private and public cloud • Multi-tenant ,self-service, • Easy to provision • Resource effective • Easy to integrate • ElasterShield to combine the existing security solution with CloudStack Third party security solution integration
  • 18. 2013 Trend Micro 25th Anniversary Brief intro to ElasterShield • Bridge between DeepSecurity and CloudStack • Hypervisor-based, agentless security protection • Features • Firewall (L2, L3, L4) • IDS/IPS • Application Control • Web server protection • Anti-malware • XenServer ElasterShield CloudStack API DeepSecurity API
  • 19. 2013 Trend Micro 25th Anniversary Hypervisor Hypervisor-based • Agentless for user VM, need an ‘appliance’ on hypervisor • Capture network traffics • Scan VM memory • Can work with any complex network environment User VM User VM Appliance
  • 20. 2013 Trend Micro 25th Anniversary Hypervisor-Based Solution • Security Manager (DSM) • Storing rules/profiles • Provide UI/ web service API • Send command to DSVA DSM Hypervisor User VM Hypervisor User VMDSVA DSVA• Security Virtual Appliance (DSVA) • One for each hypervisor • Hypervisor redirects VM’s traffic to DSVA • Includes an engine to do the detection/prevention • Bi-directional communicate between DSM and DSVA • No impact to user VM if DSVA stops
  • 21. 2013 Trend Micro 25th Anniversary Integrate as a CS Plug-in • Security as a service, DeepSecurity as a service provider – Multi-tenant, defined by admins, subscribed by users, provisioned to VMs • No modification on CloudStack kernel, keep it as it is • Provide new security related APIs • Treat DSM as a external device and send commands to it • DSVA monitor and security management • Tailor User VM lifecycle and Hypervisor management with existing CloudStack framework
  • 22. 2013 Trend Micro 25th Anniversary Architecture Overview CloudStack Kernel ElasterShield DSM Hypervisor DSVA User VM Hypervisor DSVA User VM DS APINew CS API Managed by CS
  • 23. 2013 Trend Micro 25th Anniversary Workflow: Add DSM CloudStack Manager ElasterShield Plug-in DSM 2) Connect to DSM1) Call plug-in API Database 3) Persist into DB 1) Admin user or external UI calls Plug-in API • Parameters include DSM url/account/password • One DSM per data center 2) Plug-in calls DSM’s APIs to: • test connection with specified authentication • Get DSM info such like version, license, etc. 3) Plug-in persists the DSM info into CS database
  • 24. 2013 Trend Micro 25th Anniversary Workflow: Enable Security protection CloudStack Manager ES Plug-in DSM 3) Activate DSVA 1 ) Call plug-in API: 1) Admin user or external UI calls plug-in API 2) ES Plug-in deploys DSVA • Deploy DSVA on each host of the cluster • With specified service offering and template • Start DSVA 3) Activate DSVA • Plug-in calls DSM API to activate each DSVA Hypervisor 2) Start DSVA on each hypervisor of the cluster Hypervisor DSVA DSVA
  • 25. 2013 Trend Micro 25th Anniversary Workflow: Define Security Profiles CloudStack Manager ElasterShield Plug-in DSM 2) Call DSM API 1) Call plug-in API • For this Stage, this will be not implemented in plug-in, because it’s product-specific • Admins use DSM’s UI to define profiles • Users use Plug-in API to list and apply profiles Admin defines Rules/profiles
  • 26. 2013 Trend Micro 25th Anniversary Workflow: Apply security offering CloudStack Manager ElasterShield Plug-in DSM 3) Call DSM API,1) Call plug-in API 1) User or external UI calls plug-in API • Specify VM id and security offering id 2) Plug-in persists <VM, offering> mapping into DB • Address multi-tenant problem 3) Plug-in calls DSM API to assign corresponding profile if VM is running Database 2) Persist into DB
  • 27. 2013 Trend Micro 25th Anniversary Workflow: Add a new host CloudStack Manager ElasterShield Plug-in DSM 5) Call DSM API to activate 1) Call CS API addHost 1) User or UI calls CS API 2) CS add a new hypervisor host as usual 3) Deploy DSVA 4) Plug-in persist DSVA info Hypervisor DSVA 2) Add host 3) Deploy DSVA
  • 28. 2013 Trend Micro 25th Anniversary Workflow: Maintain a host CloudStack Manager ElasterShield Plug-in DSM 3) Call DSM API to de-activate DSVA 1) Call CS API prepareHostForMaintenance 1) User or UI calls CS API 2) Stop DSVA on it • update DSVA status into DB 3) Plug-in call DSM API to deactivate DSVA • unassign security profiles to VMs that cannot be migrated Hypervisor DSVA 2) Power off DSVA
  • 29. 2013 Trend Micro 25th Anniversary Workflow: Start Virtual Machine CloudStack Manager ElasterShield Plug-in DSM 3) Fetch VM info 1) Call CS API startVirtualMachine 1) User or UI calls CS API 2) CS checks DSVA status and starts user VM as usual 3) DSM calls CS API to fetch VM ‘s information 4) DSM notifies DSVA in the same hypervisor with VM Hypervisor DSVA User VM 2) Start User VM 4) DSM notifies ESVA
  • 30. 2013 Trend Micro 25th Anniversary Workflow: Stop Virtual Machine CloudStack Manager ElasterShield Plug-in DSM 3) Fetch VM info 1) Call CS API stopVirtualMachine 1) User or UI calls CS API 2) CS powers off user VM as usual 3) DSM calls CS API to fetch VM’s information 4) DSM notifies DSVA in the same hypervisor with VM Hypervisor DSVA User VM 2) Stop user VM 4) DSM notifies DSVA
  • 31. 2013 Trend Micro 25th Anniversary Workflow: Destroy Virtual Machine CloudStack Manager ElasterShield Plug-in 1) Call CS API destroyVirtualMachine 1) User or UI calls CS API • VM is destroyed as usual by CS 2) When VM gets expunged, plug-in removes <VM, profile> mapping from DB • VirtualMachineGuru.finalizeExpunge Database 2) Remove from DB
  • 32. 2013 Trend Micro 25th Anniversary Workflow: Query Events/Alerts CloudStack Manager ElasterShield Plug-in 1) Call plug-in API 1) User or external UI calls plug-in APIx • With query parameters such as time, VM id, user id, etc 2) Plug-in calls DSM’s API to fetch events/alerts 2) Call DSM API DSM
  • 33. 2013 Trend Micro 25th Anniversary Workflow: DSVA upgrading CloudStack Manager ElasterShield Plug-in DSM 2) Call DSM API to upgrade 1) Call plug-in API 1) Call plug-in API to upgrade DSVA , with a URL parameter 2) Plug-in forward the API to DSM 3) DSM notifies all DSVA to upgrade 4) DSVA downloads upgrading package from the URL specified 5) DSVA upgrade itself, it still functions during the upgrading. Hypervisor DSVA 3) Notify DSVA Web server 4) Download upgrade package
  • 34. 2013 Trend Micro 25th Anniversary ElasterShield Installation • Target: CloudStack 4.0 and later • Installation package – Plug-in binary - ElasterShield – DSM installation package/binary – DSVA template
  • 35. 2013 Trend Micro 25th Anniversary Q & A
  • 36. 2013 Trend Micro 25th Anniversary Thank You