Cloud Foundry


Error

You must log in or register to view this page

Cloud Foundry is an open-source, multi-cloud application platform as a service (PaaS). It is designed to help the developers build, deploy, run, and scale applications while minimizing concerns about the underlying infrastructure. Cloud Foundry provides a runtime environment for you to simply push code, and it also handles provisioning servers, networking, and scaling. The platform works on top of different infrastructures, such as AWS, Google Cloud, Microsoft Azure, OpenStack, and VMware vSphere.

Architecture

Cloud Foundry consists of the following nodes (as shown in the diagram):

  • Organizations (AdminCollection node) — An organization is a development account that a single or multiple collaborators can own and use. All collaborators access an organization with user accounts. Collaborators in an organization share a resource quota plan, applications, service availability, and custom domains.

  • Spaces (Namespace node) — Every application and service is scoped to a space. Each organization contains at least one space. A space provides users with access to a shared location for application development, deployment, and maintenance.

  • Apps (Deployment node) — Apps are top-level objects that link together and contain configuration information for your packages, droplets, processes, tasks, and more.

  • Processes (SoftwareContainer node) — Processes define the runnable units of an app. An app can have multiple process types, each with differing commands and scale.

1758011073593-353.drawio.png

Important
Discovery creates a HostedSoftware relationship between SoftwareContainer and Host if Host was scanned by using SSH before the Cloud Foundry API scan.

Platforms supported by the pattern

The pattern discovers Cloud Foundry instances on cloud and on-premises deployments by using API scan.

Identification

To run a discovery of the product, the pattern must be triggered. This section describes conditions under which the pattern can be triggered.

Pattern triggers

The following table gives details about the pattern triggers:

PatternTrigger nodeAttributeConditionArgument
CloudFoundryAPIDiscoveredAPIProviderResultList

discovery_method

=

"CloudFoundry.ListOrganizations"

CloudFoundrySpacesAPINamespacetype "Cloud Foundry Space"

API provider discovery

Cloud Foundry is discovered by executing REST API queries and processing the obtained data.

The following image shows how Cloud Foundry API credentials are added in the BMC Helix Discovery UI:

1758012017160-349.png

The following image shows how a Cloud Foundry API scan is set before its launch:

1758012109599-712.png

API queries

The CloudFoundry.API pattern module executes the following REST API requests:

  • /v3/apps
  • /v3/apps?space_guids={guid}
  • /v3/info
  • /v3/organizations
  • /v3/organization_quotas/{guid}
  • /v3/processes
  • /v3/processes?space_guids={guid}
  • /v3/processes/{guid}/stats
  • /v3/routes
  • /v3/routes?space_guids={guid}
  • /v3/spaces

For more details, see the official Cloud Foundry documentation.

Trigger

The CloudFoundryAPI pattern is triggered by DiscoveredAPIProviderResultList, where discovery_method = "CloudFoundry.ListOrganizations".

Discovery view

The following figure shows an example of the Organizations (AdminCollection node) modeling:

1758013028120-792.png

The following figure shows an example of the Spaces (Namespace node) modeling:

1758013093805-125.png

The following figure shows an example of the Apps (Deployment node) modeling:

1758013142888-294.png

The following figure shows an example of the Processes (SoftwareContainer node) modeling:

1758013175554-801.png

Subject matter expertise

Inputs from subject matter experts are welcome on any other potential approaches not discussed in this topic.

Testing

The pattern has been tested against the available customer data.

Open issues

There are no known open issues with this pattern.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

BMC Discovery content reference