While Linux containers have been around a long time and are widely deployed in data centres and IT environments, the lack of easy-to-use pre-integrated platforms and lack of interaction with a broader ecosystem have prohibited their use in small-footprint edge systems.
Guest blog written by Charlie Ashton.
Here Ashton explores how the recent introduction of Wind River Linux LTS 18 removes the barriers to the use of containers in applications like IoT gateways, industrial control systems, Radio Access Network (RAN) products and a wide range of network appliances.
Over the past few years, enterprise IT applications have increasingly been developed around ‘cloud-native’ computing architectures because of their speed, scale and economic benefits. Applications are segmented into microservices, increasing the reusability of individual modules while enabling agile deployment models and improving the efficiency of maintaining the code. Applications are then deployed within containers, where a container integrates the application itself along with all the dependent libraries and associated functions, resulting in a standard unit of software that has a minimal footprint and loads quickly.
Containerised applications are highly portable between computing environments since they’re isolated from the underlying compute platform. Orchestrators such as Kubernetes control the instantiation, scheduling and management of containerised applications in order to optimise the utilisation of compute, memory and storage resources.
Standards-compliant cloud-native implementations based on open-source projects are possible thanks to the Cloud Native Computing Foundation (CNCF). Founded in 2015, CNCF is dedicated to making cloud native computing universal and sustainable, based around a constellation of high-quality projects that provide a multitude of container services and orchestrate containers as part of a microservices architecture. With a membership roll that includes Amazon, Cisco, Google, Microsoft, Oracle, SAP and others, CNCF serves as the vendor-neutral home for many of the fastest-growing container-related projects including Kubernetes, Prometheus and Envoy, fostering collaboration between the industry’s top developers, end users and vendors.
While cloud-native architectures and containers were initially deployed in enterprise IT environments, the benefits they provide are equally desirable for embedded systems located at a customer premise or a remote site. Code reusability, efficient maintenance, platform independence and optimised resource utilisation are just as important for products and applications that are typically developed by small teams working to meet aggressive schedules and that often need to be deployed across multiple hardware architectures based on a variety of processor architectures.
Until recently, the cost and complexity of leveraging cloud-native architectures and containers for embedded systems were prohibitive in most cases. Developers were required to roll their own solutions, implementing custom solutions derived from software platforms optimised for IT environments. Because of these challenges, most embedded systems have either continued to be implemented using traditional ‘bare metal’ physical architectures or have adopted virtualisation approaches based on VMs that are likely sub-optimal in terms of agility, portability, footprint and/or load time.
The recent introduction of Wind River Linux LTS 18 provides applications, tools, documentation and other resources for embedded system developers looking at leveraging or deploying systems using a cloud-native model. Wind River Linux now includes pre-integrated components from CNCF, configured to deliver a fully-functional solution for embedded systems such as edge appliances. By leveraging this pre-integrated container platform, developers are able to focus their time on creating the applications that represent their true differentiation, enabling them to accelerate their time-to-market for value-added solutions.
Architecturally, Wind River Linux pre-integrates and/or interoperates with an ‘alphabet soup’ of CNCF projects, including Ansible, cAdvisor, CNI, etcd, GitHub, Google container registry, GRPC, OCI, Open vSwitch, Prometheus, registry, runc and sysdig, with others as potential additions for future releases. Wind River’s OverC technology, also available stand-alone at the Wind River GitHub site, integrates these CNCF components together with components from the Linux Foundation’s Yocto Project, resulting in an integrated embedded solution that is processor architecture-agnostic and ready to support any orchestration environment. Wind River’s OverC technology supports multiple container orchestration projects like Kubernetes.
Wind River Linux brings to embedded systems the key benefits of cloud-native architectures, such as high agility, seamless portability, small footprint and flexible, tuned load times. Finally, developers can cost-effectively leverage the use of containers in edge applications like IoT gateways, industrial control systems, Radio Access Network (RAN) products and a wide range of network appliances. At the same time, as discussed in a recent post the Wind River Titanium Cloud platform enables the use of cloud-native architectures for a wide range of telco cloud applications.
Courtesy of Wind River.