As applications move to the very edges of service provider compute space, a new class of problem emerges: how do you deploy and manage code to a wide variety of compute configurations? Avassa aims to solve this problem with a unique method of deploying applications based on a variety of configuration and location options.
Take, for example, a globally distributed application that’s CPU hungry. How do you prevent this code from deploying to an older compute node that doesn’t have sufficient processor power to serve your application? Or if your application is memory-intensive, how do you prevent it from running on hosts with limited physical memory allocations?
The Avassa Product Solution
Avassa’s two-part answer to this problem: Control Tower and Edge Enforcer. These complementary pieces of software combine to perform essential functions: assess the edge compute space and deploy software to a dynamically defined set of compute nodes that are best suited for the application.
The Edge Enforcer is an agent that deploys to an edge compute infrastructure host. It performs two important roles: collect the host configuration (e.g., CPU type, physical memory) and send this information back to the Control Tower. In this way, the Control Tower has most of the information it needs to determine where to deploy code. All that’s missing is geographic location information, which can be provided manually. After the initial collection, the Edge Enforcer continually re-evaluates the host to detect any change in resource or configuration.
Avassa’s Control Tower is the management component of their solution. It collects all the information gathered by the Edge Enforcers and builds a database of your compute resources. With this information, you can deploy your code to the compute nodes based on many factors, including CPU type, available physical memory, and even location.
Avassa Use Cases
Use cases here are very interesting. Avassa customers can target geographic regions by specifying targets within a defined area of the globe or target only machines with specific CPU features to optimize the application’s performance.
Most interesting is that Avassa is embracing an application landscape that is edge native. Interest in edge computing has grown in the last five years, and today’s edge is a heterogeneous mix of compute resources distributed globally. In a cloud-native environment, control over compute resources and location was only generally possible. You could specify a region or zone, but never an individual host or datacenter. This level of specificity is sufficient for cloud-native applications that consume a common set of microservices. But edge computing’s needs cannot be met with this lack of granularity.
Avassa’s solution discovers your edge computing resources and compiles a database of capabilities that allows application owners to fine-tune their deployments. The result is an unprecedented amount of control over how your code is deployed.
Wrapping Up on Avassa
Not every feature you want is available in the current release. For example, large organizations require detailed logging and accounting for deployment actions. Often, this information is sent to a log aggregator or SEIM for after-the-fact analysis and review. Control Tower isn’t capable of doing this today, but it’s on Avassa’s roadmap. So is “what-if” style pre-deployment analysis.
From an automation perspective, Avassa is building their software with fully featured interfaces for humans and programs to interact with Control Tower. They have a robust API built into the software from the beginning, so developers will be first-class citizens as they seek to automate code deployments. A well-thought-out web UI caps out the product, presenting just the right amount of information for a user to build deployment rules.
Avassa is defining what it’s like to manage code in an edge-defined world. To learn more, be sure to check out this Gestalt IT Showcase with Avassa!