for developers: why should i care about programmability

33
Lauren Cooney Director, Developer & Product Marketing Juniper Networks [email protected] For Developers: More information on Network Programmability (and how it helps you build better apps)

Upload: juniper-developer-resources-cooney

Post on 20-May-2015

1.345 views

Category:

Technology


1 download

DESCRIPTION

An overview of developer benefits when building application utilizing previously unlocked network data. Introduction of new technologies & products available, and examples of what other developers are building today.

TRANSCRIPT

Page 1: For Developers: Why Should I Care about Programmability

Lauren CooneyDirector, Developer & Product MarketingJuniper [email protected]

For Developers:More information on Network Programmability

(and how it helps you build better apps)

Page 2: For Developers: Why Should I Care about Programmability

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

Page 3: For Developers: Why Should I Care about Programmability

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.

Page 4: For Developers: Why Should I Care about Programmability

Current versus Emerging

- Limited Extensibility: Software, Applications & APIs control just devices. - Legacy Systems: Hardware, not software, driven efficiency and economics. Scale through boxes, not software- Vendor Lock-in: Network software comes from the network hardware vendor. - Massive inefficiencies: Siloed and disparate systems with limited methods of communication, paths and protocols by which to communicate with systems.- Limited extensibility & growth opportunity: Limited scale & simplification for virtualized & cloud-based systems.

- Open & Extensible: Open Application Models to control devices and redefine software behavior & communication; creation of value-added services. New Tools for simplification of data extraction. - New Architectures & Better Efficiencies: A combination of both centralized and distributed architecture models for simple & scalable communication. - Vendor agnostic: Software & Applications that run across networks of all types & brands. Economics defined by software allowing for massive scalability at lower costs. - 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

Page 5: For Developers: Why Should I Care about Programmability

Making network infrastructure accessible to developers.

Using code to make the network adapt to

the needs of applications

Why Does Programmability Matter?To help make network value easily accessible to developers, and allow

developers to create more intelligent & smarter applications.To help make network value easily accessible to developers, and allow

developers to create more intelligent & smarter applications.

Coding to use network value natively inside

applications.

Network-Aware Applications

Application-Aware Applications

Programmable Networks

Network can provide information to Applications

Applications can provide information to the Network

Page 6: For Developers: Why Should I Care about Programmability

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.

Page 7: For Developers: Why Should I Care about Programmability

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.

Information Technology

Developers

Information Technology

Telecom Infrastructure

Application/Network divide OSS/Network divide

IT and Development often live separate lives

Enterprises / Customers Developers

Page 8: For Developers: Why Should I Care about Programmability

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.

Page 9: For Developers: Why Should I Care about Programmability

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.

Page 10: For Developers: Why Should I Care about Programmability

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

You Need to Make your Applications Smarter, More Flexible & Faster

New Service & Revenue Opportunities

Page 11: For Developers: Why Should I Care about Programmability

Juniper’s New Network Is Programmable

Network Programmability 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 Networks

Real-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.

ProgrammabilityA 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.

Page 12: For Developers: Why Should I Care about Programmability

Future Innovation

Language independent, scalable and

accessible to the general purpose developer: meet

disruption where it happens

Programmable Networks

New Opportunities for DevelopersNew

Standards & Protocols

Provide fine-grain control over where

services and content are placed in the

network, and how traffic is routed to and from them.

Programmable Perimeters

Security, services, devices: make them

more functional, flexible, and valuable

through data flow intelligence.

Open Data Access

Get data about network flows, users,

applications, and network topologies to inform applications,

and have applications inform the network

Intelligent. Open. Efficient.Programmability allows for developer customization and provides services & solutions enabling flexible business models and innovative service delivery.

Page 13: For Developers: Why Should I Care about Programmability

Open Data AccessNetwork-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.

Page 14: For Developers: Why Should I Care about Programmability

Programmable PerimetersAbility 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

Page 15: For Developers: Why Should I Care about Programmability

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.

Page 16: For Developers: Why Should I Care about Programmability

Future InnovationLimitless 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.

Page 17: For Developers: Why Should I Care about Programmability

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)

Page 18: For Developers: Why Should I Care about Programmability

How Do You Make This Happen?

Programmable Networking is SFW

THE APPLICATION WORLD

THE NETWORK WORLD

NetworkProgrammability

SIPartner

ISVPartner

ServiceProvider

ResearchInstitution

EnterpriseCustomer

THE APPLICATION WORLD

THE NETWORK WORLD

Web Services API

Orchestration Across Networks

ALT

O

BG

P-T

E

PC

E

Mgm

t

Ope

nFlo

w

…Network APIs

Real-time topology understanding

(ALTO, BGP-TE)

Steering traffic through optimal paths

(PCE)

Selecting specific traffic(OpenFlow)

Opening more touchpoints to control: Gateways,

billing collectors, service appliances, CDN, DPI/IDP

Page 19: For Developers: Why Should I Care about Programmability

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 the network are other efficiency-driven models.

• Converge networks & layers by integrating functions for increased performance.

•Simplify: Reduce number of network elements and the number of control points into the network.

Efficiency:Save Money, Use Less

