Apcera EE Installation Checklist

This document provides a checklist of considerations for installing the Apcera Platform Enterprise Edition. Please contact Apcera Support to obtain the software and for additional guidance in planning your cluster installation.

General Cluster Information

Apcera suggests your cluster plan considers the following aspects for configuration, stand-up, and ongoing service.

Cluster Description

Describe your cluster at a high-level.

Item Consideration Notes
1 What is the primary purpose of the cluster?
2 Who will be using the cluster?
3 What kind of workloads will the cluster run?
4 Where will the cluster be deployed? Public cloud (AWS, Azure, GCE); Private cloud (such as hosted OpenStack); On-prem (vSphere, OpenStack, BareOS); Hybrid; Other
5 Who will be installing and managing the cluster?

Networking Requirements

Describe the networking requirements for the cluster at a high-level. See also network requirements and required ports.

Item Consideration Notes
1 What security or networking policies does the cluster deployment need to comply with?
2 What is the registered domain name for the cluster?
3 Is the DNS domain configured?
4 Do you have SSL certificates? From which CA?
5 If you are deploying a hybrid cluster, can you configure the VPN connection between remote nodes?

Public Cloud Requirements

If you are deploying the cluster to a public cloud, consider the following.

Item Consideration Notes
1 What public cloud provider are you using? AWS, Azure, GCE, Other
2 Can you create a dedicated account (recommended) for your Apcera cluster?
3 Who will be authorized to use the account?
4 What geographical region will the cluster be located in?
5 How will IP allocation be handled for each VPC?
6 Are there any specific security requirements or preferences that the deployment should adhere to?
7 Should the Apcera web console be available from the Internet?
8 Do you require a DMZ or external-facing runtime environment that is not connected directly to the corporate network or other environment?
9 What is the support and maintenance model you have in place for the managing the infrastructure?

Private Cloud/On-Premises Requirements

If you are deploying the cluster to a private cloud or on-premises, consider the following.

Item Consideration Notes
1 What is the underlying technology you are using? VMWare, OpenStack, or BareOS (on physical machines)
2 What version of this technology are you using?
3 How will IP allocation be managed?
4 How will firewalling and port-mapping be handled?
5 Does the installation make use of availability zones? If so, how many are available for the Apcera installation?
6 What type of network is being used? What drivers are being used?
7 Will you be using a load balancer? Is so, which one?

Cluster Installation

Please consider the following details specific to your Apcera Platform installation.

General

Formulate the following general information for installing your cluster.

Item Consideration Notes
1 Who is performing the cluster installation? Self-install, Apcera staff, Joint install
2 What type of environment(s) will you be installing? Dev, test, prod, other
3 What infrastructure are you installing Apcera on? AWS, Azure, GCE, OpenStack, BareOS, vSphere
4 Are you deploying a hybrid cluster? If yes, have you determined your cluster host machine layout and multi-cloud internetworking?
5 Do you plan to add or change provisioners in the future?

IAM Provider

Apcera integrates with several Identity and Access Management (IAM) systems. Please describe the IAM provider you plan to use.

Item Consideration Notes
1 Which identity and access management (IAM) provider will you use for cluster authentication? Active Directory, Google Auth, Keycloak, LDAP, Other
2 Which user(s) should be designated as the cluster principal responsible for authoring policy to grant others access to the cluster? Note that the cluster principal cannot be changed or modified after installation.

Cluster Sizing

Refer to the cluster sizing guidelines for more information.

Item Consideration Notes
1 What type of cluster are you deploying? Minimum production or full HA?
2 How many IMs do you require?
3 What is the size of the IM hosts you desire?
4 What are your cluster scaling requirements? Do you anticipate the need to grow the cluster over time?

Cluster Availability and Redundancy

Formulate your cluster HA and scalability requirements by considering the following:

Item Consideration Notes
1 What are your cluster HA requirements?
2 Will you be using a load balancer in front of the HTTP routers?
3 Do you require job auto-scaling?

Cluster Encryption

Describe your cluster encryption requirements, including HTTPS routing and cluster traffic.

Item Consideration Notes
1 Will you be using HTTPS for client access and job routing?
2 If so, do you have the SSL certificates you will need to add to cluster.conf?
3 Do you require cluster traffic to be encrypted by enabling IPsec?

