# Assignment5(Service Management and Orchestration (SMO))
###### tags: `Wireless Communications course`
reference:https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=20875862
## Name_related
* Proposed name for O-RAN SC project: Service Management and Orchestration (SMO)
* Name for the repository: smo
## Project description:
* The primary goal of the SMO project is to <font color="#f00"> integrate different software artifacts for existing open-source projects creating a fully functional open-source Service Management and Orchestration (SMO)</font>.
* It is intended to find and document gaps in open-source compared to the O-RAN specifications of a SMO.
* The SMO project has strong dependencies to
* O-RAN-SC projects NON-RT-RIC, OAM, INT, SIM and DOC and to
* O-RAN Alliance Working Groups 1, 2, 3 and 6.
* It is assumed that modern implementations of a couple of Linux Foundation Projects are considered creating the function of a SMO as defined by O-RAN Alliance
* Acumos
* Acumos AI is a platform and open source framework that makes it easy to build, share, and deploy AI apps.
* Acumos standardizes the infrastructure stack and components required to run an out-of-the-box general AI environment.(Acumos 標準化了運行開箱即用的通用 AI 環境所需的基礎設施堆棧和組件。)
* this frees data scientists and model trainers to focus on their core competencies and accelerates innovation.(這讓數據科學家和模型培訓師能夠專注於他們的核心競爭力並加速創新。)
* Acumos is part of the LF AI Foundation, an umbrella organization within The Linux Foundation that supports and sustains open source innovation in artificial intelligence,machine learning, and deep learning while striving to make these critical new technologies available to developers and data scientists everywhere.(Acumos 是 LF AI 基金會的一部分,該基金會是 Linux 基金會內的一個傘式組織,支持和維持人工智能的開源創新,機器學習和深度學習,同時努力將這些關鍵的新技術提供給世界各地的開發人員和數據科學家。)
* Akraino
* Akraino is a set of open infrastructures and application blueprints for the Edge, spanning a broad variety of use cases, including 5G, AI, Edge IaaS/PaaS, IoT, for both provider and enterprise edge domains.(Akraino 是一組面向邊緣的開放基礎架構和應用程序藍圖,涵蓋了廣泛的用例,包括 5G、人工智能、邊緣 IaaS/PaaS、物聯網,適用於提供商和企業邊緣域。)
##### Design Principle
* Akraino follows a holistic design focused on availability, capacity, security, and continuity.(Akraino 遵循專注於可用性、容量、安全性和連續性的整體設計。)
* Finite set of configurations – In order to reduce complexity, the design will follow a finite set of configurations.
* May support Multiple workloads types such as VMs, Containers, micro services, etc.,
* Security – The design needs to validate(驗證) the security of the blueprint.
* Autonomous, turn-key solution for service enablement
* Platform, VNF and application assessment and gating – assess whether the application is fit to run at the edge(e.g. latency sensitiveness, code quality)
##### Build Principle
* The Akraino blueprints are built to scale in a cost-effective way.
* Low latency placement and processing to support edge drivers.
* Plug & play modular architecture –building blocks using multiple cloud management technologies.(即插即用模塊化架構——使用多種雲管理技術的構建塊。)
##### Run Principle
* By focusing on the uniqueness that is the edge, Akraino focuses on building infrastructure and applications that have:
* Zero-touch provisioning, operations, and lifecycle – which in turn reduces OpEx(零接觸配置、運營和生命週期——這反過來又降低了 OpEx)
* Automated maturity measurement – operations, designs, and services.(自動化成熟度測量——運營、設計和服務。)
##### Community Principles
* The Akraino community has worked together to provide shared resources to the developers and open source participants to ease development across the different hardware platforms and architectures.
* Organization and oversight of the Community Lab
* Community sponsored hardware well aligned to the Akraino blueprints and design philosophies.(社區贊助的硬件與 Akraino 藍圖和設計理念非常一致)
* Cloud Native
* MAKE CLOUD NATIVE UBIQUITOUS(無處不在)
* CNCF projects are the foundation of cloud native computing.
* gRPC
* gRPC is a modern open source high performance Remote Procedure Call (RPC) framework that can run in any environment.
* feature
* 
* Helm(The package manager for Kubernetes)
* Helm is the best way to find, share, and use software built for Kubernetes.
* Helm helps you manage Kubernetes applications — Helm Charts help you define, install, and upgrade even the most complex Kubernetes application.
* 
* Kubernetes
* Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications.
* Whether testing locally or running a global enterprise, Kubernetes flexibility grows with you to deliver your applications consistently and easily no matter how complex your need is.
* 
* Let’s-encrypt
* LF Networking
* ONAP
* ONAP is a comprehensive platform for orchestration, management, and automation of network and edge computing services for network operators, cloud providers, and enterprises.
* OPNFV
* OPNFV reduces time to integrate and deploy NFV infrastructure and onboard VNF/CNFs for those who supply components and those who operationalize these platforms.
* Open DAYLIGHT
* OpenDaylight (ODL) is a modular open platform for customizing and automating networks of any size and scale.
* OSM
* Open Source MANO is an ETSI-hosted project to develop an Open Source NFV Management and Orchestration (MANO) software stack aligned with ETSI NFV.
* OSM is developing an open source Management and Orchestration (MANO) stack aligned with ETSI NFV Information Models.
* OvS
* Open vSwitch is a production quality, multilayer virtual switch licensed under the open source Apache 2.0 license.
* 
* It is designed to enable massive network automation through programmatic extension, while still supporting standard management interfaces and protocols (e.g. NetFlow, sFlow, IPFIX, RSPAN, CLI, LACP, 802.1ag).
* In addition to OVS, the Open vSwitch community maintains the OVN project.
## The SMO project will describe and document the instantiation of different SMO deployment options:
* SMO-Dev:A SMO instance which focus on developer experience, used by O-RAN-SC developers.
* SMO-MVP “Minimum Viable Product”:A light-ware SMO instance mainly used for module testing. It should include O-RAN-SC simulators to show and validate the entire O-RAN functions.
* SMO-full:A full functional O-RAN-SC SMO instance as reference implementation for commercial products, including “one-click” deployment, geo-redundancy, ...
### Cherry Application LCM Step 1 - Create Application Package



### Cherry Application LCM Step 2 - Package Validation

### Cherry Application LCM Step 3 - Catalog Package


### Cherry Application LCM Step 4 - Create Config



### Cherry rAPP Deployment Scenario

### Cherry xAPP Deployment Scenario

### Cherry Specifications, YANG Modules, NonFunctional
參考https://wiki.o-ran-sc.org/display/OAM/Cherry
## Figure
