Erlang, Open Networking, and the Future of · PDF fileErlang, Open Networking, and the Future...

44
Erlang, Open Networking, and the Future of Computing Stu Bailey, Founder/CTO

Transcript of Erlang, Open Networking, and the Future of · PDF fileErlang, Open Networking, and the Future...

Erlang, Open Networking, and the Future of Computing Stu Bailey, Founder/CTO

Traditional corporate network

Business accountable network

What is the Business View of the Network?

© 2014 Infoblox Inc. All Rights Reserved. 2

How Can We Program an Internet of Things?

© 2014 Infoblox Inc. All Rights Reserved. 3

How Can We Program a

Million Cores?

And We Must Assume Hardware is Failing (or changing) ALL the Time: “Write Once, Run Forever”

OF COURSE ERLANG

6 © 2014 Infoblox Inc. All Rights Reserved.

© 2014 Infoblox Inc. All Rights Reserved. 7 © 2014 Infoblox Inc. All Rights Reserved.

But Wait! What

About the Network?!

TCP/IP Transport

Sockets Layer

Application

Hardware

Driver

User Kernel

Traditional Model

TCP/IP Transport

Sockets Layer

Hardware

Driver

User Kernel RDMA

Application

Kernel Bypass Model

RDMA Of Course Infiniband! Except!

And the Winner Is!

© 2014 Infoblox Inc. All Rights Reserved. 9

© 2014 Infoblox Inc. All Rights Reserved. 10

OF Forwarding Plane Vendor D

OF Forwarding Plane Vendor C

OF Forwarding Plane Vendor B

A STANDARD Forwarding Plane and Logically Centralized Control Plane

© 2014 Infoblox Inc. All Rights Reserved. 11

Control Plane

Capabilities across forwarding plane vendors are fairly uniform Performance and capacity are primary differentiators

eg: OpenFlow

OF Forwarding Plane Vendor B

OF Forwarding Plane Vendor C

OF Forwarding Plane Vendor D

© 2014 Infoblox Inc. All Rights Reserved. 12

!and maybe more?

2012 2013 2014

Full SDN Stack Timeline

LINC Switch beta v1.0

© 2014 Infoblox Inc. All Rights Reserved. 13

LINC Switch beta v2.X

FlowForwarding Community + alpha LINC Switch code availability

Loom Control Plane + Tapestry PoC

LINCX Switch v1.0

Loom Scalable SDN Control Plane

© 2014 Infoblox Inc. All Rights Reserved. 14

Erlang/OTP = SDN + Big Data + IoT

LS LS LS

Loom Loom

Netconf

Control Plane & Configuration

Point

Applications

Network White Boxes (Hardware)

Configuration Protocol

Data Path Element LINC: OpenFlow Capable Switch

On BEAM/Linux LINCX on LING/XEN

15 © 2014 Infoblox Inc. All Rights Reserved.

LS LS LS

Loom Loom

OpenFlow Capable Switch On BEAM/Linux LINCX on LING/XEN OpenFlowLINCX on LING/XEN OpenFlow Capable Switch LINCX on LING/XEN Capable Switch On BEAM/Linux LINCX on LING/XEN On BEAM/Linux

LINC Switch Architecture

16 © 2014 Infoblox Inc. All Rights Reserved.

OpenFlowConfiguration

Points

OpenFlow Controllers

OpenFlow Controllers

OpenFlow Operational Context

OpenFlow Logical Switch

Secure Channel

Group Table

Flow Table

Flow Table

Pipeline

OpenFlow Resource

OpenFlow Resource

OpenFlow Logical Switch

Secure Channel

Group Table

Flow Table

Flow Table

Pipeline

OpenFlow Resource

OpenFlow Resource

OpenFlow Capable Switch

OF-Config

OpenFlow Protocol OpenFlow Protocol

Erlang Implementation Architecture

17 © 2014 Infoblox Inc. All Rights Reserved.

of_switch

of_channel

of_protocol

OpenFlow Controller

of_cswitch

of_cfg_channel

of_configl

OpenFlow Configuration Point

API

kernel module

Erlang VM

OF-Config OpenFlow Protocol

LINCX Maxim Kharchenko, Cloudozer LLP

18 © 2014 Infoblox Inc. All Rights Reserved.

LINCX Architecture

© 2014 Infoblox Inc. All Rights Reserved. 19

The Erlang Secret Sauce

© 2014 Infoblox Inc. All Rights Reserved. 20

Future

