Overview of how Juniper is changing the landscape of software development by exposing APIs to use network data in applications. Included is overview of APIs we offer, Big Data information, and more.
3. If you are a java developer and Not protocol hacking acronym-fueled standard creator You’re using Java SE or Java FX Drop hints to the network about application behavior, or find out the “shape” of the network near you in terms of latency, jitter, local caching You really like(d) OSS/J Connect existing OSS/BSS systems deeper into the network by better informing them, separating decision from provisioning & enforcement points. You are an expert at modeling complex behaviors in Java EE Apply your graph-fu to bucket loads of network data and optimize your network (or someone else’s) You do all of the above, but in perl or PHP Use the RESTful interfaces
4. The FIX and FORGET network route requests to resources best effort in over-constrained space
5. Establishing the data supply chain manage experience optimize delivery Create information valuefrom network element/service operational data optimize placementmanage efficiency
12. “BIg data” ADDS TO THE INFORMATION MIX “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
13. Decoupling of control points Policy Content/Resource Placement Flows/Filtering Delivery/Experience logs statistics history topology context Networks adapt to applications Applications adapt to networks ephemeral state
15. The brand information paradox “Information wants to be free, because it’s easy to access; it wants to be valuable because it’s hard to create” – Stewart Brand Making the network accessible to developers – the programmable network – is the first step in creation
16. Information factory: changing the economics “The iPhone is doing to the mobile world what the browser did to the wireline world”– PradeepSindhu Juniper Networks CTO Monetization Efficiency Optimization Personal Reliable Immediate
17. 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
19. Information created via data networking Point in Time Real Time Long Time Annotation Context Corroboration Correlation
20. The new network is PROGRAMMABLE Control API Data /Packet API … Management API EphemeralState 3rd party Apps & SDKs 3rd party applications & SDKs Enterprise Customer Research Institution SI Partner ISV Partner Service Provider Pulse - Endpoint Junos Space APIs Space - Across the network Data Center CDN Network APIs Junos SDK Network device
21. NETWORK Programmability addresses 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 Static configurations are maintenance heavy & expensive to change Enable automation and dynamic adaptability within constraints
22. Why NOW? DEVELOPERS STILL BOUND BYDeutSch’s eight fallacies 1. The network is reliable 2. Latency is zero 3. Bandwidth is infinite 4. The network is secure 5. Topology doesn't change 6. There is one administrator 7. Transport cost is zero 8. The network is homogeneous Virtualization and cloud computing make bad assumptions worse
23. Network application examples 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 THE CONTROL APPLICATIONS 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. Mapping Time and functional domains securityposture QoS service levelenforcement cloudplacement threat,failureanalysis cloud cost
26. Value Action Configure Provision Dynamic Policy GENERATE Filter Correlate Combine INSIGHT AFFECTS Assets Data Inventory History Real-time CREATE Networking Devices, Servers, Databases, Applications etc. Unlock the power of network information
27. Topology JUNOS SPACEnetwork application platform OSS● BSS ● Green/Energy ● End-user Forensics Adapters (MTOSI, OneAPI) ● … others Network Activate ● Route Insight Virtual Control ● Service Now … others programmable Powerful Flexible Juniper Apps 3rd Party Apps APPLICATIONS Junos Space RESTful Web Service Device & Network Abstractions Infrastructure Inventory Scripts Devices Events Discovery Jobs Users UI Widgets Configuration JUNOS SPACE PLATFORM Network Interface (DMI)
28. Under The Hood Java (and other languages)via REST NBI BridgeSOA, MTOSI APIs & Libraries Interface Servicesusers, RBAC, application deployment, UI, RESTful wrappers Data Servicestagging, taxonomy, join/product, indexing, search/query Element and Network Servicesinventory, topology, fabric, jobs, device management Local Persistence DMI
29. Jboss/EJB container Architecture Browser Pluggable App GUI NBI Client Common Space GUI Components EXT-JS DWR REST (JSON/XML) REST (JSON) Apache Web Proxy Tomcat Tomcat JBoss Cache JBoss Cache DWR Servlet RESTEasy DWR Servlet RESTEasy JBoss App Server JBoss App Server GUI Notification Action/Data Binding (POJO) GUI Notification Action/Data Binding (POJO) EJB Container EJB Container Business Logic SLSB & MDB Business Logic SLSB & MDB Sync/Async Replication Persistent Data Access SLSB Persistent Data Access SLSB Business Logic JPA Entities Business Logic JPA Entities JMS Message Bus JMS Message Bus DB Cluster JPA/JTA JPA/JTA
33. IMPLEMENTING JOULEX ENERGY MANAGER (JEM) JouleX JEM Application 1 1 2 1 3 Junos Space Platform 1 API Native Apps 1 1 2 1 3 1 Platform DMI/NetConf
34. DATA DRIVEN USE CASE “Big Data”Domain Hadoop Business Constraints Real Time Analytics Java DeveloperDomain Ephemeral State Updates Tag/Filter/Join Flow Data Event/Log Data Configuration
35. The NETWORK Application ecosystems Control API Data /Packet API … Management API EphemeralState 3rd PartyApp 3rd PartyApp Experience governed through data insight & ephemeral state control: make network aware of applications External Developer APIs Content Placement Subscriber Analytics FlowAnalysis Existing Systems Junos Space APIs Make applications aware of network: resources, integration points, services exposed Junos Space Network APIs Junos SDK Network device
37. Solving hard problems Triangulating security, privacy and trust Where to enforce Multi-tenancy Data in motion, at rest, at work Precision Sampling, estimation and approximation algorithms needed where absolute magnitude of data is in Pbytes or more Complexity Running into potentially intractible (NP-Hard) problems with network structures and cost minimization Time 10-6 to 104 seconds, real time to historical
38. Reach info & resources hstern@juniper.net @freeholdhal Developer Information & Resources www.juniper.net/developer @junosdeveloper helpmebuildmyapp@juniper.net
Notes de l'éditeur
applications tell networks their requirements, resources, constraints, security rulesnetworks tell applications how to optimize, run more efficiently, handle exceptions
applications tell networks their requirements, resources, constraints, security rulesnetworks tell applications how to optimize, run more efficiently, handle exceptions
It is possible both to ask questions about specific endpoints, and to request bulk map data for further processing, depending on application needs.
there’s more data, and more reason and drive to use it, which means more network-centric or network-aware applications
how do you change the coase-driven economics?
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
james gosling, on his nighthacks website – something he has said since 1995, and is true 15 years onpeople writing enterprise applications will eventually run into these, intentionally or not (usually not)when they do, the opportunity exists for the network to highlight, announce and help redress the problem.that’s what my group does at juniper networksreliability a function of internal and external factors – congestion, DDOS are “failures”latency is 30 msec US-europe. can’t make it less. bandwidth may go up but the first byte is still sloweveryone ignores them, assuming they are not constraints. come back at scale, or criticality, to bite younetwork engineering and awareness has to be part of any data-centric IT focus.
A couple of examples, some of which will be featured in our demos today
Consider a closed loop system that is often used to describe how a company works. Consider the same model in the context of a network. The network infrastructure in terms of the networking devices like routers, switches, security devices combined with the entities that they connect that include the printers, servers, databases, applications form the assets in our model. Typical actions that are taken to affect these assets include permanent actions such as configuration of these devices and provisioning of services in response to customer orders. There could also be dynamic actions such as QoS policy provisioning to ensure sufficient bandwidth during a video streaming event. This is classis network management and there are several systems that offer this capability including Junos Space.What is the major paint point for a developer?Major pain point is that inhibits several developers in doing anything worthwhile beyond the realm of network management is is lack of ability with a platform that can marry the action and asset side of the cycle based on the data that is generated by the asset. Network assets generate a lot of data. This includes fairly static data such as the inventory and configuration of the network, historical information such as logs, and dynamic real-time data such as flow records. All this data by itself is worthless unless you can turn it into value by understanding what it means in the business context and what it might do operationally for the company. What is the solution?What would be useful is if the platform can provide the capability to perform analysis by filtering, collecting and correlating this data with external sources such as real time traffic, weather patterns, click behavior, financial markets etc. For example, the right insight into the data generated from the network when combined with data from external sources could yield a wealth of valuable information about subscribers - who they are, where they are, how often they connect, where they connect from, the duration of usage, the type of services they use, the frequency of these services, their credit profile, etc. This insight will generate intelligent actions – both permanent as well as dynamic – which will tune the networking assets to operate more efficiently as well as generate more value for the company.How does Junos Space and the SDK change the equation in favor of an application innovator?Where Junos Space changes the equation is to marry the Action and Asset side of the cycle on the left with the Data and Value side on the right. It provides the ability to suck in the static and dynamic behavior of the network and analyze this behavior in the context that can be provided by an internal or an external source. The internal source could be an event on the network itself and the external source (as mentioned before) could be some business intelligence or a truly external entity in the form of weather patterns or user behavior etc. Space combines the ability to access the static and the dynamic nature and the wealth of information hidden in them with the ability to combine this data with an internal or an external source. This combined with a highly scalable and resilient platform and a great set of tools that allow developers to easily utilize the wealth information makes Space and Space SDK a great platform to develop the new and the next generation applications.
Joulex is an external application using the JUNOS Space API to collect Energy information for Junos Space managed devices.It collects Power information by executing Junos XML RPCs on Junos Space discovered devices.Underpinned by an open, standards-based, integrateddevelopment environment (IDE), Junos Space SDK provides arich development environment which includes a RESTful Webservices API, the Junos Space platform, built-in device simulators,documentation, reference applications, and support tools. JunosSpace SDK reduces the complexity of building a broad range ofinnovative applications and services on enterprise and serviceprovider networks.Using Junos Space SDK, JouleX was able to extend the reach anddepth of JEM to deliver energy consumption reductions of 30% to60%.1. JEM remotely queries each Juniper device using Junos SpaceSDK for the current energy consumption and utilization.2. JEM builds historical utilization data for an accurate energy useprofile for each device and in aggregation.
Objective of this slide:Showcase various partners taking advantage of our platform. Why they are betting on our platform. And HOW they are seeing the value of our 3 principles in their own solns by relying on Juniper. speak to that we want the audience names to show there eventually w/ their solns.===We’d like to see your name up here and your applications in our marketplace and would love to hear what you can do with and on our platform. We are here to help, we are here to jointly work w/ you in making YOU successful on our platform. Transition to next slide:Before, I close this session…I would like to leave you w/ a few call to actions…