November 30, 2021

What Is the Perforce Enhanced Studio Pack? Everything You Need For the Cloud

Cloud

It’s 6 P.M. in California….

You’re toast and want to finish up for the day. You’ve just added the finishing touches to your beautiful sunset lighting in Unreal Engine and it’s ready to be worked on by the overnight team in Europe.

You can:

  1. Wait another 20 minutes to zip all the files and email them, or
  2. Save them to a shared drive, or
  3. Submit them to Perforce Helix Core server.

You press the submit button and the files are uploaded to a cloud server. Now the next team knows what changed, who changed it, and why the sky is gray instead of blue. They can immediately get to work. Keys in hand, jacket on, and you’re out the door. Helix Core takes care of the rest.

Demystifying Deployment

At Perforce, we have created a new way to easily deploy Helix Core into the cloud. We have talked to users, discussed workflows, simplified onboarding, and learned how companies from indie developers to enterprise game studios deploy version control at scale.

The Perforce Enhanced Studio Pack (ESP)contains all the tools you need to do world-class development in a single, pre-configured environment. It offers a production-ready, turn-key bundle of Perforce software that you can deploy on AWS and Azure. It includes Infrastructure as Code and configuration management settings with pre-selected smart defaults.

The Enhanced Studio Pack Includes

Get free Perforce software and deploy it your way:

  • Helix Core Version Control
  • Helix Swarm Code Review
  • Hansoft Project Management
  • Windows Workstation – Virtualized desktop with GPU

➡️ gET FREE CLOUD TOOLS

Layers in Build Order

So, what is really in it? Let’s dive into the nitty gritty. The Enhanced Studio Pack is made up of several layers. They all stack upon one another, so each layer is abstracted from the next, which allows parameters to be dynamically passed.

Packer Builds

Packer is the tool and DSL we use to define what’s included in each of our machine images. These dictate what gets provisioned on a base image (Windows or CentOS7.9). We have packer projects for the following machine images:

  • Helix Core
  • Helix Swarm
  • Hansoft
  • Windows Workstation

After packer builds are complete, they’re uploaded to the Cloud Service Provider (CSP), available on both Microsoft Azure and AWS. These become usable, referenceable machine images.

Machine Images

Machine images are a "package" that contains the OS, OS configuration, application installation, and application configuration.

The term machine image is used when talking about all clouds.  If you are referencing AWS, it’s called an AMI (Amazon Machine Image). On Azure, it’s called a Virtual Machine (VM). The Enhanced Studio Pack will reference these machine images by a unique identifier (ID or GUID).

Infrastructure as Code (IaC)

Infrastructure as Code defines how the cloud infrastructure is set up. This allows you to declare your software stack in code so it can be shared, collaborated, and versioned. This prevents manual coding mistakes when deploying a complex architecture.

Given the previous example, your company set up a Helix Core commit server, an edge server, and a few forwarding replicas. As soon as you hit submit, your new changes to the sky are immediately available to your globally distributed team.

Because with the Enhanced Studio Pack, you can easily install, configure, and tune your deployments. Using Infrastructure as Code allows teams — like yours — to jump start development. You get sensible, smart enterprise-ready defaults to go from proof of concept into production, fast.

Regardless of where you deploy and maintain your Helix Core infrastructure, you will have the same repeatable, consistent architecture. Review the Gliffy diagram below showing a basic future commit/edge Helix Core architecture. The Enhanced Studio Pack only deploys one commit server (as of today). But this is an example topology that can be easily added to enhance global collaboration. 

Gliffy diagram of medium topology with replicas (not currently available in Enhanced Studio Pack).

For example, the commit server could be installed in the us-west region, with the forwarding replicas in another region, closer to artists and developers. The edge server could be located in the eu-central region. The types of Helix Core architectures you can implement are infinite. Please read through the server administration guide for more suggestions.

 

 

 

 

Enhanced Studio Pack Review

This is an ordered list of what the Enhanced Studio Pack installs as part of the deployment:

  • Perforce networking stack.
  • Networking security group.
  • Identity and access management.
  • Windows user access and controls.
  • Helix Core commit server.
  • Hansoft server.
  • Helix Swarm server.
  • Windows workstation.
  • Data lifecycle management policies for creating backup disk snapshots.
  • Helix Swarm trigger configuration.

Infrastructure as Code Example

Review an example of the Infrastructure as Code (IaC) is shown below:

Quick Azure snippet of Hansoft instance sizing:

"hansoftVMSize": {
  "type": "string",
  "allowedValues": [
      "Standard_D2_v4",
      "Standard_D4_v4",
      "Standard_D8_v4",
      "Standard_D16_v4",
      "Standard_F2s_v2",
      "Standard_F4s_v2",
      "Standard_F8s_v2",
      "Standard_F16s_v2",
      "Standard_F32s_v2",
      "Standard_F48s_v2"
  ],
  "defaultValue": "Standard_D2_v4",
  "metadata": {
    "description": "Please select the size of the VM you wish to deploy."
   }
}

