A Technical Overview of the Service Broker Platform for Consumers

This article was written by Cody De Arkland, originally posted here.

In our previous post we discussed Cloud Assembly, VMware’s service and machine provisioning automation tool.

The interface for Cloud Assembly primarily acts as an administrator view of the platform. A cloud administrator builds blueprints and services for users to consume, working directly with Infrastructure-as-Code and cloud endpoints.

But what about the user consumption model? What view does the user’ see when they come into the environment? Enter Service Broker.
 

 

Service Broker: A Storefront for the End User

At its core, Service Broker is focused on exposing service provisioning to end users. Remember in Cloud Assembly when we created Projects that mapped cloud zone resources back to users? Those projects are also consumed here to create a Role-Based Access Control (RBAC) model around what users can see/interact with.

While we are still in an Initial Availability stage, Service Broker primarily exposes blueprints from Cloud Assembly and Amazon Cloudformation Templates. This functionality will be expanded in the near future to include Azure Resource Manager (ARM) templates.

The long term goal for Service Broker is a very exciting one. Imagine a portal where you can consume multi-cloud, multi-platform services at the click of a button. We’ll wrap these in the same governance you’ve come to expect from a cloud management platform, but offer additional resource types, visibility, and functionality.

For now, let’s focus on how we get started consuming blueprints and CFT’s.

Understanding Content

When we are logged in as an administrator (remember, this was configured in the project we set up earlier.) we will be initially taken to a Content Sources menu with no content visible.

If we were an end user, the only tabs we would see would be catalog and deployments.

Let’s begin by stepping through the simple left-hand menus.
 

 

  • Content Sources: The sources of your published content. Currently exposes Cloud Assembly blueprints and Amazon CloudFormation templates.
  • Content Sharing: Allows you to specify which catalog items you want to expose to a specific project. This gives greater granularity in exposing what items you want end users to be able to interact with and provision.
  • Content: A list of all currently published content. This is also where you can create custom forms around your existing blueprints.
  • Cloud Accounts: Interface for exposing additional Cloud Accounts from within Service Broker. This feature is still under construction.
  • Projects: A project interface for creating/editing projects from within Service Broker

    Content Sources

     

     
    When we select the new button, we are prompted to add a new Content Source. When we click the drop down, we can add either blueprints or CFT’s.
     

     
    Adding blueprints is extremely easy. We select the blueprints drop down, name our content source and hit the validate button.

    Service Broker will go out to Cloud Assembly and discover any released blueprints. This designation is important. If administrators have not released their content from a versioning standpoint, it will never appear in the catalog.

    As you can see from my screenshot below – I have seven blueprint items imported into the catalog.
     

     
    When we select create & import >New once again, we can add our CFTs. In my case, I’ve placed my CFT’s in a public facing S3 bucket for consumption. When I select the Cloud Formation Template dropdown and add the appropriate detail, a validate option will appear, at which time I’m presented with three catalog items being imported.
     

     
    When we select create & import again, and look at our content sources screen, we should see both of our sources added, with pertinent detail around which content is exposed.
     

     
    But we haven’t exposed our items yet. If we navigate back to our catalog screen, it’s still blank. What gives?

    Sharing Content on Service Broker

     

     
    Once our content sources are added, we need to share that content with end users. If we select Add Items we’re presented with a list of items we can share with the Lab project.
     
     
     
    If we check both of those boxes, then select save, we will have successfully shared the items in our catalog. When you navigate back to the catalog screen, all items you just published will now be visible.

    You could request these items here and be presented with the same options you are asked when you provision a resource from within Cloud Assembly.

    What if we want to update that form to be a bit more graphically appealing? What if we want to add some descriptors to the form? Additional menu choices? This is all possible using the Custom Forms capability within the Content submenu.

    Customising Your Forms

     

     
    When we navigate to the Content menu we see a listing of all our blueprints. Selecting the checkbox near one of those blueprints allows us to interact with the catalog item.

    We can use this interaction to access the Custom Forms menu and build a customized form around our object. For anyone who has worked in vRealize Automation 7.4 or 7.5 – this experience should look very familiar to you.
     

     
    From this canvas, there are several things we can do to improve this form:

  • Add a description for what the blueprint does
  • Add images to improve the look and feel
  • Change menu titles to something more user friendly
  • Create conditions between fields to automatically set values (if production, deploy X amount of web, and Y amount of app servers, for example)
  • Use your imagination.
     

     
    When this form is activated (switch on the upper right of the screen…) we can save the blueprint and navigate back to the Catalog screen to see our masterpiece.
     

     
    A much nicer experience than our previous form. What happens once we submit our form?

    It’s Time to Deploy.
     

     
    Once we submit our request, we’re able to navigate to the Deployments screen to review our request as it’s being processed.

    This is the same behavior we see in Cloud Assembly and speaks to us giving a consistent and integrated experience across the platform. In this screen, users will see all objects they are entitled to within their project – and can perform day-2 operations against them.

    The Best is yet to Come

    Service Broker is currently in Initial Availability, and there are a ton of items going into it before we hit General Availability.

    Breaking the provisioning and consumption interfaces into two separate platforms has countless benefits. As an administrator, you can have fine-grained control over the way you deploy and interact with resources from within the Cloud Assembly interface. For traditional users, you can provide a governed and simplified experience via Service Broker.

    Stay tuned as we continue to dive into the new Cloud Automation Services.

    Visit our website to learn more about Service Broker, and stay up to date by following us on Twitter at @VMwareCloudMgmt and @VMwareCAS

    Get started today with a free trial.

  • About the Authors

    Leave a Reply

    Your email address will not be published. Required fields are marked *