cf-mta-examples icon indicating copy to clipboard operation
cf-mta-examples copied to clipboard

The repository contains multitarget application (MTA) examples for SAP BTP, Cloud Foundry environment. Examples demonstrate how to achieve different goals using MTAs and show the capabilities of MTA d...

Description

image:https://api.reuse.software/badge/github.com/SAP-samples/cf-mta-examples["REUSE status", link="https://api.reuse.software/info/github.com/SAP-samples/cf-mta-examples"]

The repository contains Multitarget Application (MTA) examples for SAP Business Technology Platform Cloud Foundry environment. Examples demonstrate how to achieve different goals using MTAs and what are the capabilities of SAP Cloud Deployment service in Cloud Foundry environment.

Before you start with the examples, please make sure that:

  • You are familiar with the basic concepts of Cloud Foundry, such as Cloud Foundry applications, services, service bindings
  • You are familiar with the basic concepts of MTA modeling, such as MTA modules, resources and dependencies between them. For more information, you may refer to official documentation for Multitarget Applications for the Cloud Foundry Environment on the SAP Help Portal: link:https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/d04fc0e2ad894545aebfd7126384307c.html[Multitarget Applications for the Cloud Foundry Environment]

Requirements

  • Access to link:https://sap.com/products/business-technology-platform.html[SAP Business Technology Platform Cloud Foundry environment]. There you need to have link:https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/b328cc89ea14484d9655b8cfb8efb508.html[account]. MTA examples will be deployed in some of the account's organization and space.
  • Installed CloudFoundry CLI - ensure that CloudFoundry CLI is installed and working. For more information about installation of CloudFoundry CLI, please visit the official link:https://docs.cloudfoundry.org/cf-cli/install-go-cli.html[CloudFoundry Documentation]. For the examples, CloudFoundry CLI v7 beta is not supported. You need to have v6.4x.
  • Installed MultiApps CF CLI Plugin - ensure that MultiApps CF CLI Plugin is installed and working. For more information, please visit the official link:https://github.com/cloudfoundry-incubator/multiapps-cli-plugin#download-and-installation[GitHub Page]
  • [Optional] Installed Cloud MTA Build Tool - the tool is used in some of the listed use cases. For more information please visit the official link:https://sap.github.io/cloud-mta-build-tool/[Cloud MTA Build Tool Documentation]

Download and Installation

Clone the repository, following the link:https://help.github.com/en/github/creating-cloning-and-archiving-repositories/cloning-a-repository[instructions].

MTA use case examples

Deploy CF Apps

  • link:/cf-app[Simple CF app example, managing app attributes & deploy parameters]
  • link:/cf-app-docker[Docker images as cf apps]
  • link:/app-routes[Managing cf app routes]
  • link:/sharing-values-between-apps[Sharing configuration values between apps]

SAP Content Deployment

  • link:/content-deployment/[SAP Content Deployment] ** link:/content-deployment/html5-content-deployment/[HTML5 Application Content Deployment] ** link:/content-deployment/html5-content-deployment/with-existing-key[Content Deployment to an Existing Service Key] ** link:/content-deployment/html5-content-deployment/with-user-provided-service[Content Deployment to a User-Provided Service]

Manage CF Services

  • link:/create-managed-services[Service and Binding creation]
  • link:/user-provided-service[Manage User-Provided Service Instances]
  • link:/active-optional-resources[Optional and Active Service Instances]

Share configuration values between MTAs via a configuration registry

  • link:/cross-mta-configurations[Cross MTA Configurations]

Managing deployment configurations

  • link:/modify-packaged-mta[Modifying an assembled MTA archive]
  • link:/extension-descriptor-different-environments[Configure same MTA for different environments]
  • link:/extension-descriptor-hanatrial[Configure MTA with HANA services for Trial accounts]
  • link:/externalize-services-configurations[Externalize service parameters to file]

Parallel deployment

Optimize deploy time by executing deploy operations in parallel

  • link:/parallel-deployment[Parallel module deployment]

Sequential resource processing

  • link:/deploy-with-sequential-resources[Sequential resource processing]

Zero downtime update

  • link:/blue-green-deploy-legacy[Legacy Blue-green deployment]
  • link:/blue-green-deploy-strategy/[Deploy with Blue-green strategy]

Idle host and domain during blue-green deployment

  • link:/idle-parameters[Idle route(s), idle host(s) and idle domain(s)]

Solution development efficiency

  • link:/partial-build-deploy[Build/Assemble & Deploy only a parts of an MTA]

Preserve manually modified app state

  • link:/keep-existing-routes[Keep exisiting routes on update]
  • link:/keep-existing-bindings[Keep exisiting service bindings on update]
  • link:/keep-existing-env[Keep exisiting app env variables on update]

Deploy a remote MTAR

  • link:/deploy-with-url[Deploy with a URL reference]

Limitations

Most examples are generic for link:https://github.com/cloudfoundry-incubator/multiapps-controller[MultiApps Controller] that is the standard MTA Deployment service for Cloud Foundry. Some, however are runnable only on SAP Business Technology Platform Cloud Foundry, because of speciffic service offerings or functionalities available only there.

Known Issues

Not detected issues

How to obtain support

Create an issue, following the link:https://help.github.com/en/github/managing-your-work-on-github/creating-an-issue[instructions].

License

Copyright (c) 2020 SAP SE or an SAP affiliate company. All rights reserved. This project is licensed under the Apache Software License, version 2.0 except as noted otherwise in the LICENSE file.