Quick AWS snippet of Hansoft instance sizing:

Parameters: 
  InstanceType: 
    Type: String
    Default: m5.large
    AllowedValues:
      - t3.nano
      - t3.micro
      - t3.small
      - t3.medium
      - m5.large
      - m5.xlarge
      - m5.2xlarge
      - m5.4xlarge
      - m5.8xlarge
    Description: "Select Hansoft server EC2 instance type."

What Is Customizable on the Enhanced Studio Pack?

Long story short... everything 😎.

You can download the Enhanced Studio Pack, customize it, and run it in your cloud of choice —Azure, AWS, and others Coming Soon™.

The long answer is pretty short. To make it easier to deploy, we have tried to minimize the number of fields available on creation. We have found the Enhanced Studio Pack is very popular with smaller studios/companies that are trying to get Helix Core up and running with very little administration on a cloud of their choosing.

The small studios usually do not have a dedicated IT admin (that comes soon, maybe AA status). So, we have chosen smart enterprise defaults for many options. We will go into these in the next section.

We have trimmed down the available instance sizes to a reasonable price/performance selection. Also, we limited user access roles and policies, selected efficient disk types, worked with OpenLogic to use their publicly available, hardened images, enabled SSL, and used standardized networking topologies.

Still Need Help Setting Up?

Optimize your cloud deployment and offload admin tasks to our experts with Helix Remote Admin.

➡️ access helix remote resources

Smart Defaults & How to Customize

There's more!

Server Deployment Package (SDP)

The Enhanced Studio Pack uses the Server Deployment Package (SDP) to help deploy the Helix Core product onto the Linux CentOS 7.9 server.

The SDP comes with configuration settings aimed at production-ready, scalable, and resilient installations, regardless of what you put into Helix Core, Hansoft, or Helix Swarm.

An example a smart default is turning on autocompress, which turns ons auto compressing files onto a disk:

p4 configure set lbr.autocompress=1

 

Another smart default is setting the P4ROOT volume to have a minimum of 5 gigabytes free to prevent data loss:

p4 configure set filesys.P4ROOT.min=5G

 

View the full list of p4d configs here >>

Networking

When creating a networking security group, it’s sometimes easier to “fix it later.” You might set the IP address to 0.0.0.0/0, essentially letting anyone hit the Helix Core login prompt. That might be helpful in the short term, but it will cause issues in the future if not updated.

Our templates suggest using your own IP address as part of the install, so only your own computer is allowed access.

Example description from the CIDR input:    

“Input your public IP address in CIDR notation. Example: 162.244.43.80/32. Use a service like whatismyipaddress.com to find your public IP address."

Disk Volumes

The Helix Core server is on the hardened OpenLogic CentOS 7.9:

  • Depot
    • Holds depot data and checkpoints.
    • Defaults to 500GB.
    • Volume type defaults to an SSD.
  • Metadata
    • Holds P4D database.
    • Defaults to 64GB.
    • Volume type defaults to an SSD.
  • Logs
    • Holds P4D logs and journal.
    • Defaults to 64GB.
    • Volume type defaults to an SSD.

Volume type and volume size parameters can be changed both pre and post deployment. When running in the cloud, dynamically resizing your instances/volumes/networking requires minutes, not months. Start small and grow as you need.

Software

The Enhanced Studio pack contains pre-installed software on a Windows Workstation:

  • Utilities
    • Google Chrome (with Helix Swarm pre-bookmarked)
    • Microsoft Edge (Azure only)
    • Microsoft Visual Studio 2017 Community (for Unreal Engine compatibility)
    • Blender
    • git
    • 7zip
    • Notepad++
    • Parsec
    • Various GPU drivers
  • Game Engines
    • AWS Lumberyard (AWS only)
    • Epic Games Launcher

See How Enhanced Studio Pack Works

Check out how the environment looks from a bird’s eye view.

Azure Diagram

Diagram of Azure Enhanced Studio Pack deployment.

AWS Diagram

Diagram of AWS Enhanced Studio Pack deployment.

Feeling Adventurous? Read On!

Here are some helpful links to get you started.

Walkthrough the Enhanced Studio Pack

Learn how to deploy and develop with Perforce. Learn how to deploy the Enhanced Studio Pack in just a few clicks. I’ll review settings that can future proof your cloud and give you tips from our experts.

Deploy on Azure     Deploy on AWS

Final Thoughts

As the Solutions Director here at Perforce, I appreciate you taking time to read to the end. We’re here to help you do more, faster (and securely)! Any questions, comments, or general thoughts, shoot us an email at [email protected].

Lord of the Rings meme with the words "One does not simply say thank you without a meme."