Getting Started with Small Footprint PAS

This topic describes the Small Footprint PAS tile for Pivotal Cloud Foundry (PCF). The topic also describes how Small Footprint PAS deployment differs from a standard deployment, as well as use cases and limitations.

Use Small Footprint PAS for testing or small on-site data centers where performance is less important than cost.

WARNING: Pivotal does not recommend the Small Footprint PAS tile for most production deployments. The tile has significant performance and capacity restraints. See Limitations.

Differentiate Small Footprint PAS and PAS

The Small Footprint PAS is a repackaging of the Pivotal Application Service (PAS) components into a smaller and more efficient deployment. A standard PAS deployment must have at least 14 virtual machines (VMs), but the Small Footprint PAS requires only four.

The following image displays a comparison of the number of VMs deployed by PAS and Small Footprint PAS.

VM comparison between PAS and Small Footprint PAS. PAS has 14 required VMs and 7 optional VMs. Small Footprint PAS, on the other hand, has 4 required VMs and 5 optional VMs

Use Cases

The Small Footprint PAS tile satisfies the following use cases:

  • Small on-premise installations:
    • Run PCF in a small, on-site data center such as at a warehouse, retail store, hospital, or factory.
  • Proof-of-concept installations:
    • Deploy PCF quickly and with a small footprint for evaluation or testing purposes.
  • Service tile R&D:
    • Test a service tile against Small Footprint PAS instead of a standard PAS deployment to increase efficiency and reduce cost.

Limitations

The Small Footprint PAS has the following limitations:

  • Number of app instances:
    • The tile is not designed to support large numbers of app instances. You cannot scale the number of Compute VMs beyond 10 instances in the Resource Config pane. The Small Footprint PAS is designed to support 2500 or fewer apps.
  • Increasing platform capacity:
    • You cannot upgrade the Small Footprint PAS to the standard PAS tile. If you expect platform usage to increase beyond the capacity of the Small Footprint PAS, Pivotal recommends using the standard PAS tile.
  • Management plane availability during tile upgrades:
    • You may not be able to perform management plane operations like deploying new apps and accessing APIs for brief periods during tile upgrades. The management plane is colocated on the Control VM.
  • App availability during tile upgrades:
    • If you require availability during your upgrades, you must scale your Compute VMs to a highly available configuration. Ensure sufficient capacity exists to move app instances between Compute VM instances during the upgrade.

Architecture

You can deploy the Small Footprint PAS tile with a minimum of four VMs, as shown in the image below.

Note: The following image assumes that you are using an external blobstore.

Small Footprint PAS has 4 required VMs and 5 optional VMs

To reduce the number of VMs required for Small Footprint PAS, the Control and Database VMs include colocated jobs that run on a single VM in PAS. See the next sections for details.

For more information about the components mentioned on this page, see the Architecture section of the PAS Concepts guide.

Control VM

The Control VM includes the PAS jobs that handle management plane operations, app lifecycles, logging, and user authorization and authentication. Additionally, all errands run on the Control VM, eliminating the need for a VM for each errand and significantly reducing the time it takes to run errands.

The following image shows all the jobs from PAS that are colocated on the Control VM in Small Footprint PAS.

Small Footprint PAS Condenses 10 PAS VMs onto 1 VM called Control

Database VM

The database VM includes the PAS jobs that handle internal storage and messaging.

The following image shows all the jobs from PAS that are colocated on the Database VM in Small Footprint PAS.

Small Footprint PAS Condenses 4 PAS VMs onto 1 VM called Database

Compute VM

The Compute VM is the same as the Diego Cell VM in PAS.

Small Footprint PAS calls the Diego Cell VM the Compute VM

Other VMs (Unchanged)

The following image shows the VMs performs the same functions in both versions of the PAS tile.

The Router, File Storage, HAProxy, Backup Prepare Node, MySQL Monitor, and TCP Router VMs are the same in both PAS and small footprint PAS.

Requirements

The following topics list the minimum resources needed to run Small Footprint PAS and Ops Manager on the public IaaSes that PCF supports:

Installing Small Footprint PAS

