open source approach to design and deployment of microservices-based vnf

15
Open source Approach to Design and Deployment of Microservices based VNF Prem Sankar G, Ericsson http://twitter.com/premsankar

Upload: open-networking-summit

Post on 22-Jan-2018

357 views

Category:

Technology


1 download

TRANSCRIPT

Open source Approach to Design and Deployment of Microservices based VNF

Prem Sankar G, Ericsson

http://twitter.com/premsankar

• Microservices – Intro, design patterns

• ETSI NFV Architecture

• VNF Characteristics

• Opensource Ecosystem

• Container Orchestration Engine Integration

Agenda

What is Microservices?

• Reference – Martin Fowler, http://martinfowler.com

Principles that drive Microservicesarchitecture

• Services must be loosely coupled so that they can be developed, deployed and scaled independently• Organized around business capabilities• API Focused• Smart endpoints and dumb pipes• Decentralized Governance• Decentralized Data Management• Infrastructure Automation (infrastructure as code)• Design for failure• Evolutionary Design

Network Functions - Flavors

PNF VNF

Hypervisor

Microservices VNF

Hardware

µs µs µs

µs µs µs

µs runtime engine

• Reference – Chris Richardson http://microservices.io/patterns/microservices.html

Microservices Design Patterns

• Decomposition Pattern• Business Capability/Subdomain context

• Service discovery Pattern

• API Gateway Pattern

• Database per service Pattern• Keep each microservice’s persistent data private to that service and accessible only via its API• RDBMS design approaches

• Private-tables-per-service – each service owns a set of tables that must only be accessed by that service• Schema-per-service – each service has a database schema that’s private to that service• Database-server-per-service – each service has it’s own database server.

• Circuit Breaker

Microservices Design Patterns for VNF

• Elasticity

• Fault Tolerance

• Agility/

• API-based/End points

• Infra and Location agnostic

• Central Orchestration

• Predictability

• Business needs• 5G, IOT

Key drivers for VNF

ETSI NFV Architecture

WorkflowManager and Orchestrator

Continuous Integration

ContinuousDeployment

Monitor

Design and Creation

Operation and

Maintenance

Deployment and

Execution

VNF Lifecycle

• Workflow Manager and Orchestrator • ONAP/TOSCA

• Design and Deployment• CI/CD Pipelines

• Jenkins• Fabric8 (Jenkins, Kubernetes and Docker)• Other options – goCD, concourse.ci• Ansible/Puppet/Chef

• Execution/NFVi• Kubernetes with ODL, OPNFV

• Monitoring• Prometheus and other alternatives (https://prometheus.io/docs/introduction/comparison/)

• Tracing• Zipkin

• Logging• ELK stack

Opensource Ecosystem

Host OS

Open vSwitch

Host OS

Open vSwitch

Container Orchestration Engine - OpenDaylight

VM

Container App

Container App

Container App

VLAN’s

Orchestrator

OpenDaylight

Kubernetes / Docker

Kuryr

Neutron / Gluon

Container App

Container App

Container App

Container Mgt

(docker, kube-pxy)

Iptables / NAT/FW

Integrated

Native

• Reference – ODL COE project, http://wiki.opendaylight.org/view/COE:Main

Deployment

Neutron Plugin or Gluon/Proton

Linux Linux Linux Linux

Kubernetes

Datacenter Hardware

Linux

OpenStack

OVS

App

Orchestration Systems

OpenStack APIs

OpenDaylight

Kubernetes APIs

CNI Plugin

KVM KVM Container RT

Container RT

App App App

VM Application Container Application

AppApp App

VNF - Mixed deployment

Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.

-- Melvyn Conway, 1967