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

12
Postponing Complexity Collapse Shelly Cadora Technical Marketing Engineer, Cisco Systems @scadora APIs and Config Automation

Upload: colorado-internet-society-co-isoc

Post on 04-Jul-2015

82 views

Category:

Technology


1 download

DESCRIPTION

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

TRANSCRIPT

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

Postponing Complexity Collapse

Shelly Cadora

Technical Marketing Engineer, Cisco Systems

@scadora

APIs and Config Automation

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

The future is already here.

It’s just not evenly distributed

William Gibson

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

3

SDN Is The Future

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

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

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

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

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>

]]>]]>

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

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

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

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

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

8

And So Can Networks (via a Controller)

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

9

DevOps: Applying IT Automation Tools to Networks

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

10

Software Designed Networking

APIs

Automation

Separation of Concerns

Data ModelsPrinciple of

Least Knowledge

Abstraction

Architectural Style

Design Patterns

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

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

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

Thanks