ACME's API Pipeline: An Orchestrated Army of Apps
Updated: Aug 9, 2020
We are frequently asked about the software ACME uses to generate the animations within our API. For the software engineering readers in our audience, here's a basic description of our current API backend framework and the reasoning that went into our choices.
Our backend framework is a custom software structure supporting a digital pipeline that mirrors the standard production workflow steps of the Visual Effects Industry (VFX). Rather than 're-inventing the wheel' with a strictly proprietary solution set, we chose this configuration for the following advantages:
Power. Right from the start, we provide to our users the full power of a billion dollar industry to animate QR codes in 3d, or 2d, or in any way we can dream up. There is simply nothing Hollywood can do that ACME can't also do.
Currency. By leveraging a framework of focused software components, we can keep our framework current by updating each component as they become updated in the software marketplace.
Focus: Compartmentalized task-focused software leads to ease of maintenance, and also more user choices as technology improves over time; if a new animation software package becomes the 'new thing' we simply add a new pipeline that supports animation creation with that new software.
Familiarity. ACME's founders all have decades of professional experience in the 3d animation business; we know this software, and we know this marketplace.
Efficiency. Our proprietary animation-forming software is layered atop commercial and open source software - so we keep focused on what we know best. It's simply the most cost effective way for us to bring you custom animations of this quality.
Our backend API relies on over 40 different processes of at least 15 different apps to guide each incoming request through the appropriate pipeline steps including but not limited to:
QR code message parsing
Custom image acquisition
Custom image pre-processing, format and character set standardization
Order workspace creation and management
3d scene initialization
3d model generation
3d surfacing generation
3d animation / key framing / simulation
Frame sequence rendering
Frame sequence post-processing
Frame sequence encoding to mp4
Content delivery network uploads
Another important detail is that all apps within our framework are 'always up and ready' to begin processing upon request. This contrasts with the fact that many large 3d animation apps can literally take minutes just to start. Your animations are never subject to such app launch delays - ACME's API always has a pool of 3d apps already started and waiting to work immediately to form and render a 3d animation scene as soon as any request comes in.
Here's a list of some of the software we always have running in our API to make animations for you:
CherryPy & Nginx webservers
Python and standard Python modules. About 15 of them.