Application as a Service

Introduction

Welcome to the Application-as-a-Service Lab

Through the lab, you will learn how to configure App Launchpad (ALP), publish catalogs and deploy applications from Bitnami and VMware Cloud Marketplace.

Topics to be Covered:

Provider's Perspective

  1. Configure App Launchpad with VCD (alp connect command)
  2. Follow the App Launchpad wizard in VCD to finalize the configuration
  3. Show the integration with VMware Marketplace
  4. Create a catalog with Helm Charts
  5. Publish the Catalog

Tenant's Perspective

  1. Deploy containerised application from App Launchpad
  2. Configure and connect to deployed application
  3. Browse the application

 

Configure App Launchpad with VCD

The first step would be to connect to the App Launchpad that has been pre configured for this lab.

It is a virtual machine with CentOS 7 and the App Launchpad package already installed.

  1. Click on PuTTY on the taskbar as indicated in the above image.

Connect to the ALP server

  1. Scroll down
  2. Select vcd-alp.corp.local.
  3. Click the Open button

If needed, username: root and password: VMware1!

Connect App Launchpad to VCD

Using Pod Security Policies with Tanzu Kubernetes Clusters

Once you're logged in, enter the following alp connect command:

alp connect --sa-user svc_alp --sa-pass VMware1! --url https://vcd-01a.corp.local --admin-user admin@system --admin-pass VMware1! --mqtt

alp connect --sa-user svc_alp --sa-pass <service account password> --url <Cloud Director URL> --admin-user <admin@system> --admin-pass <admin password> --mqtt

Do take note that you need to set your own:

  1. Service Account Password
  2. Cloud Director URL
  3. administrator system username
  4. admin password

When you install into your own environment.

Answer the questions

  1. [not shown] Enter accept and press return to accept the EULA
  2. Enter yes to accept VCD certificate

Check installation is successful

Using Pod Security Policies with Tanzu Kubernetes Clusters

After entering the command, the installer will return the information of the vcd you're connecting with.
Enter 'yes' to agree.

You'll receive the confirmed settings for App Launchpad on Cloud Director as shown above.

Start App Launchpad Service

  1. Enter the following command to start the service
systemctl start alp
  1. Enter the following command to check its status
systemctl status alp
  1. Enter the following command to restart the service to ensure the service is working correctly
systemctl restart alp

Finalize App Launchpad Configuration via VCD UI

  1. Open or reopen Google Chrome
  2. Go to the Bookmarks bar and click 'vCD-Provider'
  3. Log into VMware Cloud Director with these credentials:
    Username: admin
    Password: VMware1!
  4. Click the SIGN IN button
  1. Click on the 'More' section and then click on App Launchpad.

Set up App Launchpad in VCD

Once you're in the App Launchpad, we need to finalize configuration and integration with VCD.

  1. Click on 'Launch Setup'

Setup infrastructure

  1. Select the PVDC nextgen-resources
  2. Set the Disk Size to 30 GB.
  3. Click 'Next'.

It might take a bit of time as it will create:

  • An organization called "AppLaunchpad". This organization will store all the data related to App Launchpad.
  • A Pay-As-You-Go Org VDC with the storage policy and disk size selected.
  • A global service role called "App-Launchpad-Service".
  • A pre-defined service account will be assigned with this service role.

Setup Sizing Templates

  1. Set the default template as Small with the following parameters
  • Name: Small
  • vCPU Count: 1
  • Memory Size: 2 GB
  • Disk Size: 10 GB
  1. Click 'Finish'.

Additionnal sizing template can be created later on as well

App Launchpad Dashboard

Congrats! you've completed the configuration of App Launchpad with VCD

Integration with VMware Cloud Marketplace

Starting with App Launchpad 2.0, tenant users can deploy container applications to a Kubernetes cluster. A supported source of container applications is a Helm Chart repository.

In this lab, we will be using helm charts from VMware Cloud Marketplace.

  1. Click on the 'Settings' section.
  2. Under 'Administration', click on 'Marketplace Connection'.
  3. Enter the Token ID:
