Software engineering for edge environments should be carried out on, in and with edge computing tools, platforms and services. It seems almost irrational or crazy that we should have to say it out loud, but building the compute edge requires edge technologies.
Software infrastructure specialist Progress thinks that to suggest any means otherwise would be tantamount to foolishness.
But how did we get here, and what makes the edge so tough to code for—especially if we are going to preserve the combined workflow culture that is DevOps (development and operations) all the way out to the nodes of blinking sensors that we care about so much on the western spiral arm of the edge computing galaxy?
Edge DevOps: It’s complicated
Sundar Subramanian, EVP and general manager of Chef Business at Progress, made his observations about the edge and DevOps at Progress’s annual developer user convention Progress360 inside the ChefConf tracks, known for its DevOps and DevSecOps capabilities, that now sit under the Progress parent umbrella.
“We are entering a world where things are changing fast, and that leads to complexity,” said Subramanian. “ … As we move from on-premises to the cloud and to the edge … , complexity increases due to the number and variety of devices and the breadth of data and application processing jobs on them — and all of that makes DevOps systems more complex.”
SEE: 20 good habits network administrators need–and 10 habits to break (free PDF) (TechRepublic)
The complexity factors don’t come in a single vector here either. New devices and smart machines are coming to the fore every day. There are new network protocols with 5G to consider, and there are new cloud complexities — borne out of the proven effectiveness and increased use of containers and their associated orchestration technologies.
Making reference to the use of different operating systems, different compliance restrictions and the different computing architectures offered by the major cloud services providers (CSPs), this is not a time when things appear to be getting naturally simpler on the desktop, cloud, or edge.
“As we move new elements of the IT stack to the edge, it all adds complexity in terms of the number of nodes, the number of apps and the integration tasks that lie ahead of us,” said Subramanian. “Making all this happen in a way that enables us to successfully progress towards live working production environments using different types of code (some open source, some proprietary) — and all for different [software application] product owners securely is a big challenge.”
Edge-compliant DevOps evolution
The technology proposition Progress is making here is that edge-compliant DevOps has become more complex, so a more complex, or at least a more dedicated and precision-engineered, DevOps platform and set of competencies needs to be used for modern IT. The company says it recently conducted a survey of some 600 C-suite executives to attempt to look for the factors driving DevOps changes at all levels.
The most important thing the team heard about are the business factors that are driving change. Businesses are clearly expressing a desire to be agile, change fast, switch production lines across both products and services, and provision and handle the intricacies of supply chain management.
With edge computing in the mix, organizations appear to be looking for new connection mapping between business factors and technology factors.
“In this new world of IT, cybersecurity teams are becoming more and more important,” said Subramanian. “We want security that spans infrastructure, network data processes, workflows, intellectual property and more.
“With devices in more places than ever before, we need to ask ourselves just exactly how we ensure that nothing bad happens to these assets.”
From Progress’s perspective, with its Chef Business division technologies in the mix, progress will hinge on simplifying the complexity of technology. This will help businesses attain a higher level of automation to eliminate human errors created by manual tasks.
Subramanian views a variety of different activities that can be automated as part of the application development lifecycle. This could include test automation, build automation and security automation as well as automated monitoring and beyond. All of these IT elements essentially help build a picture of what is now called infrastructure as code.
SEE: Don’t curb your enthusiasm: Trends and challenges in edge computing (TechRepublic)
“In order to find the right balance of automation and figure out where we want humans to be involved in making basic decisions (and important decisions), versus deciding which tasks should remain in manual control is a big part of what we think about when we talk about a human free zone,” clarified Subramanian.
First, know your edge topology
DevOps is a more complex management challenge in a world with edge computing in it. Given the evolution of technologies within the context of edge computing, what do software architects and developers need to remember most going forward?
“When we talk about building software for edge environments today, what we need to think about most is identifying what type of edge topology we are working with, in any given environment,” said Prashanth Nanjundappa, VP of product management for the Chef product line at Progress. “It could be contained edge environments with fragmented device types that enjoy a high degree of connectivity, which they need because they are going to be individually managed — and conversely, we have decentralized edge devices.”
In the case of decentralized edge devices, Nanjundappa explains this topology as scenarios where the device itself could be operated by partners, franchises or other third parties. And in these environments, there is naturally less consistency of network connectivity to the edge device itself.
“Knowing the difference between the two is crucial if the edge infrastructure management team is going to be able to identify the architecture in front of them accurately and so achieve a secure software distribution model that works in a robust way for the long term,” explained Nanjundappa.
We might reasonably suggest that the finer-grained nuances and particularities created by elevating DevOps to a new level of edge computing literacy will come full circle back to the motherlode of the wider IT stack itself at scale. That performant, always-on and at-scale message is central to the Progress message set, so it can be inferred that a level of symbiotic software engineering is also at play here.
As a result, it seems that IT infrastructure and system policy controls could now be more fascinating and compelling than the apps and devices themselves.