The role of application developers in driving innovation in software applications is no secret. Developers today leverage a wide range of tools and pre-built frameworks by utilizing Application Programming Interfaces (APIs). The cloud-native ecosystem provides a technology framework for developers to rapidly create such applications including, but not limited to, Edge Computing and IoT applications. The application development process has also seen rapid changes as development is now done through rapid iterations and DevOps. The platform for such development has shifted towards lightweight containerization technologies like Linux Containers, Docker containers and cluster-management technologies such as Kubernetes.
Several use cases are emerging in the Multi-System Operator (MSO) and telco ecosystems where such applications see relevance. The low latency access networks of these ecosystems has led to architectures that allow deployment of applications at the proximity of end-user devices. These applications generally built on cloud native technologies will drive future use cases in industrial robotics, consumer entertainment, autonomous vehicles, drones, connected living, eHealth etc. Such architectures require platforms that enable “cloud-first” developers and at the same time provide new revenue opportunities for operators to monetize their beach-front property, i.e., low latency access networks.
The evolution of the SNAPS™ Platform for Cloud Native
The SNAPS™ platform, is software infrastructure, tool and best practice to help service providers and vendor develop, demonstrate and integrate NFV on edge platforms. SNAPS can accelerate adoption of Virtual Network Functions by bootstrapping and configuring a cloud platform for developers so they can focus on their applications. Aricent co-created the SNAPS-OpenStack and SNAPS-Boot projects and contributed to the platform’s development with CableLabs.
In my last blog I had mentioned how we in the SNAPS community were planning to evolve towards a cloud native platform. We debated whether containers are ready for carrier-grade workloads and how we can bootstrap simplified cloud native clusters for developers. The cloud native ecosystem has a large landscape. It is complex and can lead to real confusion for first-time developers on what to use and how to leverage it in a rapidly evolving market.
The developer must containerize applications, install and configure a cloud native cluster, think about tooling, monitoring, management, orchestration, serverless, DevOps etc. In short, this is a massive learning curve for the developer. In addition to that, there are complexities in container networking, persistent storage, micro-service architecture usage and service discovery. There are several other systems and design patterns that go into a successful cloud-native application development.
Today CableLabs and Aricent announced the launch of a new Open Source project called SNAPS-Kubernetes. It is a logical extension to our earlier projects. In this way, developers can easily launch, manage and configure a cloud-native platform in minutes. You can read more about this release on the CableLabs blog here.
What Constitutes the SNAPS-Kubernetes Project?
When we started working towards building the SNAPS-Kubernetes project, we considered the significant challenges facing MSOs and developers. We wanted to create a solution that helps developers build a feature-rich cloud native environment rapidly. The platform has a strong roadmap and today contains key bootstrapping features in the base release. They include:
■ Support for Kubernetes version 1.10 and Docker runtime
■ Automated installation and configuration of the Kubernetes cluster
■ Support and choice of multiple cluster networking and CNI plugins, i.e., Weave, Flannel, Calico, MACvLAN and DHCP. Support for SR-IOV and multi-homed PODs
■ Support for CEPH based persistent storage boot volumes for PODs
■ Kubernetes dashboard POD. POD health notification and visualization of network topology
■ Resource management solutions like CPU Pinning, huge page support, POD/node affinity and anti-affinity and Availability zones
■ Authentication and role based access. Support for logging and diagnostics. Additional capabilities for CPU, memory and network usage monitoring
In the future, we have plans to support serverless architectures to offload functions to the cloud native infrastructure. This can help to implement event driven architectures. We also plan to add a complete reference micro-service architecture and service mesh architecture for developers to create rich, resilient and nimble applications.
We are looking forward to the larger participation for the developer and MSO communities. Together, we can solve the key challenges and create a robust platform for containerized, network applications.
Do you have any questions? We’d love to hear from you
■ Send an e-mail directly to firstname.lastname@example.org or email@example.com
■ Contribute to the documentation, backlog and code on GitHub www.github.com/cablelabs/snaps-kubernetes
■ Reach out on IRC: Server: Freenode Channel #cablelabs-snaps
About the Author
Assistant Vice President (AVP)
Shamik Mishra is currently Assistant Vice President (AVP), Technology and Innovation at Aricent. He is a practice leader for product architectures at Aricent. He has extensive experience and contributions in software development in cloud, wireless technologies, edge computing and platform software. His research interests are Network Function Virtualization (NFV), Cloud and edge computing and Machine Learning (ML). Shamik has a bachelor’s and a master’s degree from Indian Institute of Technology (IIT) Kharagpur.