Cluster Operations

This section provides considerations for operating your cluster.

Cluster Administration

Item Consideration Notes
1 Do you have SSH keys for connecting to the Orchestrator host to operate the cluster?
2 What is the expected update cadence for the cluster? Long-Term Support (LTS), Maintenance Releases (MR), Edge (unsupported) releases
3 Who is responsible for cluster upgrades?
4 How often will you consume upgrades?
5 How will you version control and secure your cluster installation and configuration files?

Cluster Monitoring

Please describe how you will manage the administration of cluster monitoring.

Item Consideration Notes
1 What domain name should be used for cluster monitoring? Is DNS configured for this domain?
2 Who should get alerts from the cluster’s internal monitoring (Zabbix)?
3 Who is the contact to set up PagerDuty integration with Zabbix?
4 What external monitoring system will you use to monitor Zabbix?
5 Do you want to integrate your cluster with Splunk for log analysis? If so, do you have a Splunk license?

Policy Administration

Please describe your policy administration plans.

Item Consideration Notes
1 Who will be responsible for authoring policy in the system?
2 What user roles do you require? Out-of-the-box we provide an Administrator role with full cluster privileges. Typically you may define other roles, such as dev, test, deploy, audit, etc.
3 Who will be responsible for administering policy?
4 What external source control system will you use for storing policy documents?
5 Do you plan to use the Policy API to automate policy deployment?

Cluster Runtime

This section provides considerations for using your cluster.

Policy Controls

Please describe the policy controls you desire for application deployment.

Item Consideration Notes
1 Will developers write policy or will you have dedicated policy authors?
2 What types of policy will you define for users who will be deploying jobs from source code?
3 What type of policy authorization will be required for Docker job deployments?
4 What types of policy controls will be required for service creation and binding?
5 What other types of policy controls do you require? Package resolution, virtual networking, SSH access, audit log, etc.

External Service Providers

Please describe the external service providers you require to be set up with your cluster installation.

Item Consideration Notes
1 What external service providers do you require? MySQL, Postgres, S3, other
2 Are these systems already in place?
3 Are you using a hosted provisioner (such as AWS RDS) for any external provider?

Persistent Storage

Apcera supports persistent storage using NFS, EFS, or SMB. Apcera can provide a singleton NFS server or HA NFS that is deployed with the cluster. EFS and SMB must be external.

Item Consideration Notes
1 What are your persistent storage requirements? NFS singleton, NFS HA using Gluster, SMB
2 Do you require shared storage?
3 If using NFS HA, how will you backup and restore the persisted data?

Job Types

It is important to consider and understand the types of jobs you will deploy to the cluster.

Item Consideration Notes
1 What types of jobs will you be deploying? Apps from source code (using Apcera stagers and packages), Docker images, Capsules (bare Ubuntu OS)
2 Will you be using a CD/CI tool such as Jenkins to push apps to Apcera? If so, will this system be deployed internal or external to the cluster?
3 How will you be deploying apps to the cluster? Using the APC CLI, web console, REST API, Docker API
4 What is the size on disk of the jobs you will be deploying to the cluster? Will you be deploying large jobs (over 2GB)?
5 Do you have a namespace scheme to enforce where you want jobs to be deployed?

Apps and Packages

Apcera supports deploying various types of apps from source code and provides a number of packages to satisfy app dependencies. Use this section to describe these dependencies.

Item Consideration Notes
1 What types of apps from source code will you be deploying? For example, web apps, Java apps, Python, etc.
2 What stagers will you be using?
3 What runtime dependency packages do your apps require?
4 What other packages do you require?
5 What type of package resolution policies do you require?
6 Are you deploying any large size apps, such as a Java app server?

Docker Images

Apcera provides first-class support for deploying Docker in production. If you are deploying Docker images, describe them here.

Item Consideration Notes
1 What types of Docker images are you deploying?
2 Where are your Docker images stored? In the public Docker Hub repo, a private Docker repo, or both?
3 If you are using a private Docker repo, does the repo require authentication?

Services

Apcera supports a number of services. Please describe the services you plan to use here.

Item Consideration Notes
1 What types of services will you be deploying?
2 What are the persistence requirements for these services?
3 Will you require the use of semantic pipelines for supported service types?
4 How will creation of services be handled for production jobs?