open source approach to design and deployment of ... · principles that drive microservices...
TRANSCRIPT
![Page 1: Open source Approach to Design and Deployment of ... · Principles that drive Microservices architecture • Services must be loosely coupled so that they can be developed, deployed](https://reader033.vdocument.in/reader033/viewer/2022042108/5e87b23451d097133945a284/html5/thumbnails/1.jpg)
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 ... · Principles that drive Microservices architecture • Services must be loosely coupled so that they can be developed, deployed](https://reader033.vdocument.in/reader033/viewer/2022042108/5e87b23451d097133945a284/html5/thumbnails/2.jpg)
• 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 ... · Principles that drive Microservices architecture • Services must be loosely coupled so that they can be developed, deployed](https://reader033.vdocument.in/reader033/viewer/2022042108/5e87b23451d097133945a284/html5/thumbnails/3.jpg)
What is Microservices?
• Reference – Martin Fowler, http://martinfowler.com
![Page 4: Open source Approach to Design and Deployment of ... · Principles that drive Microservices architecture • Services must be loosely coupled so that they can be developed, deployed](https://reader033.vdocument.in/reader033/viewer/2022042108/5e87b23451d097133945a284/html5/thumbnails/4.jpg)
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 ... · Principles that drive Microservices architecture • Services must be loosely coupled so that they can be developed, deployed](https://reader033.vdocument.in/reader033/viewer/2022042108/5e87b23451d097133945a284/html5/thumbnails/5.jpg)
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 ... · Principles that drive Microservices architecture • Services must be loosely coupled so that they can be developed, deployed](https://reader033.vdocument.in/reader033/viewer/2022042108/5e87b23451d097133945a284/html5/thumbnails/6.jpg)
• Reference – Chris Richardson http://microservices.io/patterns/microservices.html
Microservices Design Patterns
![Page 7: Open source Approach to Design and Deployment of ... · Principles that drive Microservices architecture • Services must be loosely coupled so that they can be developed, deployed](https://reader033.vdocument.in/reader033/viewer/2022042108/5e87b23451d097133945a284/html5/thumbnails/7.jpg)
• 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 ... · Principles that drive Microservices architecture • Services must be loosely coupled so that they can be developed, deployed](https://reader033.vdocument.in/reader033/viewer/2022042108/5e87b23451d097133945a284/html5/thumbnails/8.jpg)
• 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 ... · Principles that drive Microservices architecture • Services must be loosely coupled so that they can be developed, deployed](https://reader033.vdocument.in/reader033/viewer/2022042108/5e87b23451d097133945a284/html5/thumbnails/9.jpg)
ETSI NFV Architecture
![Page 10: Open source Approach to Design and Deployment of ... · Principles that drive Microservices architecture • Services must be loosely coupled so that they can be developed, deployed](https://reader033.vdocument.in/reader033/viewer/2022042108/5e87b23451d097133945a284/html5/thumbnails/10.jpg)
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 ... · Principles that drive Microservices architecture • Services must be loosely coupled so that they can be developed, deployed](https://reader033.vdocument.in/reader033/viewer/2022042108/5e87b23451d097133945a284/html5/thumbnails/11.jpg)
• 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 ... · Principles that drive Microservices architecture • Services must be loosely coupled so that they can be developed, deployed](https://reader033.vdocument.in/reader033/viewer/2022042108/5e87b23451d097133945a284/html5/thumbnails/12.jpg)
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 ... · Principles that drive Microservices architecture • Services must be loosely coupled so that they can be developed, deployed](https://reader033.vdocument.in/reader033/viewer/2022042108/5e87b23451d097133945a284/html5/thumbnails/13.jpg)
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 ... · Principles that drive Microservices architecture • Services must be loosely coupled so that they can be developed, deployed](https://reader033.vdocument.in/reader033/viewer/2022042108/5e87b23451d097133945a284/html5/thumbnails/14.jpg)
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 ... · Principles that drive Microservices architecture • Services must be loosely coupled so that they can be developed, deployed](https://reader033.vdocument.in/reader033/viewer/2022042108/5e87b23451d097133945a284/html5/thumbnails/15.jpg)