The Junos operating system is a secure, open, and programmable network OS that enables network automation at scale. As the core component of Juniper’s routing, switching, and security portfolio, this cutting-edge network OS eliminates lengthy repetitive manual tasks associated with service deployment, improving overall operational efficiency and service agility. Junos OS also serves as an open programmatic platform, empowering service providers, enterprises, and developers to accelerate business innovation.
The market environment is transforming. Increasing dependence on cloud-native applications, the continued growth of geographically distributed data center and branch offices, and the emergence of Internet of Things (IoT) and 5G technologies have all placed significant demands on the networking environment, driving the need to simplify configuration, integration, and management. Service providers and enterprises require an operating system that automates network processes, streamlines service deployment, and analyzes real-time network data consistently across a diverse and growing number of network devices and geographical locations.
Juniper Networks® Junos® operating system is the single network OS that powers Juniper’s broad portfolio of physical and virtual switching, routing, and security products. Built with open programmability and an intent-based automation framework as the core principles, Junos OS is the first modular network operating system that provides clear separation between control, management, and data planes. It is also the first network OS with open interfaces, versatile scripting support, and open-source frameworks, enabling service providers, enterprises, and developers to implement a DevOps approach that automates complex network operations to improve service agility.
Featuring a modular design, Junos OS includes Junos Node Slicing, a market-leading innovation for virtualization and optimization. By decoupling network software from the underlying network infrastructure while allowing control, management, and administration isolation, Junos Node Slicing enables the convergence of multiple concurrent network functions on a single chassis, maximizing network utilization while creating segmented services for customer satisfaction.
Architecture and Key Components
Junos OS consists of the following key automation components:
- Automation Frameworks: Junos OS supports a wide range of open-source automation frameworks, including Puppet, Chef, Ansible, and Salt. This allows the seamless integration of Junos OS-powered network devices with network systems management infrastructure. Junos OS also supports PyEZ, a micro framework for Python developed by Juniper, which enables remote automated device management.
- Programmability: The Juniper Extension Toolkit (JET) API is a simple framework providing seamless programmability access to control, management, and data plane services via a rich set of APIs. Decoupled from Junos OS releases, the JET API is consistent across the entire Juniper portfolio regardless of Junos OS devices or an external server attached to a Junos OS device.
- Telemetry: Junos OS incorporates Junos Telemetry Interface (JTI), a highly scalable distributed network analytic engine designed to gather, aggregate, and stream accurate, real-time network data and event states. JTI delivers the required enhanced visibility into the network to identify, isolate, and resolve potential issues based on real-time network statistics and events with minimal human interaction.
- Open Data Models: Since its inception, Junos OS has been modeling the configuration and operational state internally using what was effectively the precursor of YANG.What Junos OS pioneered has effectively become the industry standard, where Network Configuration Protocol (NETCONF) is used as a transport mechanism, while YANG is used as a data-modeling language. In addition to supporting YANG to model configuration objects, Junos OS also supports the standardized YANG models and OpenConfig.
- Junos Continuity: A major cause of downtime is the need to upgrade the network OS whenever new hardware, such as a line card, is installed in a device. These upgrades and the subsequent reboot always impact existing services. Junos Continuity provides a plug-and-play approach that ensures high network availability, preventing required device reboots by making the insertion of new line cards a non-service impacting event.
- Junos Node Slicing: Junos Node Slicing supports the convergence of multiple concurrent network functions on the same physical infrastructure. This gives service providers the ability to optimize their infrastructure, while offering differentiated services with enhanced operational and administrative isolation with a single chassis. By decoupling the network software from underlying infrastructure, Junos Node Slicing accelerates service deployment, reduces capital outlay, and improves operational efficiency.
Features and Benefits
The programmability and automation capabilities of Junos OS give service providers and enterprises the ability to automate business-critical services. This frees up valuable resources for innovation and optimal user experiences, which ultimately leads to greater customer satisfaction and brand loyalty. Junos Node Slicing optimizes the network infrastructure, enabling the convergence of multiple concurrent network functions on a single chassis, dramatically improving operational efficiency and top-line growth opportunities.
Junos OS improves the overall cost efficiency of network deployments. Junos Node Slicing enables the convergence of multiple concurrent network functions with a single chassis, maximizing the utilization of network nodes and improving CapEx efficiency. OpEx efficiency is achieved through automation, which replaces the extensive manual processes required by traditional network configuration, management, and operation, drastically simplifying network operations and virtually eliminating human errors.
Business requirements are always evolving, reflecting constantly changing market dynamics. The programmability and open-source automation frameworks supported by Junos OS give service providers and enterprises the ability to rapidly implement customized network services and deploy business-critical applications.
|Junos Node Slicing||Converges multiple concurrent network functions on a single chassis to accelerate service deployment, reduce capital outlay, and improve operational efficiency.|
|Seamless integration with a wide range of open-source automation frameworks||Enables implementation of a DevOps approach to automate complex network operations and business- critical services.|
|Juniper Extension Toolkit (JET) API||Offers a simple and programmable framework that provides open access to control, management, and data planes.|
|Junos Telemetry Interface (JTI) scalable distributed network analytic engine||Streams accurate real-time network data, providing service assurance with enhanced visibility to identify, isolate, and resolve potential issues based on real-time network statistics and events with minimal human interaction.|
|Junos Continuity||Makes adding new hardware a plug-and-play, non-service impacting event, eliminating device reboots during network updates.|
Junos OS supports high availability (HA), enabling service providers and enterprises to avoid extended maintenance windows and prolonged service impacts. Junos Continuity eliminates the device reboot and network OS upgrade typically required during the installation of new hardware such as line cards. Junos Selective Update allows users to apply a patch (hotfix) on an installed version of Junos OS running on a Juniper device without any service disruption.
By supporting full symmetric multiprocessing (SMP), Junos OS enables the operating system to utilize all CPU cores on the Routing Engine. The result is a flexible, scalable, and powerful network infrastructure with the multicore capabilities of the networking devices.
Junos OS incorporates many advanced security features that minimize network vulnerability. The Secure Boot feature certifies that Junos OS devices boot with only an authentic, untampered version of the Junos OS. It also ensures that devices boot an image that has not been tampered with. The built-in security features provide a secured and trusted chain of software development, safeguarding device integrity from factory to the branch site.
Junos OS encompass a comprehensive set of automation features and support for open-source framework and standard protocols. Automation features and open-source support are available across Juniper’s product portfolio, including the Juniper Networks MX Series 3D Universal Edge Routers, PTX Series Packet Transport Routers, ACX Series Universal Access Routers, EX Series Ethernet Switches, QFX Series Switches, SRX Series Services Gateways, and T Series Core Routers.
Junos Automation Scripts
Junos Automation Scripts consist of:
- Op-Scripts: Used to perform operational tasks on demand
- Event-Scripts: Used to instruct Junos OS to perform actions in response to system events
- Commit-Scripts: Used to instruct Junos OS to perform actions at or during commit time
- SNMP Scripts: Provide the flexibility needed to support custom MIBs
Fast Programmatic Configuration (eDB)
A fast, ultra-low-latency database for programmatic configuration, eDB resides on Junos OS to help with programmatic changes that are verified and monitored externally. SDN controllers and external applications alike can benefit from this fast channel to make control and data plane configuration changes on devices running Junos OS.
General-purpose remote procedure call (gRPC) is an open- source, BSD-licensed HTTP/2 RPC framework developed and used by Google to handle remote procedure calls. gRPC enables the easy creation of high-performance, scalable APIs and microservices in many popular programming languages and platforms.
HTTP is a protocol used for communication, usually with Internet resources or any application with a Web browser client. HTTPs enables communication over an encrypted connection.
Juniper Extension Toolkit
JET offers a set of APIs that are consistent across any Junos OS supporting JET. JET APIs are language-agnostic and can be accessed by any programming language. Applications developed using JET APIs are also binary-compatible and can be executed across any platform running a Junos OS release supporting JET.
Junos Snapshot Administrator (JSNAP)
Junos Snapshot Administrator captures and audits the runtime environment of network devices running Junos OS, automating network state verification by capturing and validating the status of a device. It is used to take pre- and post-snapshots of the environment, then compare them based on test cases provided. It is also used to audit a device’s runtime environment against predefined criteria. JSNAP is the Stylesheet Language Alternative Syntax (SLAX) version of the tool.
JSNAP using Python (JSNAPy)
JSNAPy is the Python version of the JSNAP tool described above.
JSON is a popular data exchange format which has become a standard for simple and lightweight communication between devices and applications. To enrich native support in several programming languages, Junos OS operational commands can emit output in JSON format. Junos OS configuration input can also be provided in JSON format.
Junos Telemetry Interface
The Junos Telemetry Interface (JTI) is a high-frequency telemetry export function available on Juniper networking platforms to optimize network performance and fault management.
Junos User Interface Scripting Environment
The Junos User Interface Scripting Environment (JUISE) is a set of tools that allows the development and testing of SLAX scripts targeting devices running Junos OS. Users can develop scripts in their own desktop environment, performing the necessary code, test, and debug cycles in a more familiar setting. Tools for developers are available, including a debugger, a profiler, a call- flow tracing mechanism, and trace files.
Jxmlease is a Python module that converts XML to intelligent Python data structures, and vice versa.
NETCONF is a protocol defined by the IETF for installing, manipulating, and deleting network device configurations.
NETCONF libraries support XML-based data encoding, SSH transport, and RPC support using different languages including Python, Ruby, PHP, Java, Go, and Perl.
OpenConfig is an informal working group of network operators that is focused on compiling a consistent set of vendor-neutral data models (written in YANG) based on actual operational needs from use cases and requirements from multiple network operators.
Junos PyEZ is a Python “micro-framework” used to remotely manage or automate a device running Junos OS.
With native support for Python in Junos OS, users can develop and execute operational, event, and configuration commit scripts using Python.
Representational State Transfer (REST) API
The RubyEZ framework allows users to automate management of Junos OS devices without requiring specific Junos XML knowledge.
Stylesheet Language Alternative Syntax
SLAX is a language for writing Junos OS Op Scripts, Event Scripts, Commit Scripts, and SNMP Scripts.
Third-Party Platforms and Tools
Ansible, SaltStack, Chef, and Puppet are IT provisioning tools that also bring the networking environment closer to the concept of continuous delivery. Junos OS automation supports all of these tools.
- Ansible: A free software platform that combines multinode software deployment, ad hoc task execution, and configuration management; Ansible works in proxy mode without requiring an on-box agent.
- SaltStack: A tool that allows users to remotely configure a number of devices simultaneously, with a single command; SaltStack works in proxy mode without requiring an on-box agent.
- Puppet: An open-source configuration management tool that runs UNIX-like systems or Microsoft Windows and includes its own declarative language to describe system configuration.
- Chef: An IT provisioning tool that integrates with cloud- based platforms to automate the process of provisioning, configuring, and maintaining new servers.
Extensible Markup Language (XML) defines a set of rules for encoding documents in a format that can be read by both humans and machines, while XML Schema Definition (XSD) is a World-Wide Web Consortium (W3C) recommendation that specifies how to formally describe elements in an XML document.
YANG is a standards-based, extensible, hierarchical data modeling language that is used to model the configuration and state data used by NETCONF operations, remote procedure calls (RPCs), and server event notifications.
Zero Touch Provisioning
Zero Touch Provisioning (ZTP) allows customers to automatically provision new Junos OS devices in the network without any manual intervention. Once a device is physically connected to the network with default factory configuration, it attempts to upgrade the Junos OS software automatically and also auto- install configuration files from the network.
Juniper Networks Services and Support
Juniper Networks is the leader in performance-enabling services that are designed to accelerate, extend, and optimize your high-performance network. Our services allow you to maximize operational efficiency while reducing costs and minimizing risk, achieving a faster time to value for your network. Juniper Networks ensures operational excellence by optimizing the network to maintain required levels of performance, reliability, and availability. For more details, please visit www.juniper.net/us/en/products-services.
About Juniper Networks
Juniper Networks brings simplicity to networking with products, solutions and services that connect the world. Through engineering innovation, we remove the constraints and complexities of networking in the cloud era to solve the toughest challenges our customers and partners face daily. At Juniper Networks, we believe that the network is a resource for sharing knowledge and human advancement that changes the world. We are committed to imagining groundbreaking ways to deliver automated, scalable and secure networks to move at the speed of business.