tfi2014 session i - state of sdn - karen “shelly” cadora

Post on 04-Jul-2015

84 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

TFI2014 Session I - State of SDN - Karen “Shelly” Cadora

TRANSCRIPT

Postponing Complexity Collapse

Shelly Cadora

Technical Marketing Engineer, Cisco Systems

@scadora

APIs and Config Automation

The future is already here.

It’s just not evenly distributed

William Gibson

3

SDN Is The Future

Source: http://blogs.gartner.com/andrew-lerner/2014/06/16/the-state-of-sdn-adoption/

4

NETCONF is an IETF Config Management Protocol

V 1.0

• RFC 3535 Background and requirements

• RFC 4741 1.0 Base NETCONF Protocol

• RFC 4742NETCONF over SSH

V 1.1

• RFC 6241 – 1.1 Base NETCONF Protocol

• RFC 6242 –NETCONF over SSH

Extensions

• RFC 5277 Notifications

• RFC 5717 Partial Locking

• RFC 6243 With defaults

• RFC 6244 NETCONF + YANG Architectural Overview

Content

Operations

Messages

Transport

Protocol Stack

Goals: Easy to Use, Accessible, Separate Config and

Operational Data, Error Checking, Backup/Restore,

Human and Machine Friendly, Lots of Tooling

5

NETCONF <get-config> Response<?xml version="1.0"?>

<rpc-reply message-id="11">

<data>

<Configuration>

<Hostname MajorVersion="1" MinorVersion="0">teddy</Hostname>

<IPDomain MajorVersion="2" MinorVersion="0">

<VRFTable MajorVersion="2" MinorVersion="0">

<VRF><Naming><VRFName>default</VRFName></Naming>

<Name>cisco.com</Name>

</VRF></VRFTable></IPDomain>

...

</Configuration> </data>

</rpc-reply>

]]>]]>

6

REST: An Architectural Style and An API

HTTP GET

HTML

Describes how data

should be displayed

to please human

viewer

HTTP GET

JSON/XML

Describes data in a

format applications

can understand

{"ids":[303776224, 19449911, 607032789,

86544242, 2506725913, 17631389],

"next_cursor":0, "next_cursor_str":"0",

"previous_cursor":0, "previous_cursor_str":"0"}

Web Browsing REST API

7

Routers Can Have REST APIs

JSON Format

• JavaScript Object Notation

• A light-weight, open standard, human

readable data interchange format

• A more compact alternative to XML

• RFC 4627

8

And So Can Networks (via a Controller)

9

DevOps: Applying IT Automation Tools to Networks

10

Software Designed Networking

APIs

Automation

Separation of Concerns

Data ModelsPrinciple of

Least Knowledge

Abstraction

Architectural Style

Design Patterns

What programming tools give you is the ability to manage complexity. The limiting factor for a lot of programming projects is our brains, our limited ability to manage complexity...

What good programming languages and good programming style allows us to do is postpone complexity collapse, postpone the point where we can’t make any more changes

Allen Downey

Thanks

top related