•Maximize utilization of existing resources, creating opportunities 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.

•Integration of core functions to increase performance. Drastically reduce number of network elements and the number of control points into the network.

Optimization:Improve systems & software

you already have.

•Added Value through Services: Reduce network data to context specific information, create delivery paths for new services, and integrate multiple external data sources that increase in value as they are correlated with network-centric data.

•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.

Creation:New services & Revenue

Generating Opportunities

Page 20: For Developers: Why Should I Care about Programmability

Customer Opportunities•Resource

optimization through software, saving money by optimizing what you have, 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 end reliability of the network.

•User experience, resource optimization and efficiency are delivered through the fine-grain control of new network elements to streamline service placement, path engineering, and policy decisions, simplifying your IT organizations.

Enterprise:Simplification, Optimization & Cost-Savings

•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 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 be inserted and monetized with finer-grain control over flows between service and network elements.

•Customization: Freedom & Ability to program & customize services based on customer needs: ie: subscriber-centric services to in-depth services specific to each customer needs.

Service-Provider:New Service Creation & Revenue

Opportunities

•Simplicity: Focus value add without the need to know intricacies of networking hardware 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).

•Up-leveling of Data: Network level access as well as innovation in how information can be transferred and delivered across networks, transforms the type of solutions that can be built – up-leveling applications and services to be more intelligent, scalable, accessible to developers.

Developer:Simple access to intelligent data with great tools

Page 21: For Developers: Why Should I Care about Programmability

New Opportunities & BenefitsReduce Cost &

Improve EfficiencyCreate & Differentiate

ServicesProvide Simple &

Integrated Solutions for Business

Generate Revenue for Customers, Partners

& Developers

-Converge networks and layers

-Integrate functions and increase performance

-Reduce number of network elements and the number of control points into the network

-Simplify service delivery

-Reduce number of service touchpoints

- Automate service topological Relocation.

-Improve service velocity

-Reduce time to service, lower new service intro cost

-Improve effectiveness of service delivery

-No compromise on service quality

-E2E restoration with transparency of network failures to service layer

- Enable quality of Experience guarantees

-No longer about the hardware or software, focus on solutions & service creation.

- Create a differentiated solutions platform enabling flexible business models and service delivery. Provide a full solution for specific services (e.g. caching, cloud CPE, etc).

-Network level access as well as innovation in how information can be transferred and delivered across networks, transforms the type of solutions that can be built – up-leveling applications and services to be more intelligent, scalable, and pertinent to business.

-Reduce network data to context specific information

- Create delivery paths for new services, and integrate multiple external data sources that increase in value as they are correlated with network-centric data.

- Freedom & Ability to program & customize services based on customer needs: ie: subscriber-centric services to in-depth services specific to each customer needs.

Page 22: For Developers: Why Should I Care about Programmability

JUNIPER’S DEVELOPER-CENTRIC APPROACH

Expensive and inefficient

Consistency, security and performance lapses

Focus on innovation Decrease production costs Increases speed of

development Decouple velocity of

application innovation from platform innovation

Unlock Intelligent Data

Rapid Development of Differentiated Apps

APPS + SERVICES

O L D WAYAPPS + SERVICES

NEW WAY

ApplicationInnovation

Platform Interfaces

and Foundation

development

ApplicationInnovation

Junos SDK & Junos

Space SDK

Page 23: For Developers: Why Should I Care about Programmability

JUNIPER VISION: Network Programmability

Juniper Programmable Network Platform

SI Partner ISV Partner Service Provider

ResearchInstitution

Enterprise Customer

Pulse - Endpoint

Junos Space - Across the network

Network APIsControl

APIData /

Packet APIALTO

Management API

OpenFlow

Web Services APIs

Junos SDK

CDN Data Center

3rd party applications & SDKs

Network device

What will you

Build?

Page 24: For Developers: Why Should I Care about Programmability

Where Juniper Plays

Content Placement

Junos Space

Control API

Data /Packet API

ALTOManagement

APIOpenFlow

Junos Space APIs

Junos SDK Network device

Subscriber Analytics

FlowAnalysisExisting Systems

3rd PartyApp

3rd PartyApp

Network APIs

Experience governed through data insight & ephemeral state control: make network aware of applications

Make applications aware of network:

resources, integration points, services

exposed

Page 25: For Developers: Why Should I Care about Programmability

PROGRAMMABLE NETWORK: BIGSWITCH

Big Switch ControllerBig Switch Controller

RESTAPI

Web UI

Page 26: For Developers: Why Should I Care about Programmability

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

Page 27: For Developers: Why Should I Care about Programmability

Spark new customer conversationsInspire new partnerships

Ignite Service & Application innovation

Page 28: For Developers: Why Should I Care about Programmability

More Benefits ofNetwork Programmability

Page 29: For Developers: Why Should I Care about Programmability

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.

Page 30: For Developers: Why Should I Care about Programmability

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.

Page 31: For Developers: Why Should I Care about Programmability

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.

Page 32: For Developers: Why Should I Care about Programmability

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.

Page 33: For Developers: Why Should I Care about Programmability

Thank you!For Help Building an [email protected]