kQjzcNNhUa6e3TyamWH6RJMICoFX8356teKbTuZJTa4aPSiBU57U4pxDBvBF1lmN
  1. Click 'Save'.

You have set up the connection between App Launchpad and VMware Cloud Marketplace.

Create an Application Catalog

  1. Head over to the Applications section.

In this section, we will be creating a catalog with helm charts from VMware Cloud Marketplace before assigning them to an organization. This gives you a form of access control for each organization as to what applications they can deploy.

  1. Click the ADD NEW button

Select a Source

  1. Select 'VMware Marketplace' as the source of applications.
  2. Click 'Next'.

Select Applications

Since this lab focuses on the new feature of generating containerized applications,

  1. Select Container for the Type of Applications
  2. Click the filter button
  3. Enter nginx, wait for the list to refresh
  4. Select NGINX Open Source Helm Chart
  5. Click NEXT

The guide will be using NGINX Open Source Helm Chart as the example,

Add a Catalog

  1. Click on 'Add'.
  2. Enter the catalog name: SEAK Bootcamp 2020
  3. Click 'ADD'.

Select a Catalog

  1. Select the 'SEAK Bootcamp 2020' option.
  2. Click the NEXT button

Review

Once you're at the 'Review' section, click 'ADD'.

Publish the Catalog

  1. Select Access Management tab
  2. Click on 'Publish Catalog'.

Choose a Catalog

Choose the catalog 'SEAK Bootcamp 2020' which you've created previously. Click 'Next'.

Choose Organizations

Choose the organization 'pied-piper'. Click 'Next'.

Publish

Click 'Publish'.

Observe the organization access

As you can see from the image, pied-piper has 1 catalog.

Log out from Cloud Director

Log out from VCD

Deploy Containerised Application via App Launchpad

In this section, we will be deploying a containerised application from a tenant's perspective. We'll be using the pied-piper organization.

  1. Once logged out, head over to your bookmarks bar and click on vCD - Pied Piper
  2. Log in with the following credentials:
    Username: richard
    Password: VMware!
  3. Click the SIGN IN button

Open App Launchpad Tab

  1. Head over to 'More' from the header bar
  2. Click on 'App Launchpad'
  3. Click the LAUNCH button.

Launch an application

  1. Enter Name of the Application: demo-nginx01
    Leave everything as default.
  2. Click "Launch Application".

Application deployed

Your Application is now deploying!

Connect and Browse Your Application

Two ways to browse your application via external IP:

  1. Directly from app launchpad (requires some time to display after deployment)
  2. via CLI with kubectl

Simply wait for a moment after deployment, your deployed application will display the External IP as shown in the image.

Copy Paste Instructions in PowerShell

At this point, we will be using PowerShell and requires quite a bit of copying and pasting. These are just basic instructions for you to know how to copy paste within the terminal.

Right click within the terminal and select 'Mark'.

Double-click on the line you want to copy. Then right-click on it.

Now, right-click on your terminal line. Click 'Paste'.

Now, you know how to copy paste into PowerShell

Finding your pods of your deployed applications

To find out where your nginx pods are residing. Enter the following command

kubectl get pods --all-namespaces

The command will return a list of pods and its corresponding namespaces.

In the guide, the nginx pods are residing in namespace "9be29ae1-d8d4-4172-9701-230a29ea5636".

Finding the external IP of your applications

  1. Open the start windows menu at the bottom left corner of your desktop
  2. Click on "Windows PowerShell"

Enter the following command

Kubectl get namespaces

The command will return all the namespaces in your cluster. Find the namespace where your deployed application is.

Enter the command

kubectl get all -n <namespace>
  1. Search for service/<your app name>-nginx-ingress-controller
  2. scroll to the right and find its corresponding external IP.
  3. Copy the external IP

Go back to your browser and paste it in the url.

You will be directed to your deploy application webpage.

We have come to the end of the Bitnami and App Launchpad lab.

Thank you.