To install the Small Footprint PAS tile, follow the instructions for Installing Pivotal Cloud Foundry on your IaaS.

Follow the same installation and configuration steps as for PAS, with the following differences:

  • Selecting a product in Pivotal Network:

    • When you navigate to the PAS tile on Pivotal Network, select the Small Footprint release.
  • Securing communication between Diego and the Cloud Controller:

    • In the Small Footprint PAS tile, Diego and Cloud Controller communicate securely by default.
  • Configuring resources:

    • The Resource Config pane in the Small Footprint PAS tile reflects the differences in VMs discussed in the Architecture section of this topic.
    • Small Footprint PAS does not default to a highly available configuration like PAS does. It defaults to a minimum configuration. To make Small Footprint PAS highly available, scale the VMs to the following instance counts:
      • Compute: 3
      • Control: 2
      • Database: 3
      • Router: 3
  • Configuring load balancers:

    • If you are using an SSH load balancer, you must enter its name in the Control VM row of the Resource Config pane. There is no Diego Brain row in Small Footprint Runtime because the Diego Brain is colocated on the Control VM. You can still enter the appropriate load balancers in the Router and TCP Router rows as normal.

Troubleshooting Colocated Jobs using Logs

If you need to troubleshoot a job that runs on the Control or Database VMs, follow these steps:

  1. Follow the procedures in Advanced Troubleshooting with the BOSH CLI to the log in to the BOSH Director for your deployment:

    1. Gather Credential and IP Address Information
    2. SSH into Ops Manager
    3. Log in to the BOSH Director
  2. Use BOSH to list the VMs in your Small Footprint PAS deployment:

    bosh -e MY-ENV -d MY-DEPLOYMENT vms

    Note: If you do not know the name of your deployment, you can run bosh -e MY-ENV deployments to list the deployments for your BOSH Director.

    See the following example output:
    $ bosh -e example-env -d example-deployment vms
    Using environment 'example-env' as client 'ops_manager'

    Task 182. Done

    Deployment 'example-deployment'

    Instance Process State AZ IPs VM CID VM Type backup-prepare/8fd07242-cf7c-4a4d-ba69-85fe078114f9 running us-central1-a 10.0.4.10 vm-6ec72a47-55b0-4767-78af-759f1f295183 micro compute/01c6947d-477e-4605-9e6b-5d130a58c70c running us-central1-b 10.0.4.8 vm-ce14173c-d93e-414c-6830-afbe0c713fc5 xlarge.disk compute/28045395-5048-4c8d-8363-e22fc7b66847 running us-central1-c 10.0.4.9 vm-e3d8f696-5802-4552-4006-a1260563ed49 xlarge.disk compute/2e3ed7dc-baa4-42ef-814d-980c6ab1c36b running us-central1-a 10.0.4.7 vm-6dc34e53-71f3-4741-674a-c42c4df9e559 xlarge.disk control/12b1b027-7ffd-43ca-9dc9-7f4ff204d86a running us-central1-a 10.0.4.6 vm-9760b74e-e13e-4483-79b6-78ab3818b628 xlarge ha_proxy/b0587c68-45a8-40e2-94d3-5d2ffcdaf858 running us-central1-a 10.0.4.11 vm-27d62bfc-af6d-4c8b-6e2a-cbba09eddd1e micro mysql_monitor/5185d04e-e038-4664-a26a-d16d0d295a7f running us-central1-a 10.0.4.15 vm-6d215888-913b-44a3-4db3-52329c5ada53 micro router/2043b22d-0c3b-4a02-873f-80a724c3ed08 running us-central1-a 10.0.4.12 vm-2b7cf5f4-5926-4f70-6e47-d994a6eff93b micro router/72b54793-e0d0-4301-8932-76da5375e654 running us-central1-c 10.0.4.14 vm-e77bcdf1-0c26-46cd-7783-6d766f4c5098 micro router/e3d2ab7b-6191-46bb-ab62-c1db7268a942 running us-central1-b 10.0.4.13 vm-3e84523b-1988-475e-49e8-de80fd76c656 micro database/681bcad5-fa8b-4cf1-912f-45140d96123f running us-central1-a 10.0.4.5 vm-e3cded4f-cf47-499f-4c96-992b3c6ebf9c large.disk tcp_router/61a06e83-a62b-4afb-b452-441dc2dc1e4c running us-central1-a 10.0.4.17 vm-cc1f0a62-409f-47f9-58b0-0b8f46cf9ac0 micro

    13 vms

    Succeeded

  3. Use BOSH to SSH into one of the Small Footprint PAS VMs.

    bosh -e MY-ENV -d MY-DEPLOYMENT ssh VM-NAME/GUID
    For example, to SSH into the Control VM, run the following:
    $ bosh -e example-env -d example-deployment ssh control/12b1b027-7ffd-43ca-9dc9-7f4ff204d86a
    

  4. Run sudo su to act as super user.

  5. Use monit to list the processes running on the VM.

    monit summary
    See the following example output that lists the processes running on the Control VM. The processes listed reflect the colocation of jobs as outlined in the Architecture section of this topic.
    control/12b1b027-7ffd-43ca-9dc9-7f4ff204d86a:/var/vcap/bosh_ssh/bosh_f9d2446b18b445e# monit summary
    The Monit daemon 5.2.5 uptime: 5d 21h 10m

    Process 'consul_agent' running Process 'bbs' running Process 'metron_agent' running Process 'locket' running Process 'route_registrar' running Process 'policy-server' running Process 'silk-controller' running Process 'uaa' running Process 'statsd_injector' running Process 'cloud_controller_ng' running Process 'cloud_controller_worker_local_1' running Process 'cloud_controller_worker_local_2' running Process 'nginx_cc' running Process 'routing-api' running Process 'cloud_controller_clock' running Process 'cloud_controller_worker_1' running Process 'auctioneer' running Process 'cc_uploader' running Process 'file_server' running Process 'nsync_listener' running Process 'ssh_proxy' running Process 'tps_watcher' running Process 'stager' running Process 'loggregator_trafficcontroller' running Process 'reverse_log_proxy' running Process 'adapter' running Process 'doppler' running Process 'syslog_drain_binder' running System 'system_localhost' running

  6. To access logs, navigate to /vars/vcap/sys/log:

    cd /var/vcap/sys/log

  7. Run ls to list the log directories for each process. See the following example output from the Control VM:

    control/12b1b027-7ffd-43ca-9dc9-7f4ff204d86a:/var/vcap/sys/log# ls
    adapter      cloud_controller_clock   file_server                    nginx_cc               route_registrar  statsd_injector      uaa_ctl.err.log
    auctioneer   cloud_controller_ng      locket                         nginx_newrelic_plugin  routing-api      syslog_drain_binder  uaa_ctl.log
    bbs          cloud_controller_worker  loggregator_trafficcontroller  nsync                  silk-controller  syslog_forwarder
    cc_uploader  consul_agent             metron_agent                   policy-server          ssh_proxy        tps
    cfdot        doppler                  monit                          reverse_log_proxy      stager           uaa
    

  8. Navigate to the directory of the process that you want to view logs for. For example, for the Cloud Controller process, run cd cloud_controller_ng/. From the directory of the process, you can list and view its logs. See the following example output:

    control/12b1b027-7ffd-43ca-9dc9-7f4ff204d86a:/var/vcap/sys/log/cloud_controller_ng# ls
    cloud_controller_ng_ctl.err.log  cloud_controller_ng.log.2.gz  cloud_controller_ng.log.6.gz         drain                  pre-start.stdout.log
    cloud_controller_ng_ctl.log      cloud_controller_ng.log.3.gz  cloud_controller_ng.log.7.gz         post-start.stderr.log
    cloud_controller_ng.log          cloud_controller_ng.log.4.gz  cloud_controller_worker_ctl.err.log  post-start.stdout.log
    cloud_controller_ng.log.1.gz     cloud_controller_ng.log.5.gz  cloud_controller_worker_ctl.log      pre-start.stderr.log
    

Release Notes

The Small Footprint PAS tile releases alongside the PAS tile. See the PAS Release Notes.

Create a pull request or raise an issue on the source for this page in GitHub