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

Open source Approach to Design and Deployment of ...events17.linuxfoundation.org/sites/events/files/slides/Microservices... · •Logging • ELK stack Opensource Ecosystem. Host

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Open source Approach to Design and Deployment of ...events17.linuxfoundation.org/sites/events/files/slides/Microservices... · •Logging • ELK stack Opensource Ecosystem. Host

Open source Approach to Design and Deployment of Microservices based VNF

Prem Sankar G, Ericsson

http://twitter.com/premsankar

Page 2: Open source Approach to Design and Deployment of ...events17.linuxfoundation.org/sites/events/files/slides/Microservices... · •Logging • ELK stack Opensource Ecosystem. Host

• Microservices – Intro, design patterns

• ETSI NFV Architecture

• VNF Characteristics

• Opensource Ecosystem

• Container Orchestration Engine Integration

Agenda

Page 3: Open source Approach to Design and Deployment of ...events17.linuxfoundation.org/sites/events/files/slides/Microservices... · •Logging • ELK stack Opensource Ecosystem. Host

What is Microservices?

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

Page 4: Open source Approach to Design and Deployment of ...events17.linuxfoundation.org/sites/events/files/slides/Microservices... · •Logging • ELK stack Opensource Ecosystem. Host

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

Page 5: Open source Approach to Design and Deployment of ...events17.linuxfoundation.org/sites/events/files/slides/Microservices... · •Logging • ELK stack Opensource Ecosystem. Host

Network Functions - Flavors

PNF VNF

Hypervisor

Microservices VNF

Hardware

µs µs µs

µs µs µs

µs runtime engine

Page 6: Open source Approach to Design and Deployment of ...events17.linuxfoundation.org/sites/events/files/slides/Microservices... · •Logging • ELK stack Opensource Ecosystem. Host

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

Microservices Design Patterns

Page 7: Open source Approach to Design and Deployment of ...events17.linuxfoundation.org/sites/events/files/slides/Microservices... · •Logging • ELK stack Opensource Ecosystem. Host

• 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

Page 8: Open source Approach to Design and Deployment of ...events17.linuxfoundation.org/sites/events/files/slides/Microservices... · •Logging • ELK stack Opensource Ecosystem. Host

• Elasticity

• Fault Tolerance

• Agility/

• API-based/End points

• Infra and Location agnostic

• Central Orchestration

• Predictability

• Business needs• 5G, IOT

Key drivers for VNF

Page 9: Open source Approach to Design and Deployment of ...events17.linuxfoundation.org/sites/events/files/slides/Microservices... · •Logging • ELK stack Opensource Ecosystem. Host

ETSI NFV Architecture

Page 10: Open source Approach to Design and Deployment of ...events17.linuxfoundation.org/sites/events/files/slides/Microservices... · •Logging • ELK stack Opensource Ecosystem. Host

WorkflowManager and Orchestrator

Continuous Integration

ContinuousDeployment

Monitor

Design and Creation

Operation and

Maintenance

Deployment and

Execution

VNF Lifecycle

Page 11: Open source Approach to Design and Deployment of ...events17.linuxfoundation.org/sites/events/files/slides/Microservices... · •Logging • ELK stack Opensource Ecosystem. Host

• 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

Page 12: Open source Approach to Design and Deployment of ...events17.linuxfoundation.org/sites/events/files/slides/Microservices... · •Logging • ELK stack Opensource Ecosystem. Host

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

Page 13: Open source Approach to Design and Deployment of ...events17.linuxfoundation.org/sites/events/files/slides/Microservices... · •Logging • ELK stack Opensource Ecosystem. Host

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

Page 14: Open source Approach to Design and Deployment of ...events17.linuxfoundation.org/sites/events/files/slides/Microservices... · •Logging • ELK stack Opensource Ecosystem. Host

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

Page 15: Open source Approach to Design and Deployment of ...events17.linuxfoundation.org/sites/events/files/slides/Microservices... · •Logging • ELK stack Opensource Ecosystem. Host