© 2014 Infoblox Inc. All Rights Reserved. 21

Started December 9, 2013

•! A switch per port? Per two ports?

Multicore

•! Replace generic Linux bridges with faster alternative

Faster software bridges

•! Eliminate Linux completely from the packet path

PCI passthrough

Distributed Data Intensive Applications (e.g. Hadoop, Apache Spark, Sensor Nets)

The State of the Art!is Not

Network Processors (Broadcomm, Qualcomm)

Microprocessors (x86, ARM)

Ethernet Frame Virtual Machine

OS (e.g. Linux), Abstract Machines (e.g. JVM), Languages (e.g. Ruby), Clustering Frameworks (e.g. OpenStack),

Databases/FileSystems (e.g. MongoDB, HDFS), HDN++

Manual System Abstractions

Increasingly Ubiquitous

Hardware

Fundamental Abstractions

Data Platforms

Clo

ud

Priv

ate

Clo

ud

Embe

dded

Sys

tem

s

22 © 2014 Infoblox Inc. All Rights Reserved.

The Right Perspective!and Perfect Timing Slide one Click build Keep header

Option 2

The Right Perspective!and Perfect Timing

“The network IS the

computer”

John Gage (1984)

Slide Two On click the quote! Keep header from prev. slide

Option 1

We Need a Better Distributed System!

Network Processors (Broadcomm, Qualcomm)

Microprocessors (x86, ARM)

Ethernet Frame Virtual Machine (Xen)

(Data Intensive Distributed Control Plane) SDN + Distributed GraphDB + Functional Language

Scalable Analytic Library

Scalable System Abstractions

Increasingly Ubiquitous

Hardware

Fundamental Abstractions

Value Specific Distributed Apps

25 © 2014 Infoblox Inc. All Rights Reserved.

(Data Intensive Distributed Control Plane) SDN + Distributed GraphDB + Functional Language

Scalable Analytic Library

Scalable System Abstractions

Value Specific Distributed Apps

Network Processors (Broadcomm, Qualcomm)

Microprocessors (x86, ARM)

Ethernet Frame Virtual Machine

Increasingly Ubiquitous

Hardware

Fundamental Abstractions

26 © 2014 Infoblox Inc. All Rights Reserved.

Erlang/OTP + OpenFlow + Xen (No Linux, No CloudStack, No Hadoop)

Scalable System Scalable System Abstractions Getting there

Value Sample App

Great But!

27 © 2014 Infoblox Inc. All Rights Reserved.

28 © 2014 Infoblox Inc. All Rights Reserved.

© 2014 Infoblox Inc. All Rights Reserved. 29

30 © 2014 Infoblox Inc. All Rights Reserved.

NETWORK COMPLEXITY ANALYZER

31 © 2014 Infoblox Inc. All Rights Reserved.

DETECT COMMUNITIES

32 © 2014 Infoblox Inc. All Rights Reserved.

END POINT METADATA

33 © 2014 Infoblox Inc. All Rights Reserved.

FIND THE NCI

34 © 2014 Infoblox Inc. All Rights Reserved.

DYNAMIC NETWORK WIDE PROPERTY

35 © 2014 Infoblox Inc. All Rights Reserved.

GLOBAL TELEMETRY AND ACTION

36 © 2014 Infoblox Inc. All Rights Reserved.

LOGICAL INSTEAD OF PHYSICAL

A NEW Machine?

=

37 © 2014 Infoblox Inc. All Rights Reserved.

We Can Look Past the Cloud!

38 © 2014 Infoblox Inc. All Rights Reserved.

You Can Explore on Your Own!

© 2014 Infoblox Inc. All Rights Reserved. 39

How Can an Erlang/OTP Developer Program the Entire Network at Runtime?

© 2014 Infoblox Inc. All Rights Reserved. 40

Language extensions?

What abstractions?

ETC!

Mechanisms?

41 © 2014 Infoblox Inc. All Rights Reserved.

Or is Communication Just as Fundamental?

Where are Joe’s Contract Checkers??

Some Grand Challenges to Modernize Distributed Erlang

Security (e.g. Internode Security)

Modernize Distribution with SDN

Scalable GUI, Testing, and Diagnostic Frameworks

Packaging and Code Maintenance

Million-clause Functions, Modern Mailboxes, etc.

100% Erlang SDN at EUC 2015!

Help us make it happen!

Email us @ [email protected] http://www.FlowForwarding.org

44 © 2014 Infoblox Inc. All Rights Reserved.