Software is increasingly being run “at the edge,” ranging from disconnected data centers to small form-factor devices on factory floors, in space, under the sea, and other remote locations. However, deployment of software to edge devices is complex, especially at scale. As compute moves increasingly out to the edge across industries, software deployment to the edge will become the key enabler to growing any business — or a substantial blocker. The complexity and heterogeneity of customers’ software environments necessitates technology and processes far beyond those offered by traditional software deployment tools and methodologies.
Leveraging decades of experience deploying software in tightly controlled, often inaccessible places, we built our own solution for edge deployment and are doubling down on Palantir’s investment in deploying software to the edge. Apollo, Palantir’s “Mission Control for Software Deployment,” enables our customers to deploy software to any device, any place, at scale. If you are building software for the edge and are looking to secure your deployment operations and strategy, please get in touch — we’d love to hear from you.
Solving for Latency & Bandwidth Challenges
At Palantir, our customers increasingly require the ability to run, maintain, and upgrade software on dispersed devices with limited computing power, disconnected from the network. For example, the ability to run AI/ML models on data at the point of collection significantly expedites decision-making and autonomous actions — one of many use-cases amidst the widening array of software applications moving to the edge.
Edge devices provide greatest value when they can make rapid decisions based on a live stream of data. Computation at the edge solves this latency problem and significantly speeds up the observation — decision-making — action loop, enabling users to make and execute better decisions, faster — or even automate them, where appropriate and allowed in the specific context. Additionally, deploying software directly on edge devices reduces the expense and risk of transmitting sensitive data through bandwidth-limited channels. From spotting defects in a manufacturing line, to predictive maintenance of oil pipelines, to military intelligence, the benefits are enormous.
In this blog post, we explore how Palantir Apollo helps overcome the challenges of deploying software at the edge.
Solving for the Challenges of Deployment to the Edge
Edge devices, whether they be sensors, video cameras, IoT devices, or airborne drones, are purpose-built and may have limited processing power, memory, and/or storage capabilities, in comparison to traditional servers or cloud environments. Applications must be intentionally built to run in these environments, and the technology required to deploy and manage software on these devices must be similarly optimized.
Palantir has designed Apollo with an advanced set of deployment capabilities for traditional as well as edge environments, requiring minimal space on these resource-constrained devices. Apollo controls what is installed and uninstalled on each unique device, providing seamless orchestration of upgrades and replacement of models and applications, all while continually optimizing edge devices’ limited resources.
Edge devices may experience intermittent or unreliable network connectivity, leading to challenges in transmitting data and maintaining seamless communication with other devices or the cloud. Our customers’ devices may occasionally drop off the network, either deliberately or unavoidably. We built Apollo to mitigate the downstream effects of such realities, and we’re continuing to invest in this type of deployment pattern.
One of the primary challenges in managing software with intermittent connectivity involves managing upgrades. Devices may sit dormant or lose connection to their network and control plane, requiring software upgrades to safely encompass multiple versions to bring applications up to the desired state. Apollo handles this challenge by setting bespoke specifications for each software deployment, enabling developers to specify when and when not to upgrade software based on myriad considerations including available bandwidth or operational state.
Security and Privacy
Security of the software supply chain is increasingly important in all software deployment. At the edge, the separation between the central command infrastructure and the devices themselves makes it difficult to troubleshoot or even understand sudden problems, and the edge devices themselves often represent critical infrastructure or equipment whose behavior could have dire consequences if compromised.
We built Apollo to fortify our software with continuous vulnerability scanning, automatic recalls and roll-offs, generation of audit logs and compliance documentation, and integration of Software Bill of Materials (SBOM) features. Investing in both preventative measures and response capabilities has allowed us to deploy software to the edge with strong confidence in the safety and reliability of our and our customers’ applications.
Increased Confidence in Reliability
In certain applications, software deployed at the edge operates autonomously by design in how it facilitates the immediate processing of and reaction to inflowing data. The high-stakes nature of autonomous software necessitates ironclad confidence in the reliability of software deployment, made harder by the limited ability to monitor or troubleshoot edge devices. Software must undergo rigorous testing in all aspects of its deployment and use — requirements in which Palantir has heavily invested in order to safely deploy software for any purpose, to any device.
Apollo’s innovative use of “release channels” allows developers to specify their risk tolerance for individual devices’ software upgrades, far beyond the traditional (inflexible) dev-stage-prod path. Through its specified release channel, each environment receives new releases based on its unique risk tolerance and requirements. For example, developers may want a distinct release channel for certain types of devices, devices in certain locations, or devices for a particular customer with additional requirements or stricter SLAs. Apollo thus enables total confidence in the efficacy and reliability of software on edge devices, no matter how remote the device to which the software is deployed.
Scaling the Edge
Most use-cases for edge devices are predicated on leveraging many devices with identical or similar software deployed across all of them. Deploying software reliably at scale presents significant technological difficulties, let alone the problem of maintaining and monitoring them. Palantir’s investments in Apollo have enabled us to do thousands of upgrades a day (~90,000 per week), with less than four minutes of lead time for software changes as a result of capabilities including bulk actions, live inventory management, and central hub structure designed to serve many environments. Building for scale from the beginning, not scaling later with ill-fitting tools, is a crucial aspect of Palantir’s technological innovation strategy.
The Edge is Calling
Deploying software to the edge offers a wealth of opportunity to increase velocity, serve new markets and use cases, and unlock efficiency. Palantir has learned a lot from deploying edge AI — and we will continue to invest heavily in order to serve our customers in every industry. Deployment to front-line edge devices, from factory floors to drones, enables Palantir’s software to have even more decisive impact. If you are building software for the edge, get started with us today.
Palantir Apollo: Innovations in software deployment to the Edge was originally published in Palantir Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.