The "black box" of networking hardware is no longer irrelevant to organizations and developers who want to build valuable services and applications to extend or monetize their offerings or grow their business models. Learn how this is happening now with Juniper and Programmable Networks.
Scaling API-first – The story of a global engineering organization
Network Programmability for Developers: Why It's Time to Care
1. For Developers:
More information on
Network
Programmability
(and how it helps you build
better apps)
Lauren Cooney
Director, Developer & Product Marketing
Juniper Networks
lcooney@juniper.net
2. Why Should I Care?
Programmability allows you use software to change the behavior of
the existing box, rather than adding additional equipment to your
network. You are no longer limited to the imagination of the
network equipment vendor, you are free to innovate and extend
anything you can imagine.
For Developers, you can now take advantage of rich data that was
previously trapped within the network. With programmability the
power of creation belongs to you.
Opportunities include:
- Better, Smarter, & Real-time Data for your Applications
- Faster Applications
- New Services & Opportunities for Revenue
3. Challenges Overshadow Opportunities
- Increased Opex Costs & Reduced Budget
- Software offerings fragmented & stuck in
organizational silos; limited access to network
data.
- Lack of developer tools accessible to many
limits innovation at the network level; hardware
companies not able to make products for
specific web-based companies.
- Revenue opportunity creation complex & not
easy to integrate into existing infrastructures.
4. Current versus Emerging
- Limited Extensibility: Software, - Open & Extensible: Open Application
Applications & APIs control just devices. Models to control devices and redefine
- Legacy Systems: Hardware, not software, software behavior & communication;
driven efficiency and economics. Scale creation of value-added services. New Tools
through boxes, not software for simplification of data extraction.
- Vendor Lock-in: Network software comes - New Architectures & Better Efficiencies: A
from the network hardware vendor. combination of both centralized and
distributed architecture models for simple &
- Massive inefficiencies: Siloed and scalable communication.
disparate systems with limited methods of
communication, paths and protocols by - Vendor agnostic: Software & Applications
which to communicate with systems. that run across networks of all types &
brands. Economics defined by software
- Limited extensibility & growth allowing for massive scalability at lower
opportunity: Limited scale & simplification costs.
for virtualized & cloud-based systems.
- Opportunities for Growth: Ability to alter,
simplify, and scale network paths & protocols
not only to systems but to the cloud & more
efficiently.
Network Programmability Redefines Software Behavior
Enabling New & Integrated Solutions
5. Why Does Programmability Matter?
To help make network value easily accessible to developers, and allow
developers to create more intelligent & smarter applications.
Network-Aware Application-Aware Programmable
Applications Applications Networks
Using code to make Making network
Coding to use network
the network adapt to infrastructure
value natively inside
the needs of accessible to
applications.
applications developers.
Network can provide information to Applications
Applications can provide information to the Network
6. Programmability Changes how the
Networks Works
The New Network is Programmable.
The New Network allows you use software to change the behavior of the existing box,
rather than adding additional equipment to your network. You are no longer limited to the
imagination of the network equipment vendor, you are free to innovate and extend
anything you can imagine. With programmability implemented in your network the power
of creation belongs to you.
The only way to make your network more intelligent is to give you great software
platforms, tools, technologies, and products to extract valuable network data and
use it to optimize your network’s operation. You can build amazing software that
helps you run your network better than ever before.
The Programmable Network drastically changes network economics through
customizable software, allowing for massive scalability, resource efficiencies, and
unprecedented extensibility – across networks, devices, and to the cloud.
Simply, Efficiently, and Cost-Effectively.
7. Why Do We Need a Programmable Network?
Every IT department and enterprise has a unique combination of
applications, network architecture, efficiency constraints and
goals, so out out-of-the box solutions rarely fit your needs.
IT and Development often live separate lives
Information Developers
Technology
Enterprises / Customers Developers
Information Telecom
Technology Infrastructure
Application/Network divide OSS/Network divide
8. Programmable Networks
Solve This
Innovation needs to sit inside your organization. Juniper
makes that a reality by providing the tools, technologies &
products you trust with a
Software platform that offers:
• New architectures, new tools & new approaches that define the Network.
• A network platform that is application-aware, allowing for the network to be
controlled, optimized and informed by applications.
• Allowing developers to create the software (network-aware applications) that
utilize the network optimally, rather than the vendor providing custom-fit
software.
• The ability to extend this to program to devices through data flow intelligence.
Network Programmability allow the fine-tuning & control that customers want,
with the decoupling of software from systems that developers desire.
9. Current Network Application Capabilities
• Allows Flexibility of Service Placement
– Place your services where you want, not necessarily where the user is
physically connected
• Control of Resources from Applications
– Customize network behavior to better meet user/application needs
– Introduce non-configured device behavior changes: ephemeral
classifiers
• Lowering of operational barriers
– Decrease dependency on the traditional provisioning workflow
– Enable automation and dynamic adaptability within constraints
Juniper is extending this to help customers, partners, developers, and
more take advantage of new technologies. Customers should be able to
take advantage of more than just the above.
10. We Are Introducing More.
Open Application Models
Decoupling of Software from Systems
Real-time Data, Analytics, and Better Reporting
Visibility of Applications in the Network
New Protocols & Communication Methods
New Service & Revenue Opportunities
You Need to Make your Applications Smarter, More Flexible & Faster
11. Juniper’s New Network Is Programmable
Network Programmability
Network-Aware Application-Aware Programmability
Applications Networks A networking device with a
published set of APIs or SDK
Network visibility in an Real-time data capture and extraction
that is enabled with
application or delivery service & correlation of information from the
standardized protocols
used to build enhancements. network to be used in applications,
allowing Applications to
Focus is on location of the services, & solutions. Allows for new
program the forwarding,
end user and proximity to the service topologies, new paths, ability
control or management
server/cache. Examples to dilate or constrict bandwidth on a
plane of the device. Include
include services for network link, path, take preventive measures
orchestration (OSS/BSS),
performance management, and protect network assets in real
Routing Signaling Activity,
WAN Optimization, customer time. Allows developer to create better
Analytics, and Perimeter
experience management, services such as Bandwidth &
Service Control.
content filtering, and internal Resource Optimization, Quality of
billing of networked Service (QoS), Content-Based Billing,
applications. Quality of Experience (QoE), VoIP
Fraud Monitoring and Regulatory
Compliance.
12. Programmable Networks
New Opportunities for Developers
Open Data Programmable New Future
Access Perimeters Standards & Innovation
Get data about Security, services, Protocols Language
network flows, users, devices: make them independent,
Provide fine-grain
applications, and more functional, scalable and
control over where
network topologies to flexible, and valuable accessible to the
services and content
inform applications, through data flow general purpose
are placed in the
and have applications intelligence. developer: meet
network, and how
inform the network disruption where it
traffic is routed to
happens
and from them.
Intelligent. Open. Efficient.
Programmability allows for developer customization and provides services &
solutions enabling flexible business models and innovative service delivery.
13. Open Data Access
Network-Aware Applications
• Extraction of data from the network with massively simplified tools to define policy,
communication methods (protocols), resource optimization, control data and more in the
form of Applications.
• Creating resources for developers with REST APIs, exposing resources for manipulation
(persisted, cached, copied, queried, and more).
• Control of resources from applications including:
•Customization of network behavior to better meet user/application needs
•Introduce non-configured (ephemeral) device behavior changes.
• Juniper is putting APIs on services, and our services go deeper into the network
elements, giving network operators a level of inspection and control that’s highly valuable
– down to the network flow or packet level.
•By extending this abstraction from the single network element to an entire network
with the programmable network platform it enables developers to go deep into
networking stack and focus on their value add without the need to know intricacies
of networking hardware and protocols.
14. Programmable Perimeters
Ability to simply program to new devices through new
methods.
• The perimeter is no longer defined by devices, but by APIs and interfaces.
• Programmable Device plays open up much richer off-network element computation
as part of the network processing.
•Flexibility of service placement
• Place your services where you want, not necessarily where the user or service
client is physically connected.
• Control of resources from applications
• Customize network behavior to better meet user/application needs
Introduce non-configured device behavior changes: ephemeral classifiers
• Lowering of operational barriers
•Decrease dependency on the traditional provisioning workflow
• Static configurations are maintenance heavy & expensive to change
• Enable automation and dynamic adaptability within constraints
15. New Standards & Protocols:
Application-Aware Networks
• Scalable infrastructure able to influence and adapt to applications, content and
end-users
• Enables new business models
• Enables continuous service adjustment between the customer & operator
• Makes network more relevant to applications, content & end-users
• Enables in-network placement of applications & content
• Simplifies interfacing with network entities
• Communicates to application how fast it can/should run
• Triangulates content, distance, and utilization for end-user.
• Traditional network models are defined by a north/south operational model,
while the programmable network expands applications east/west, allowing new
services to be inserted and monetized with finer-grain control over flows between
service and network elements.
16. Future Innovation
Limitless Opportunities
The Programmable Network Enables:
•New business models
• New revenue-generating services
•Faster movement to scale and control data & applications
• Software to provide massive cost-savings
Programmability gives developers the keys to jump-start innovation (along with
directions to drive it), at all levels, with all the tools, platforms & products they
need to be successful.
17. New Ideas, New Technology:
What You Need to Know
• OpenFlow: takes network information &
exposes it to make new things possible;
selecting traffic to “steer”
• ALTO – location (where is my app in the
network?)
• PCE – what’s the best path for my application
to use across the network?
• BGP-TE – let me balance traffic across that
path (get my app there the best way possible)
18. How Do You Make This Happen?
THE APPLICATION WORLD THE APPLICATION WORLD
Real-time topology
understanding
(ALTO, BGP-TE) SI ISV Service Research Enterprise
Partner Partner Provider Institution Customer
Steering traffic through Web Services API
optimal paths
(PCE)
Network Orchestration Across Networks
Programmability
Selecting specific traffic
OpenFlow
BGP-TE
(OpenFlow)
ALTO
Mgmt
PCE
Network APIs
…
Opening more touchpoints
to control: Gateways, billing
collectors, service
appliances, CDN, DPI/IDP
THE NETWORK WORLD THE NETWORK WORLD
Programmable Networking is SFW
19. Types of Developer Applications
• Identify cost savings or operational improvements based on
network element, subscriber and flow data. Applications that
improve the security, policy enforcement or end to end reliability of
Efficiency: the network are other efficiency-driven models.
• Converge networks & layers by integrating functions for increased
Save Money, Use Less performance.
• Simplify: Reduce number of network elements and the number of
control points into the network.
• Maximize utilization of existing resources, creating opportunities
Optimization: for customer-specific or fine-grain services, or end user experience
improvement. The network becomes a valued ingredient brand in
the end user mobile or desktop experience.
Improve systems & • Integration of core functions to increase performance. Drastically
software you already have. reduce number of network elements and the number of control
points into the network.
• Added Value through Services: Reduce network data to context
specific information, create delivery paths for new services, and
Creation: integrate multiple external data sources that increase in value as
they are correlated with network-centric data.
New services & Revenue • Opportunities for customers and partners to create revenue-
generating services with the programmable network – from
Generating Opportunities subscriber-centric services to in-depth services specific to each
customer needs.
20. Customer Opportunities
• Resource optimization through software, saving money by optimizing what you have,
Enterprise: reducing the need to purchase more by utilizing what you already have.
• Identify cost savings or operational improvements by integrating functions and increasing
performance. Create applications that improve the security, policy enforcement and end to
Simplification, end reliability of the network.
Optimization & • User experience, resource optimization and efficiency are delivered through the fine-grain
Cost-Savings control of new network elements to streamline service placement, path engineering, and
policy decisions, simplifying your IT organizations.
Service- • Unique & New Service Creation: the ability to insert services at multiple points in the data
or control paths of the network, and the ability to open these entry points to Juniper’s and
Provider: our customers’ software and services partners.
• Monetization: Traditional network models are defined by a north/south operational model,
while the programmable network expands applications east/west, allowing new services to
New Service be inserted and monetized with finer-grain control over flows between service and network
Creation & elements.
Revenue • Customization: Freedom & Ability to program & customize services based on customer
Opportunities needs: ie: subscriber-centric services to in-depth services specific to each customer needs.
• Simplicity: Focus value add without the need to know intricacies of networking hardware
Developer: and protocols due to new tools & technologies.
• Easy Access to Core APIs: Creating resources for developers with REST APIs, exposing
resources for manipulation (persisted, cached, copied, queried, and more).
Simple access to • Up-leveling of Data: Network level access as well as innovation in how information can be
intelligent data transferred and delivered across networks, transforms the type of solutions that can be built
with great tools – up-leveling applications and services to be more intelligent, scalable, accessible to
developers.
21. New Opportunities & Benefits
Reduce Cost & Create & Differentiate Provide Simple & Generate Revenue for
Improve Efficiency Services Integrated Solutions Customers, Partners
for Business & Developers
-Converge networks and -Improve service velocity -No longer about the -Reduce network data to
layers hardware or software, context specific
-Reduce time to service, focus on solutions & information
-Integrate functions and lower new service intro service creation.
increase performance cost - Create delivery paths for
- Create a differentiated new services, and integrate
-Reduce number of -Improve effectiveness of solutions platform enabling multiple external data
network elements and the service delivery flexible business models sources that increase in
number of control points and service delivery. value as they are correlated
into the network -No compromise on service Provide a full solution for with network-centric data.
quality specific services (e.g.
-Simplify service delivery caching, cloud CPE, etc). - Freedom & Ability to
-E2E restoration with program & customize
-Reduce number of service transparency of network -Network level access as services based on customer
touchpoints failures to service layer well as innovation in how needs: ie: subscriber-
information can be centric services to in-depth
- Automate service - Enable quality of transferred and delivered services specific to each
topological Relocation. Experience guarantees across networks, customer needs.
transforms the type of
solutions that can be built –
up-leveling applications
and services to be more
intelligent, scalable, and
pertinent to business.
22. JUNIPER’S DEVELOPER-CENTRIC
APPROACH
Rapid Development of Differentiated Apps
Application
Innovation
Focus on innovation
Expensive and
Decrease production costs
inefficient Application
Increases speed of
Innovation
development
Consistency,
Platform Decouple velocity of
security and
Interfaces and application innovation from
performance lapses
Foundation platform innovation
development
Junos SDK
& Junos
Space SDK Unlock Intelligent Data
APPS + SERVICES APPS + SERVICES
O L D W AY NEW WAY
23. JUNIPER VISION:
Network Programmability
What
3rd party applications & will
SDKs you
SI Partner ISV Service Research Enterprise
Partner Provider Institution Customer Build?
Juniper Programmable
Network Platform
Pulse - Endpoint
Web Services APIs
Junos Space - Across the network
CDN Data Center
Control Management Data /
Network APIs API API Packet API
OpenFlow ALTO
Junos SDK
Network device
24. Where Juniper Plays
3rd Party 3rd Party
App App Experience governed through
data insight & ephemeral state
control: make network aware of
applications
Flow Content Subscriber
Existing Systems Analysis Placement Analytics
Junos Space APIs
Make applications Junos Space
aware of network:
resources, integration
points, services Control Management Data /
OpenFlow ALTO
exposed API API Packet API
Network APIs
Junos SDK Network device
26. OTHER APPLICATIONS WE’RE SEEING
•Content / Service Routing
•Locate best copy of content for the end
user; using customer rules
•Managed content distribution
•Content prepositioning to caches
•Live events
•Map-Reduce class of applications
•High-end distributed computing
•Cloud OS network operations
•Move VMs / Apps / Storage between
locations
•Cloudburst
•Flexibly, on-demand allocate cloud &
network capacity to customers
•Security
•DDoS attack prevention
27. Spark new customer conversations
Inspire new partnerships
Ignite Service & Application innovation
29. Intelligent:
Network Data-Driven Intelligence Unlocked
•New services can be created and inserted into the transactional and data flows of the
network and stimulate a shift equivalent to that of building websites on application servers
rather than static content servers.
• Extraction of data from the network to define policy, communication methods (protocols),
resource optimization, and more.
• Ability to alter, simplify, and scale network paths and protocols not only to systems but to
the cloud – via simple to use software tools.
• Juniper has created massively simplified tools to extract data from the network for
changes to policy, communication methods, control, security, and more.
• Juniper is putting APIs on services, and our services go deeper into the network
elements, giving network operators a level of inspection and control that’s highly valuable.
By extending this abstraction from the single network element to an entire network with the
programmable network platform it enables developers to go deep into networking stack and
focus on their value add without the need to know intricacies of networking hardware and
protocols.
30. Open:
APIs and New Protocols provide development
opportunities
• Simple & Powerful APIs: Elimination of information & hardware silos, allowing the
ability to communicate with different systems and servers that were previously
unavailable.
• Data about consumption, users, subscribers, flows and policies is available -
created, annotated, and aggregated across every single point at which the network
comes into contact with a customer, employee or partner.
• The ultimate “social media” play for businesses that thrive on the economics of
their own expertise, content and services – the value is conveyed in the graph of data
exposed.
• The network has to be extendable in terms of services, their location, and the
optimization of resources to deliver them.
• Visibility: Exposing Network elements and allowing insight into formerly closed
systems.
31. Efficient:
Software Scalability & Performance Optimization
with Cost-savings
• Easy to use OpenAPIs and North/South-bound interfaces for connectivity to a multitude
of devices
•User experience, resource optimization and efficiency are delivered through the fine-
grain control of network elements to effect service placement, path engineering, and
policy decisions.
• Far from the fixed function, cost-driven component of the data center, the
programmable network is the dominant term in defining IT value. Everything from
central office to data center to mobile device is connected to one or more networks.
• Identify cost savings or operational improvements based on network element,
subscriber and flow data. Applications that improve the security, policy enforcement or
end to end reliability of the network are other efficiency-driven models.
• Integration of core functions to increase performance. Drastically Reduce number of
network elements and the number of control points into the network.
32. Extensible:
Programmable Networks are limitless, and allow you to
innovate & plan for the future.
• The programmable network approach adds unique value propositions for Juniper
and our customers: the creation of new services, the ability to insert services at
multiple points in the data or control paths of the network, and the ability to open
these entry points to Juniper’s and our customers’ software and services partners.
• There is a further multiplicative effect when third parties can insert and leverage
network services.
• Opportunities for customers and partners to create revenue-generating services
with the programmable network – from subscriber-centric services to in-depth
services specific to each customer needs.
Hal: edited third bullet since it overlapped fourth a bit, and focused on the tools part, which is a great point
Hal: I still think the “to the cloud” is misplaced. Could we play it with the centralized vs distributed control? there’s distributed (all over the net), centralized (one master brain) and then “cloud based” (it’s remote, could be either one)
You’re thinking you can already do this, right? But you can’t. We’re making development move up a level – by giving you access to new technologies, products and platforms that will up-level your development abilities for new applications & services. Network-Aware ApplicationsNetwork visibility in an application or delivery service used to build enhancements. Focus is on location of the end user and proximity to the server/cache. Examples include services for network performance management, WAN Optimization, customer experience management, content filtering, and internal billing of networked applications. Application-Aware NetworksReal-time data capture and extraction & correlation of information from the network to be used in applications, services, & solutions. Allows for new service topologies, new paths, ability to dilate or constrict bandwidth on a link, path, take preventive measures and protect network assets in real time. Allows developer to create better services such as Bandwidth & Resource Optimization, Quality of Service (QoS), Content-Based Billing, Quality of Experience (QoE), VoIP Fraud Monitoring and Regulatory Compliance.Programmable NetworksA networking device with a published set of APIs or SDK that is enabled with standardized protocols allowing Applications to program the forwarding, control or management plane of the device. Include orchestration (OSS/BSS), Routing Signaling Activity, Analytics, and Perimeter Service Control.
Hal: this went back into data focus and running the network. I believe we need to keep that bi-drectional data up from the netowrk control down to the network flow; it’s about the closed loop. Edit what I did obviously….
There is a divide between IT and developers that doesn’t allow for innovation. Demands on the network drive massive scale, including increased bandwidth for content, streaming, videos, and more. Difficult to solve deep network problems, such as how to content distribution, protocol compatibility, performance, security issues, and more. Need to be able to control networks in new ways with specialized customization. Web-based organizations unable to take advantage of rigid, OOB hardware offerings. Lower barriers to entry needed for new services or offerings, whether in-house developed or from a partner or third party.Adding boxes to solve problems is not economical nor operationally efficient; Economies of scale are creating constraints that typical networking platforms cannot fix.
There is more out there that can be offered. Here is what you want as a developer.
hal: attempting marketing here
Hal: again, can we either merge this into the “value pillars” or into the types of apps? seems like we have five or more different views of TPN, and I think we need four: techincal, what and why; value/business what/why, for developers, what/why and customers, what/why This content should be merged into developer/business, I think.
Objective of this slide:One of the common fears of developers is the amount of net new investment s/he has to make on the platform. “HOW MUCH time do I have to invest in getting started here”. The Goal here is to emphasize the strengths of our SDKs – in that our SDKs come out of the box, comprehensive and enables the developers to focus on INNOVATION and NOT on the plumbing. Goal here is also to stress that we enable GTM faster and efficiently. Re-iterate 3 principles.===In the past developers are forced to create the plumbing before they can start building applications. Much time was spent and wasted in focusing heavily on the foundation aspects than the business and innovation aspects of application development.That’s the reason at Juniper we decided to take a different approach. Where Juniper Platform exposes the needed plumbing thru the SDK and APIs so developers can focus more on innovation and less on the plumbing aspects. Thereby enabling the developers to unlock and expose the network intelligence thru their applications easily, effectively and efficiently.Some of the key benefits our developers are already seeing :Faster development timeGTM quickerMore intelligent applications at a faster time. Less time on the plumbingTransition to the next slideTo summarize in one slide, you as a network developer now have the capability of building a variety of solns on our platform
Speaker notes and backup informationJuniper is a strong proponent of open networks & programmability and has been so for many yearsKey benefit of programmability is to enable value creation on the new network, e.g., for the creation of value added services or apps that simplify network managementExamples of Juniper’s open stance include: Juniper enables the use of 3rd party optics on Juniper products and several companies OEM Juniper products, incl. Ericsson.Juniper is also actively creating a developer ecosystem, Junos Developer Network, with over 100 partner companies signed up to dateJuniper provides unique end-to-end programmabilityStarting with on-device: JunosJunos Software Development Kit (SDK) offering programmability; OpenFlow is one of the APIs that enable programmabilityCross-device: Junos SpaceWith Space SDK to enable orchestration and management, incl. mash-ups of networking apps with non-networking appsOn the Endpoint: Junos PulseJunos Pulse available for iPhone and iPad among othersUse cases include handset and data securityOpenFlow enriches programmability of the deviceHelping make apps network-aware and networks app-awareOpenFlow adds new incremental method for programmable filter-based forwardingJuniper utilizes several mediation layers, ALTO, PCE, OF – all leveraging industry standards.As such, OF is one of many elements of network programmability and in line with Juniper’s vision for the programmable new networkFAQ:Do all Juniper products have SDKs?No, not all Juniper products have SDKs at this point in time but we plan to roll out SDKs to all platforms expanding on the MX SDK offeringPossible use cases for SDKsJunos SDK: “Embedded” apps: packet processing, proximity, data collection API examples: DMI, OpenFlow, ProximityJunos Space: widgets, content-oriented applications, network management (network data pre-processing & presentation), higher-level APIs to Junos SDK apps, workflow orchestration, etc.; mashups with non-networking appsPulse APIs: security
A simple example as in the case of Joulex, a partner of Juniper the goal is to enable and automate a bidirectional energy management of network assets.However there is no easy way to do this due to lack of standards.Junos Space SDK provides a clear path to Joulex to access the device energy usage uniformly and control devices intelligently.
IT LevelAccessCloudMobileCrowdsharing (inside stadium)