Post on 15-Jan-2015
description
JUNOS SPACE SDKIvan VojvodićSr. Director, DBU
2 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
Transforming the experience and economics of networking
SETTING THE AGENDA FOR THE NEXT DECADE
3 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
THE PLACE OF THE NETWORK
4 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
CHANGES IN THE WORLD OF NETWORKING
The Evolution of a Platform
Simple Functionality Feature Phone App Enabled Devices
SINGLEPURPOSE
MULTIPURPOSE
GENERALPURPOSE
5 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
THE NEW NETWORK EQUATION
High Performance Networking Developer Solutions Accelerated Innovation
Reliable
Fast
Scalable
Simple
Secure
Agile
Innovative
RAD
Open
New, better experiences
New flexibility & agility
New customer solutions
$ New revenue sources
The New NetworkEcosystem InnovationNetwork Innovation
layers of software instead of layers of protocols
6 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
CONNECT EVERYTHINGfrom Client, through the Network, to the Device
OUR MISSION AND COMMITMENT TO DEVELOPERS
SILICON SYSTEMS SOFTWARE
7 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
Opportunity for Across-the-network Innovation
Opportunity for On-device Innovation
Opportunity for Network End-point Innovation
Network Application Layer
User Application Layer
Network DeviceLayer
JUNIPER PROGRAMMABLE NETWORK PLATFORMS
8 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
OPEN, NETWORK-CENTRIC APP PLATFORM
Open, Extendable, Flexible and Powerful Network Application and
Orchestration Platform
SOLUTIONCHALLENGES
• Easy Monetization
• Open App Platform
• Language Independent
• Network Abstraction
• Flexible Integration
• RAD, Quicker GTM
BENEFITS FOR DEVELOPERS
Junos Space Development Platform
Toolkit APIs
“…there’s no standard way to tap into the network.”
“…long / complex dev cycles.”
“…I need an end-to-end view.”
“…I’m not a networking expert.”
DEVELOPER
“ “… high complexity of networks and services”
“…leverage investment in existing OSS/BSS solutions.”
“…end to end service mgmnt.”
END USER
9 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
SOFTWARE = PLATFORM + APPS
Expensive and inefficient
Consistency, security and performance lapses
Focus on innovation Reduce production costs Increase speed of
development An SDK decouple velocity
of application innovation from platform innovation
OLD WAY
System,Platform,
Interfaces,and
Foundation Development
ApplicationInnovation
ApplicationInnovation
Software Development Kit
+Platform
Reducedevelopertime to
innovation
NEW WAY
10 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
JUNOS SPACE SDK
Innovate
Insight into the network
Extend to boost value
End to end service and data correlation
Accelerate
Reduce time, complexity
Powerful toolset: Eclipse, RESTful APIs
Accelerate throughcollaboration
Accelerate development cycle with open, extendable and powerful development platform and toolkit
Community of partners and developers
Access existing customers
Gain expert knowledge!
Training, support + leverage partnerships to influence and monetize.
Collaborate
Innovate with Junos Space Platform utilizing a direct access to network data and resources
11 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
Action
ConfigureProvisionDynamic Policy
UNLOCK THE POWER OF THE NETWORK
Assets
Networking Devices, Servers, Databases, Applications etc.
AF
FE
CT
S Data
CREATE
InventoryHistoryReal-time
Value
GENERATE
INS
IGH
T
FilterCorrelateCombine
12 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
THE JUNOS SPACE PLATFORM
All controlled from your browserJunos Space
HOW DO YOU TURN NETWORK DATA INTO KNOWLEDGE?
Management, Analytics, Monitoring, Orchestration
13 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
Network
ANSWER:Add network operations insight to businesses, and
business insight to network operations
JBoss Java EE Application Server
EJB Container
Service Application(s)
Stateless Session Beansor MDBs (Business Logic)
@Statelesspublic class FooEjb {}
Database Server
Web Container
Service Application(s)
RESTful Resource Class
@Path(“/foo”) public class FooResource {@EJB private FooEJB fooEjb; }
Native RESTEasy Servlet(JAX-RS)
JPA
Junos Space Fabric/Cluster:
RESTful Web ServicesAbstract the Network
Inject
Space UI:Other Business Systems
DMI
14 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
PROGRAMMABLE
POWERFUL
FLEXIBLE
Top
olo
gy
PROGRAMMABLE NETWORK APPLICATION PLATFORM
APPLICATIONS
Juniper Apps 3rd Party Apps
Network Activate ● Virtual Control ● Service Now ●
… others
NM ● Security ● OSS ● BSS ● Green/Energy ● Adapters (MTOSI,…) ● … others
Network Interface (DMI)
Junos Space RESTful Web Service
JUNOS SPACE PLATFORM
Con
figur
atio
n
Inve
ntor
y
Dev
ice
Mgm
t
Dev
ice
S/W
Mgm
t
Scr
ipts
Use
r M
gmt
Jobs
App
Life
Cy
Tagg
ing
Filt
erin
g
AP
I Dis
c.
Device & Network Abstraction Services Infrastructure Services
Open NetworkApplicationPlatform
15 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
APPLICATIONS
Juniper Apps 3rd Party Apps
Network Activate ● Virtual Control ● Service Now ●
… others
OSS ● BSS ● Green/Energy ● Adapters (MTOSI,…) ● … others
Network Interface (DMI)
Junos Space RESTful Web Service
JUNOS SPACE PLATFORM
Con
figur
atio
n
Inve
ntor
y
Dev
ice
Mgm
t
Dev
ice
S/W
M
gmt
Scr
ipts
Use
r M
gmt
Jobs
App
Life
Cy
Tagg
ing
Filt
erin
g
AP
I Dis
c.
Device & Network Abstraction Services Infrastructure Services
HIGH LEVEL JUNOS SPACE ARCHITECTURE
Junos Space Functional Architecture
Local Persistence
Infrastructure Services
Interface ServicesRESTful wrappers,
RBAC (UI, NBI), Application Deployment, UI,…
Device and Network
Abstraction Services
APIs & Libraries
Platform Management
16 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
JUNOS SPACE SDK - WHAT’S INSIDE THE BOX
Powerful, integrated, familiar developer environment
Community
DeveloperGuide
APIReference
Guide
Reference &
Sample Apps
Inline help
JUNOS SPACE SDKJUNOS SPACE SDK
APIs Developer Tools
Eclipse IDE
Logging + debugging
DeviceSimulators
PlatformSimulator
UI Builder UI Library
DEVICE & NETWORK
ABSTRACTION SERVICES APIs
INFRSTRUCTURE SERVICES APIs
Support and
ForumsTraining
17 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
THE POWER OF ABSTRACTION Mastering complexity vs extracting simplicity
18 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
THE POWER OF ABSTRACTION
Example of NOT extracting simplicity
19 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
THE ROLE OF APIS
Good example of extracting simplicity: Abstractions
Interfaces (APIs) are instantiations of abstractions
Interfaces shield from low-level details
Allow freedom of implementation (on both sides)
They do not remove complexity, just hide it!
Extracting simplicity example:
20 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
De
vic
e M
gm
t
De
vic
e &
Ne
two
rk
inv
en
tory
Co
nfi
g M
gm
t
S/W
Im
ag
e M
gm
t
USER MGMT. & AUTHENTICATION
JOB MANAGEMENT
APP LIFE CYCLE MANAGEMENT
TAGGING & FILTERING API DISCOVERY
INFRASERVICES APIs
CONFIGURATION MGMT SERVICE
NETWORK & DEVICE
INVENTORY SERVICE
DEVICE MGMT SERVICE
SCRIPT MGMT SERVICE
DEVICE SOFTWARE
MGMT SERVICE
DEVICE & NETWORK
ABSTRACTION SERVICES APIs
JUNOS SPACE APIs
Modify device configuration using Change Requests
Configuration Templates
Archive Configurations
using Configuration Files
Discover devices in the network
Network & Device inventory
Logical and Physical inventory
Archive raw and expanded device
configurations
Fetch Device Syslog
Execute CLI commands via NetConf RPC
Archive JunoScripts on Space
Upload and execute scripts on
devices
Execute Op Scripts, Event Scripts and Commit Scripts
Archive Device Software
Manage software versions on devices
Upload software to one or more
devices
Create, Read, Update and Delete
operations on Users
Manage User Roles & Capabilities
User Authorization and Authentication (includes external
authentication)
List of active and completed jobs
Determine status of job execution including Job
Details
Ability to create new Jobs and cancel a
running job
Manage Applications
installed on Space
Specify and Configure run time
parameters for applications
Control Application Lifecycle
Create, Read, Update and Delete application defined
Tags
Associate tags with objects defined in your applications
Search and Filter using Tags
Discover the services exposed
by the platform
Discover the services exposed
by applications
Read the meta data associated with the
services
21 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
JS SDK - DEVELOPMENT TOOLKIT
Plug-in for Eclipse
New Application
EJB to REST
Module definition
Application packaging and
licensing
Logging & Debugging
Chainsaw Logger
Static Analysis using PMD
UI Builder
Drag & Drop UI Components
Space UI Components
Platform Simulator
Debug and test applications
Qualify apps on Space platform
Device Simulator
Junos compatible device simulation
Scale testing
1 2 3 4 5
22 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
JS SDK COMMUNITY
App Developer Guides
API Reference Guide
Sample applications Developer community and forums
Docs & Support
Junos Space SDK
Documentation
SDK Installation Guide
Online Developer Training
1 day hands-on training
Junos Space SDK
Training
3 day expert training
JDN
JS SDK Download
JS SDK Forum
Juno Space Platform TrainingBuilt-in Reference
23 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
Junos Space Simulator
Simulated Devices
Junos Space
SDK Plug-in
for Eclipse
UI Builder for
Junos Space
DEVELOPMENT ENVIRONMENTAll you need is one laptop.
Host OS
Junos Space IDE
Application
Simulated Devices
Application UI
Junos SpaceVM HostBrowser
Eclipse
24 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
APPLICATION EXAMPLESUSTAINABILITY & COMPLIANCE: KNOWLEDGE GLOBAL
Retrieve IT resource power
consumption
Lack of holistic energy usage metric to reduce cost and carbon emissions and its impact on operations in a global scale.
CHALLENGE
1
Comprehensive energy insight
Combination of IT & facility energy data
Sustainability compliant reports
SOLUTION
3
APPROACH
2
Leverage Junos Space to retrieve device level energy usage and integrate to a system of energy measurement, analysis and reporting, EMMA.
devices
Generate sustainability &
compliance reports –
Greenhouse Gas
The Network
Facilitiesreports
25 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
EMMA - ARCHITECTURE OVERVIEW
Melbourne
26 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
KG API-S + CODE SAMPLE…
ISSUE <get-environment-pem-information> RPC COMMAND
private static String DEVICES_URL = "/device-management/devices";private static String API_RPC_URL_PRE = "/api/space/device-management/devices/";private static String API_RPC_URL_POS = "/rpc";…..private static final String ENV_PEM_CMD = "<get-environment-pem-information/>";…
public String getDeviceReading(String deviceId, String rpcCommand){ String sret = ""; String apiURL = baseURL + API_RPC_URL_PRE + deviceId + API_RPC_URL_POS;… request.accept(acceptType); String data="<netconf><rpcCommands><rpcCommand><![CDATA[" + rpcCommand + "]]></rpcCommand></rpcCommands></netconf>"; request.body(contentType, data); ClientResponse<String> cresp = request.post(String.class); int respStatus = cresp.getStatus();
REST API RPC command Description
api/space/device-management/devices/exec-rpc
get-interface-information The API allows an RPC command to be executed. This RPC command gets detailed information around the interfaces on the device. We used the statistics information set to calculate total data throughput across the interfaces. This command is periodically polled to the devices.
api/space/device-management/devices/exec-rpc
get-environment-pem-information The API allows an RPC command to be executed. This RPC command gets detailed information around the power modules in the device. This command is periodically polled to the devices so we can determine aggregated power consumed
REST API Description
api/space/device-management/devices
The API queries the space instance to get the devices connected. This command returns the device id’s, status and associated information on each device. This is used to determine the devices on line before querying the devices using the RPC calls.
27 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
KNOWLEDGE-GLOBAL DEMO VIDEO
28 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
OPEN FOR APPLICATIONS & INTEGRATIONApplication and services platform to address real-world challenges
AP
P C
HO
ICE
S
EXTENSIONRICH APPS
NATIVE NON-NATIVE
RICH APPS MASHUPS
APIs
InfrastructureServices
Device & Network Abstraction
Services
MASHUPS
Independent Software Vendors
EnterpriseSystem
IntegratorsService Provider
29 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
JUNOS Space Platform Hosted Apps
Externally Hosted Apps
NON-NATIVE
RICH APPS MASHUPSEXTENSIONRICH APPS
NATIVE
MASHUPS
JS SDK APPLICATION TYPESA
PP
CH
OIC
ES
UI Component
Web Service Component
Server-side Component
RICH APPS
Web Service Component
Server-side Component
EXTENSIONUI Component
MASHUPS
UI Component
Web Service Component
Server-side Component
RICH APPS
UI Component
MASHUPS
Junos Space Platform API Services Stack
30 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
RESTful Web Services
NON-NATIVE RICH APP :: INTEGRATION EXAMPLE:
Both native and non-native apps can access platform services and bus. logic.
Non-native Apps enable the delivery of modular functionality with the ability to plug-in new capabilities/ customizations based on need
Platform and hosted Apps expose RESTful Web Services that can act as a Northbound Interface out of the platform for external Apps/Services to consume
Adaptors can be created for technology specific NBI.
Examples - MTOSI, TMF 814, etc …
Junos SpaceNetwork Application Platform
NON-NATIVERICH APP
UI Component
Web Service Component
Server-side Component
RICH APPS
Web Service Component
Server-side Component
EXTENSION
UI Component
MASHUPS
31 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
LANGUAGE INDEPENDENT NETWORK ABSTRACTION API
Get identifier for device
XML Option forJSON
https://127.0.0.1/api/space/device-management/devices?filter=(name eq ‘Torino’)
32 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
Java pg1
package test;
import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.UsernamePasswordCredentials;import org.apache.commons.httpclient.auth.AuthScope;import org.apache.commons.httpclient.HttpStatus;import org.codehaus.jettison.json.JSONObject;import org.jboss.resteasy.client.ClientRequest;import org.jboss.resteasy.client.ClientResponse;Import org.jboss.resteasy.client.core.executors.ApacheHttpClientExecutor;
public class RESTdevice { private static String SpaceURL; private static ApacheHttpClientExecutor clientExecutor;
public static void main(String[] args) {SpaceURL = "http://127.0.0.1:8080";
string url = SpaceURL + "/api/space/device-management/devices/229389";
UsernamePasswordCredentials credentials =
new UsernamePasswordCredentials(args[1], args[2]);
HttpClient httpClient = new HttpClient(); httpClient.getState().setCredentials(AuthScope.ANY, credentials); httpClient.getParams().setAuthenticationPreemptive(true);
clientExecutor = new ApacheHttpClientExecutor(httpClient);
Java pg2
ClientRequest request = new ClientRequest(url, clientExecutor);
System.out.println("==> GET " + url);
ClientResponse<String> response =request.get(String.class); // GET method
if (HttpStatus.SC_OK != response.getStatus()) { throw new Exception("Could not get device: " + response.getStatus());} JSONObject jsonObject =
new JSONObject(response.getEntity()); }}
JUNOS SPACE API AND JAVA EXAMPLE
Specify RESTful service request arguments Issue RESTful service request to
get network device info
Process the response
33 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
JUNOS SPACE API AND .NET C# EXAMPLE
Hammock open source lib To enable easy REST
Create User Auth Cred object
Create RestClient object w/ FQ URL to the API.Assign ACCEPT header to request for XML
Create + Associate RestRequest object w/ the Cred object
Submit GET request and receive RestResponse and print response.Content
34 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
Perl
#!/usr/bin/perl
use REST::Client; # Used for invoking RESTful APIs on Space
use MIME::Base64; # Used for encoding userid and password
use XML::LibXML; # Used for parsing XML responses from Space
my $client = REST::Client->new();
my $headers = {
Authorization => 'Basic ' . encode_base64($userid . ':' . $password),
"Content-Type" => "application/x-www-form-urlencoded" };
$client->GET('http://127.0.0.1:8080/api/space/device-management/devices/229389', $headers);
if ( $client->responseCode() == 200 ) {
my $xmlResponse = $client->responseContent();
$xs = XML::LibXML->new();
$doc = $xs->parse_string($xmlResponse);
} else {
print $client->responseCode()."\n";
}
JUNOS SPACE API AND PERL EXAMPLE
Issue RESTful service request to get network device info
Process the response
35 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
JUNOS SPACE API AND PYTHON EXAMPLEimport simplejsonimport httplib, urllibmethod = "GET"host = "http://127.0.0.1:8080"uri = "/api/space/device-management/devices/229389"body = ""
headers = { "Content-Type": "application/x-www-form-urlencoded",}
def request(method, host, uri, body, headers = {}): conn = httplib.HTTPConnection(host) conn.request(method.upper(), uri, body, headers)
response = conn.getresponse() print response.status, response.reason
if response.status == 200:""" Load a JSON data obj = simplejson.loads(response.read())""" obj = response.read() return obj else: print response.status, response.reason, response.read() conn.close()
""" Execute the HTTP call"""request(method, host, uri, body, headers = {}):
Issue RESTful service request to get network device info
Process the response
36 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
JUNOS SPACE API AND PHP EXAMPLEPHP pg1<?php require_once 'HTTP/Client.php';
$url = "http://127.0.0.1:8080/api/space/device-management/devices/229389"; $headers = array( "Content-Type" => "application/x-www-form-urlencoded", ); $body = "";
/*------- * HTTP_Client call (http://pear.php.net/package/HTTP_Client) */ $client = new HTTP_Client(); $responseCode = $client->get( $url, $headers) echo $responseCode $resp = $client->currentResponse(); $data = $resp['body']; echo $data // load XML data //$dom = new DomDocument(); //$dom->loadXML( $data );
PHP pg2
/*------- * CURL synchronous call */ function request($method, $url, $headers = array(), $body) { $conn = curl_init(); curl_setopt($conn, CURLOPT_URL, $url); curl_setopt($conn, CURLOPT_HTTPHEADER, $headers); curl_setopt($conn, CURLOPT_USERAGENT, "HTTP4e/3.0"); curl_setopt($conn, CURLOPT_CUSTOMREQUEST, strtoupper($method)); curl_setopt($conn, CURLOPT_POSTFIELDS, $xml_data); curl_setopt($conn, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($conn); $code = curl_getinfo($conn, CURLINFO_HTTP_CODE); echo $code curl_close($conn); return $data; } ?>
Issue RESTful service request to get network device info
Process the response
37 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
THE POWER OF RESTful APIs
HTTP
JUNOS SPACE PLATFORM3rd party APP 2
RESTful API - exposed
Junos SpacePlatform Stack
APP 1Provided service
3rd party APP 1
APP 1
APP 2
APP 2Provided service
Native + Extension Apps can extend the platform, by way of exposing their own APIs for other Apps to consume.
No hard dependency between high level apps
Mash-up service to allow soft dependency
38 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
Download and Install Junos Space SDK
Developer Workflow
CertificateDeveloper
Support Signed Application Package
Application Binary
AND DEPLOYING APPSBUILDINGSystem Administrator Workflow
Loads the app on Junos Space
Developer Code
APIs, Simulators, Test + Build Environment
APP DEVELOPMENT DEMO
40 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
ARCHITECTUREDEVICE HEALTH MONITOR APP
Device Health Monitor App
REST Web-Service Layer
EJB LayerUses Space API to monitor device health & traffic
Junos Space Platform
Google DataSource API
RESTClients
GoogleMashupBrowser
XML/JSONHTTP
GoogleDataTable
UI Layer
41 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
SPACE GUIDEVICE HEALTH MONITOR APP
List of Devices
Basic Health Parameters
Traffic Statistics
Chassis View
42 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
GOOGLE MASHUP GUIDEVICE HEALTH MONITOR APP
External GUI using JavaScript/HTML
Invokes the Google DataSource APIs implemented by our Health Monitor App
Uses the following Visualization API from Google:
Table Gauge AreaChart
44 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
MASHUP GUISPACE PLATFORM API + APPS API + GOOGLE API
External GUI using JavaScript/HTML
Mashup between Space Platform APIs
To obtain devices based on tags TagIt API
To automatically tag devices HealthMon API
To collect traffic data for devices Google Visualization API
Geo Map to depict concentration of devices across locations
Motion Chart to depict change in traffic patterns across locations
Software Vendor Testimonial
46 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
EXAMPLE: NETWORK VIRTUALIZATION
SOLUTION
Application: Virtual Switch
Benefits:• Reduces operational complexity and expense• Rapid to setup/tear-down
• Cheap/free to change
• Isolated from other users
• User chooses the :
• Connections, VLANs, ACLs…
Availability:OpenFlow: Any Juniper Networks systems supporting Junos control-plane applicationsVirtual Switch: Junos Space
APPROACH
Old: Manually configure devices which are harder to adapt quickly
New: • Use Big Switch’s OpenFlow controller to create “virtual L2 switches.”• Make the selected nodes look as if they are locally connected.• Use Junos Space as the platform to integrate and deliver this solution.
Technology:• Juniper OpenFlow-enabled device run the OpenFlow app built with the Junos SDK.• The Virtual Switch app is implemented with the Junos Space SDK.
CHALLENGE
Goal: Take a distributed multiple domain, site, layer, tenant network and use OpenFlow switches to virtualize a simpler network
Target:• Data Center Networks(allocate servers on demand to the appropriate datacenter L2 network independent of network /VLAN design)
Partner: Big Switch NetworksApplication: Virtual Switch
47 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
THE CONCEPT – SIMPLIFY THE NETWORK
Group together devices andseparate the groups with a virtual switch
48 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
THE SOLUTION – NETWORK VIRTUALIZATION
A simple switch connects only the hosts for a specific application/usecase/tenant:
• Rapid to setup/tear-down
• Cheap/free to change
• Isolated from other users
• Self-managed:
• User choose the connections
• User chooses the VLANs
• User chooses the ACLs …
Allow the Customer to define the logical networks they need
49 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
Junos Space Server
Big Switch Controller(manages OF switches)
Junos Space VM(manages rest of devices)
RESTful Web Service APIs
JUNOS SPACE INTEGRATION
50 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
Building good user interface is hard“Junos Space has done the “heavy lifting” of designing, implementing and integrating all the components required for a unified and complete management application.”
Good network knowledge/access is rare“Junos Space SDK has made the network ‘plumbing’ information available in comprehensive and easy-to-use REST APIs (as opposed to the nightmare of brittle screen scraping with expect), enabling enterprise-class solutions.”
TECHNICAL CHALLENGES SOLVED BY JUNOS SPACE
51 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
Reduced cost of development“By building on a complete platform, we greatly reduced the cost of developing the feature. We could focus on the novel and differentiated solution for our customers without spending significant engineering time on plumbing/infrastructure that Junos Space already has.”
Quicker go-to-market“Very simply, getting to market quickly is crucial for everyone, but especially for a startup. Junos Space means we’re quicker to market with a complete solution.”
Larger reach“By integrating with Junos Space, we made our solution far more accessible to a large section of our target market.”
BUSINESS CHALLENGES SOLVED BY JUNOS SPACE
52 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
This is a new way to do network app development and delivery:
• It’s all about layers of software (not layers of protocols) – think web application servers, mobile frameworks
• Enabling rapid application development
• Junos Space provides the overall application/management platform and coordination functionality
REFLECTIONS AND LOOKING FORWARD
53 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
JUNOS SPACE SDK DEVELOPMENT ORGANIZATIONS
big switch
More than 300 Junos Space SDKDEVELOPMENT ORGANIZATIONS
54 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
KEY PLATFORM BENEFITS
Developer Experience• Enables Focus on Innovation• Enables RAD and Quicker GTM
Easy Monetization• Junos deployed base as a first target market
Architecture • Hot pluggable apps• Language independent• Open application platform with RestFull APIs• Flexible integration options• Built in HA /Carrier Grade capabilities
Service Design• Ability to extend the services• Network/service abstraction
55 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
LEARN MORE
Using the SDK gives you the tools and the power to achieve requirements outside of the std. NPI process. You can leverage apps in the pipeline, guide customers, SIs and/or develop solutions yourself.
On the Juniper Matrix:
• Junos Space SDK downloadhttp://www.juniper.net/us/en/products-services/junos-developer/space-sdk-registration/
• Junos Space SDK Infohttps://matrix.juniper.net/community/products/nm/junosspacesdk
• Junos Space SDK Forumhttp://forums.juniper.net/t5/Junos-Space-Developer/bd-p/JSD
Email Aliases:• JS-DE@juniper.net• TT-SPACE-
SDK@juniper.netFollow us on Twitter:@ivojvodic@junosdeveloper
EXTERNAL TO JUNIPER:
VISIT juniper.net/developer
FOLLOW @junosdeveloper
CONTACT HelpMeBuildMyApp@juniper.net
innovation
juniper.net/developer
THANK YOU!