Service Brokers vs. Building Blocks
Building Blocks are the meshStack's standard mechanism to repetitively roll out infrastructure across workspaces. Building Blocks are the recommended way of doing so. Besides Building Blocks, meshStack also supports OSB Services, which can be relevant if you have an existing investment into OSB Services. This page aims to help you understand how these two mechanisms compare.
Building Blocks are currently more actively being worked on, but the Service Broker-based on OSB Services Platform (old meshMarketplace) will continue to be supported in the future.
The table below describes each capability and to what extent it is supported by the respective feature (Building Blocks or Service Brokers)
โ - supported
๐จ - works to some extent
โฐ - not supported yet
โ - not supported and not planned for the future
Building Blocks | Service Brokers | |
---|---|---|
Provision resources with Terraform | โ This works very easily | ๐จ Works using UniPipe Service Broker, but requires more implementation effort |
Run Custom Processes outside of Terraform | โ Async provisioning is supported and allows writing back status updates from external systems into meshStack | โ Service Brokers run on OSB API which means you can build anything you want as long as the interface is compliant with OSB API |
Automated Deletion of Resource | โ
Terraform Building Blocks can run tf destroy automatically | ๐จ Possible but logic needs to be implemented in the service broker |
Request User Configuration | โ You can define a form for your users via the UI | โ Works with JSON schema and allows for a lot of different variations |
Manage Instances via API | โ | โ But missing deletion of meshServiceInstances |
Manage Definitions via API | โฐ | โ |
Custom Pricing Models | โ via meshResourceUsageReports API | โ Can be made part of the definition |
Sandbox Development Process | โ Developers can test drafts of building blocks that cannot be booked by any other workspaces | โ Developers can create a private service broker that cannot be booked by any other workspaces |
Allow non-admins to contribute | โ Workspace users offer building blocks via the service management area and get it approved by an Admin to be used by other workspaces in the meshStack | โ Workspace users integrate service broker and get it approved by an Admin to be used by other workspaces in the meshStack |
Versioning | โ | โ Not possible. There is no such thing as service versions |
Works without cloud platforms | โ Building Blocks can create a tenant as part of a custom platform | โ Service Brokers work without having a cloud tenant |
View all consumption in Admin Area | โ There is a list with all building blocks in the Admin Area | โ There is only a list of service brokers but not service instances |
Tag and Policy Support | โ | โ |
Integration on Landing Zones | โ Can be set as recommended or mandatory on a landing zone | โ |
Define Interdependencies | โ | โ |
Share Instances between Projects | โฐ | โ Service Instances can be shared between Projects |