Network Information Factories


Published on

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.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 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…
  • Network Information Factories

    1. 1. Network Information Factories<br />Hal Stern, Chief Architect, Developer Business UnitJuniper<br />
    2. 2. <ul><li>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.</li></ul>Legal Statement<br />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<br />
    3. 3. If you are a java developer and Not protocol hacking acronym-fueled standard creator<br />You’re using Java SE or Java FX<br />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<br />You really like(d) OSS/J<br />Connect existing OSS/BSS systems deeper into the network by better informing them, separating decision from provisioning & enforcement points.<br />You are an expert at modeling complex behaviors in Java EE<br />Apply your graph-fu to bucket loads of network data and optimize your network (or someone else’s)<br />You do all of the above, but in perl or PHP<br />Use the RESTful interfaces<br />
    4. 4. The FIX and FORGET network<br />route requests to resources<br />best effort in over-constrained space<br />
    5. 5. Establishing the data supply chain<br />manage experience<br />optimize delivery<br />Create information valuefrom network element/service operational data<br />optimize placementmanage efficiency<br />
    6. 6. EXAMPLE:request routing using HTTP redirect<br />HTTP Request Router<br />HTTP Request<br />Hybrid of per-packet and per-flow network models<br />HTTP Server<br />1<br />HTTP Redirect (302)<br />2<br />Data Client<br />3<br />HTTP Request<br />network interface<br /><ul><li>Network usage
    7. 7. Content cache load
    8. 8. Data ‘freshness’</li></ul>Data Server<br />Cache<br />Cache<br />Cache<br />
    9. 9. Informing Applications With network Data<br />Abstracted Network view<br /><ul><li> Map interface (network and cost maps)
    10. 10. Endpoint Cost query interface</li></ul>Network & Service data<br />Geo<br />location<br />Subscriber<br />Info<br />Data Server<br />Load/Utilization<br />Topology<br />TE Data<br />Clients<br />(Network-aware applications)<br />Source-specific protocols<br />(Routing protocols, DMI, <br />SNMP, WS, …)<br />Application-friendly protocol<br /><ul><li>RESTful Web Service
    11. 11. JSON message encoding</li></ul>Data<br />Sources<br />
    12. 12. “BIg data” ADDS TO THE INFORMATION MIX<br />“If you’re good at distribution (*), then you’re generating data. Use it.”<br /> Steve O’Grady, analyst, Redmonk“Big Data + Open Source = Big Money”<br />(*) distribution of bits == networking<br />
    13. 13. Decoupling of control points<br />Policy<br />Content/Resource Placement<br />Flows/Filtering<br />Delivery/Experience<br />logs<br />statistics<br />history<br />topology<br />context<br />Networks adapt to applications<br />Applications adapt to networks<br />ephemeral<br />state<br />
    14. 14. Return of the smart network<br />
    15. 15. The brand information paradox<br />“Information wants to be free, because it’s easy to access; it wants to be valuable because it’s hard to create” – Stewart Brand<br />Making the network accessible to developers – the programmable network – is the first step in creation<br />
    16. 16. Information factory: changing the economics<br />“The iPhone is doing to the mobile world what the browser did to the wireline world”– PradeepSindhu Juniper Networks CTO<br />Monetization<br />Efficiency<br />Optimization<br />Personal<br />Reliable<br />Immediate<br />
    17. 17. It’s déjà vu all over again<br />Evolving APIs on the network software assets….<br />Create new consumption and constraint patterns…<br />Requiring network-level information<br />
    18. 18. Increasingly complex views of the network<br />Topology<br />Service Definition<br />Metadata<br />Analytics<br />Optimization<br />
    19. 19. Information created via data networking<br />Point in Time<br />Real Time<br />Long Time<br />Annotation<br />Context<br />Corroboration<br />Correlation<br />
    20. 20. The new network is PROGRAMMABLE<br />Control API<br />Data /Packet API<br />…<br />Management API<br />EphemeralState<br />3rd party <br />Apps & SDKs<br />3rd party applications & SDKs<br />Enterprise Customer<br />Research<br />Institution<br />SI Partner<br />ISV Partner<br />Service Provider<br />Pulse - Endpoint<br />Junos Space APIs<br />Space - Across the network<br />Data Center<br />CDN<br />Network APIs<br />Junos SDK<br />Network device<br />
    21. 21. NETWORK Programmability addresses<br />Flexibility of service placement<br />Place your services where you want, not necessarily where the user is physically connected<br />Control of resources from applications<br />Customize network behavior to better meet user/application needs<br />Introduce non-configured device behavior changes: ephemeral classifiers<br />Lowering of operational barriers<br />Decrease dependency on the traditional provisioning workflow<br />Static configurations are maintenance heavy & expensive to change<br />Enable automation and dynamic adaptability within constraints<br />
    22. 22. Why NOW? DEVELOPERS STILL BOUND BYDeutSch’s eight fallacies<br />1. The network is reliable<br />2. Latency is zero<br />3. Bandwidth is infinite<br />4. The network is secure<br />5. Topology doesn't change<br />6. There is one administrator<br />7. Transport cost is zero<br />8. The network is homogeneous<br />Virtualization and cloud computing make bad assumptions worse<br />
    23. 23. Network application examples<br />Content / Service Routing<br />Locate best copy of content for the end user, using customer rules<br />Managed content distribution<br />Content prepositioning to caches<br />Live events<br />Map-Reduce class of applications as consumers and producers<br />High-end distributed computing informed by and informing placement<br />Cloud OS network operations<br />Move VMs / Apps / Storage between locations<br />Cloudburst<br />Flexible on-demand allocation of cloud & network capacity<br />Security<br />DDoS attack prevention<br />
    24. 24. INFORMING THE CONTROL APPLICATIONS<br />What activities create the most traffic?<br />Where is latency introduced? Congestion?<br />What impacts user experience the most?<br />Extending network vocabulary to general purpose applications<br />Content networking as a future:<br />More about what, who, when of access, not where<br />Resource oriented: things you link, copy, incorporate and extend<br />
    25. 25. Mapping Time and functional domains<br />securityposture<br />QoS<br />service levelenforcement<br />cloudplacement<br />threat,failureanalysis<br />cloud cost<br />
    26. 26. Value<br />Action<br />Configure<br />Provision<br />Dynamic Policy<br />GENERATE<br />Filter<br />Correlate<br />Combine<br />INSIGHT<br />AFFECTS<br />Assets<br />Data<br />Inventory<br />History<br />Real-time<br />CREATE<br />Networking Devices, Servers, Databases, Applications etc.<br />Unlock the power of network information<br />
    27. 27. Topology<br />JUNOS SPACEnetwork application platform<br />OSS● BSS ● Green/Energy ● End-user Forensics Adapters (MTOSI, OneAPI) ● … others <br />Network Activate ● Route Insight Virtual Control ● Service Now … others<br />programmable<br />Powerful<br />Flexible<br />Juniper Apps<br />3rd Party Apps<br />APPLICATIONS<br />Junos Space RESTful Web Service<br />Device & Network Abstractions<br />Infrastructure<br />Inventory<br />Scripts<br />Devices<br />Events<br /> Discovery<br />Jobs<br />Users <br />UI Widgets<br />Configuration<br />JUNOS SPACE PLATFORM<br />Network Interface (DMI)<br />
    28. 28. Under The Hood<br />Java (and other languages)via REST<br />NBI BridgeSOA, MTOSI<br />APIs & Libraries<br />Interface Servicesusers, RBAC, application deployment, UI, RESTful wrappers<br />Data Servicestagging, taxonomy, join/product, indexing, search/query<br />Element and Network Servicesinventory, topology, fabric, jobs, device management<br />Local Persistence<br />DMI<br />
    29. 29. Jboss/EJB container Architecture<br />Browser<br />Pluggable App GUI<br />NBI<br />Client<br />Common Space GUI Components<br />EXT-JS<br />DWR<br />REST (JSON/XML)<br />REST (JSON)<br />Apache Web Proxy <br />Tomcat<br />Tomcat<br />JBoss Cache<br />JBoss Cache<br />DWR Servlet<br />RESTEasy<br />DWR Servlet<br />RESTEasy<br />JBoss App Server<br />JBoss App Server<br />GUI<br />Notification<br />Action/Data Binding<br />(POJO)<br />GUI<br />Notification<br />Action/Data Binding<br />(POJO)<br />EJB Container<br />EJB Container<br />Business Logic<br />SLSB & MDB<br />Business Logic<br />SLSB & MDB<br />Sync/Async<br />Replication<br />Persistent Data Access<br />SLSB<br />Persistent Data Access<br />SLSB<br />Business Logic <br />JPA Entities<br />Business Logic <br />JPA Entities<br />JMS Message Bus<br />JMS Message Bus<br />DB<br />Cluster<br />JPA/JTA<br />JPA/JTA<br />
    30. 30. Platform Infrastructure Services<br />
    31. 31. Network & Device Abstraction<br />
    32. 32. Developer TOoling<br />
    33. 33. IMPLEMENTING JOULEX ENERGY MANAGER (JEM)<br />JouleX JEM Application<br />1<br />1<br />2<br />1<br />3<br />Junos Space Platform<br />1<br />API<br />Native Apps<br />1<br />1<br />2<br />1<br />3<br />1<br />Platform<br />DMI/NetConf<br />
    34. 34. DATA DRIVEN USE CASE<br />“Big Data”Domain<br />Hadoop<br />Business Constraints<br />Real Time Analytics<br />Java DeveloperDomain<br />Ephemeral State Updates<br />Tag/Filter/Join<br />Flow Data<br />Event/Log Data<br />Configuration<br />
    35. 35. The NETWORK Application ecosystems<br />Control API<br />Data /Packet API<br />…<br />Management API<br />EphemeralState<br />3rd PartyApp<br />3rd PartyApp<br />Experience governed through data insight & ephemeral state control: make network aware of applications<br />External Developer APIs<br />Content Placement<br />Subscriber Analytics<br />FlowAnalysis<br />Existing Systems<br />Junos Space APIs<br />Make applications aware of network: resources, integration points, services exposed <br />Junos Space<br />Network APIs<br />Junos SDK<br />Network device<br />
    36. 36. OVER 125 Developer AGREEMENTS IN PLACE<br />
    37. 37. Solving hard problems<br />Triangulating security, privacy and trust<br />Where to enforce<br />Multi-tenancy<br />Data in motion, at rest, at work<br />Precision<br />Sampling, estimation and approximation algorithms needed where absolute magnitude of data is in Pbytes or more<br />Complexity<br />Running into potentially intractible (NP-Hard) problems with network structures and cost minimization<br />Time<br />10-6 to 104 seconds, real time to historical <br />
    38. 38. Reach info & resources<br /><br />@freeholdhal<br />Developer Information & Resources <br /><br />@junosdeveloper<br /><br />