1. The New Network is
Programmable
Hal Stern
Chief Architect, Developer Business Unit
Juniper Networks
2. Legal Statement
This presentation sets forth Juniper Networks’ current intention
and is subject to change at any time without notice. No
purchases are contingent upon Juniper Networks delivering
any feature or functionality depicted.
The information and analysis provided in any Juniper Business Analysis are prepared for
illustrative purposes only and should not be relied upon by participants as representative of
actual results. Actual results of implementation of any Juniper Networks product or solution
may vary based upon factors beyond the scope of analysis and/or beyond the control of
Juniper Networks. Juniper Business Analysis does not constitute an offer, warranty or
representation by or on behalf of Juniper Networks, Inc. and/or its subsidiaries, partners or
affiliates
3. The Un-informed State Today
THE HUMAN WORLD THE NETWORK WORLD
Applications blindly probe the Networks spy on traffic to try
network to understand what it to understand applications
can deliver
Network Aware Applications: Application Aware Networking:
Game ping-stats, Doppler, Deep Packet Inspection,
Geo-location, whois, Deep Flow Inspection
proprietary codecs, Approximate application by
proprietary control channels fingerprinting
Approximate topology/location Service specific overlay
topologies
4. A More Ideal State
Bringing together the important players… … to enable interaction and influence the
experience of the end user
Application: Content: End-User: Network:
Knows what the end-user Adjusts placement and Knows what it wants and Real-time interaction
capabilities are. Informs selection of content to is directed there between application,
placement of content in end-user, application content and end-users.
proximity of end-user. desires and analytics. Enables multiple
Control of resources. policy/profile points
5. What Is Possible?
NETWORK APPLICATION APPLICATION NETWORK
Applications made better by Networks made better by information
information from network from application
Understanding of end-device capabilities Bandwidth and resource optimization
Real location / topology information New service topologies
Adjust behavior to real-time usage or Protect network assets in real-time
availability Closed user security groups
Regulatory compliance Security identification
Analytics of in-home usage Disambiguate sessions
Billing granularity Disambiguate priorities
Control of Resources from
Flexibility of Service Placement
Applications
6. Why Do You Care?
• Developers love to tinker. --Cory Doctorow
• Every single bit of storage is accessed over a
network.
• It’s time to start tinkering up and down the
stack.
9. Storage In The Large ==
Networking In The Larger
• Cost/Transit models for public/hybrid cloud
• Security for data in motion
• Congestion, latency and jitter are intentional
• What does deep packet inspection show?
– Popular storage buckets
– Application access signatures
– Latency sensitivity
11. Time and Functional Domains
Analysis Modeling Action
security
Design posture
QoS
service level
Real-Time enforcement cloud
placement
threat,
Historical failure cloud cost
analysis
12. It’s déjà vu all over again
• Evolving APIs on the network software
assets….
• Create new consumption and constraint
patterns…
• Requiring network-level information
13. Impact on Storage:
Deutsch’s 8 Fallacies
1. The network is reliable
2. Latency is zero
3. Bandwidth is infinite Virtualization and cloud
4. The network is secure computing make bad
assumptions worse
5. Topology doesn't change
6. There is one administrator
7. Transport cost is zero
8. The network is homogeneous
14. Information Creation
• Point in Time • Annotation • Topology
• Real Time • Context • Service Definition
• Long Time • Corroboration • Metadata
• Correlation • Analytics
• Optimization
15. Decoupling of Control Points
Policy Flows/Filtering
Content/Resource Placement Delivery/Experience
logs
Applications statistics Networks
ephemeral
adapt to history adapt to
networks state applications
topology
context
16. Closed-Loop System
Action Value
Configure Filter
Provision GENERATE Correlate
Dynamic Policy AFFECTS Combine
INSIGHT
Assets Data
Inventory
CREATE History
Real-time
Networking Devices, Servers,
Databases, Applications etc.
17. Under The Hood
NBI Bridge Java (and other languages)
SOA, MTOSI via REST
APIs & Libraries
Interface Services
users, RBAC, application deployment, UI, RESTful wrappers
Element and Network Services Data Services
inventory, topology, fabric, jobs,
tagging, taxonomy, join/product, indexing,
device management
search/query
Local Persistence
DMI
Database cluster
18. Making Networks Programmable
3rd party
3rd party applications &
AppsSDKs
& SDKs Enterprise
SI Partner ISV Service Research
Partner Provider Institution Customer
Pulse - Endpoint
Web Services APIs
Space - Across the network
CDN Data Center
Control Management Data /
Network APIs API API Packet API
… …
Junos SDK
Network device
19. Content Request Routing
Content Availability
Per network response
DNS Partner Content Load
times and site availability
Content Capacity
New York Chicago Data Center
Network Proximity
Where do I get
Answer: Network Availability
DNS
my content?
Chicago! Network
ISP A Congestion Media Flow Controller
London London Data Center
DNS
ISP B BGP BGP Media Flow Controller
Paris Network Data Server Amsterdam Data Center
DNS
ISP C Media Flow Controller
20. Bandwidth Calendaring
Schedule a reserved path for your session… … without having to know the network.
Real-time topology understanding
Steering traffic through optimal paths
Reservation transaction (WebServices API)
Selecting specific traffic
Web Services API
Orchestration What would I use this for?
Flexibility of service placement
Network Scheduled data center backups
Managed content distribution
• Pre-positioning, live events
Map-reduce class compute jobs
• HPC data processing, search
Cloud orchestration
• Mobility of storage/VMs
Location 1 Location 2
Scheduled and created application/session specific path through the network
21. JouleX Energy Manage (JEM)
JouleX JEM Application
1
1 /device-management/devices
1
2 /device-management/devices/{device
id} Junos Space Platform
1
3
/device-management/devices/{device id}/exec-
rpc
1
1 Retrieve all devices under management API Native Apps
1
2 Get info for a single device managed by platform
1
3 RPC call to single device to get the power usage information.
RPC for EX82xx:
<get-power-budget-information>
RPC for other Junos devices Platform
<get-environment-pem-information>
DMI/NetConf
22. Informing Applications
Abstracted Network view
• Map interface (network and cost maps) Network & Service data
• Endpoint Cost query interface
Geo
location
Subscriber
Info
Load/Utiliz
Data Server ation
Topology
Clients TE Data
(Network-aware Application-friendly protocol Source-specific protocols
applications) • RESTful Web Service (Routing protocols, DMI, Data
• JSON message encoding SNMP, WS, …) Sources
23. Network Application Domains
• 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 as consumers and producers
– High-end distributed computing informed by and informing placement
• Cloud OS network operations
– Move VMs / Apps / Storage between locations
• Cloudburst
– Flexible on-demand allocation of cloud & network capacity
• Security
– DDoS attack prevention
24. Informing Control Points
• What activities create the most traffic?
• Where is latency introduced? Congestion?
• What impacts user experience the most?
• Extending network vocabulary to general purpose
applications
• Content networking as a future:
– More about what, who, when of access, not where
– Resource oriented: things you link, copy, incorporate
and extend
25. What About “Big Data”
“If you’re good at distribution (*), then you’re
generating data. Use it.”
Steve O’Grady, analyst, Redmonk
“Big Data + Open Source = Big Money”
(*) distribution of bits == networking
26. Data-Driven Use Case
“Big Data” Business Constraints Hadoop
Domain
Real Time Analytics
Java Developer
Domain
Ephemeral State Updates
Tag/Filter/Join
Configuration Event/Log Data Flow Data
27. Application Ecosystems
3rd Party 3rd Party Experience governed through
App App data insight & ephemeral state
control: make network aware of
External Developer APIs
applications
Flow Content Subscriber
Existing Systems Analysis Placement Analytics
Junos Space APIs
Make applications
aware of network: Junos Space
resources, integration
points, services
exposed Control Management Data /
… …
API API Packet API
Network APIs
Junos SDK Network device
28. Hard Problems…
• Triangulating security, privacy and trust
• Precision
• Complexity
– Running into potentially intractible (NP-Hard)
problems with network structures and cost
minimization
• Time
29. Reach Info & Resources
hstern@juniper.net
@freeholdhal
Developer Information & Resources
www.juniper.net/developer
@junosdeveloper
helpmebuildmyapp@juniper.net