Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Data Store/ Database type & software:

Relational DB

Include but not limited to MySQL, MariaDB, PostgreSQL.

Non-relational DB

Include but not limited to MangoDB, Radis, etcd.

Mainstream commercial DB

Include but not limited to Oracle, SQLServer.

Distributed data storage

Include but not limited to Ceph.

  • It is recommended database achieve the following monitoring KPIs: number of queries, response time, number of errors, throughput, number of query concurrency, number of tables.
  • General PaaS shall support backup of data storage and database manually and automatically. The backup needs to support be downloaded and be used for data recovery.

...

  • This functions should dynamically update the status of service backend, including updating service IP address, traffic management like flow forwarding/ flow control/ ACL, etc.
  • Commonly used Service Proxy & Load Balancing software includes but not limited to Istio, Contour, MetalLB, NGINX, Envoy, Linkerd.
  • It is recommended that this function support statistic and analysis of flows, including number of messages (request/response/error/etc.). the number of sent/received data packets, delay, etc.

Observability

General PaaS shall provide tools to help developers, operators, and users to realize observability of applications running on PaaS platform, which is to obtain metrics/logs/alarms/link status of applications, make these data visualized, so that different group of people can get insight of application running status, locate fault and analyze problems. Observability can help to maintain the stability and reliability of the application. Observability usually includes monitoring, logging, and tracing.

The life cycle of application software and system can be roughly divided into two stages: developing stage and running stage. In developing stage, application software designer/developer should implement the generation of metrics, logs, events, and design the output of these contents according to requirements of General PaaS tools (which includes data format mapping, General PaaS agent integration, etc.). In the running stage, application software will generate metrics, logs, events. These data can be collected by agent and reported to matched General PaaS tool, or General PaaS tool can directly pull data from agent. Data generation and collection at running stage are automatically completed by General PaaS tool.

Detailed requirements are listed below:

  • General PaaS shall provide monitoring software:
    • Monitoring software should support metric collection with support to federate and stream metrics across clusters.
    • The collected metrics should support visualization by dashboard.
    • It is recommended that monitoring software can support customized alarm and aggregation rules configuration, and alert subscription.
    • Commonly used monitoring software include Promehteus, Cortex, Thanos, Grafana, Kiali, Zabbix, and Collectd, within which Promehteus and Grafana are most popular. The above software can be used independently or combinedly.
  • General PaaS shall provide software for log management, which includes collecting, storing, displaying and other operations of software and system logs.
    • Commonly used logging software include Fluentd, ElasticSearch, Logstash, FluentBit, ELK, among which ElasticSearch, Fluentd and ELK are mostly used.
    • The collected logs should be visualized.
    • Besides collecting, storing, indexing, displaying logs, the log management software can also support log analysis, alarm and alarm subscription.
  • General PAAS shall provide tracing functions to record all operations in the whole service life cycle, so that it can provide information for problem analysis and O&M.
    • Commonly used tracing software include Jaeger, OpenTracing, OpenCensus, OpenTelemetry, ZIPkin, among which Jaeger, OpenTelemetry, and Open Tracing are most popular.

DevOps

The lifecycle of software generally includes requirement determination, user experience design, development, testing, deployment, continuous O&M (operation and management). The object of DevOps is to connect these six steps into an automatic workflow, so that developers can only focus on coding and continuously get operation feedbacks, which can finally shorten the product delivery cycle, as well as improve delivery quality.

General PaaS shall provide DevOps tools to help enterprise to build automatic workflow and implement DevOps concepts, which includes:

  • Continuous integration and continuous delivery tools, which helps to build automatic pipeline of integration, testing, deployment, and upgrade.
  • Project management tools, which helps developers to create independent workspace to make operations including code change, construction, automatic testing, integration, release, etc.
  • Code management tools, which provides code repository and code quality management functions. These tools should support maintaining detailed application code changing records, and authorization management of code branch.
  • Automatic testing tools, which support automatically execute test cases according to user-defined test contents and generate visualized testing results.

Commonly used open-source software include Jenkins, Gitlab, Maven, Argo, Sonar.

Service Mesh

General PaaS shall provide Service Mesh functions and software. Detailed requirements are listed below.

  • General PaaS service mesh shall support traffic management (TCP proxying, load balancing, traffic split, mirroring, cricuit breaker, fault injection, filters, external routing, ingress, etc.) Security (mTLS, certificate rotation), proxy injection, CNI plugins. multi cluster support.
  • General PaaS service mesh shall support dashboard for visualizing the mesh, various communications, link load conditions, etc.
  • Commonly used open-source tools are Linkerd, Consul, Istio, Envoy, among which Istio+Envoy are popular choice.

API Gateway

API Gateway described in this section is General PaaS service, which is mainly responsible for exposing service API of user-developed applications/systems. Requirements of it are basically the same as that of API Gateway as PaaS Management functions.

Commonly used open-source tools are Kong, Tyk, 3-Scale, Istio, EMCO.

Service Discovery

General PAAS shall provide Service Discovery functions and software to help micro services of application/system to obtain each other's access information

  • Service Discovery functions shall maintain real-time microservice access info, which includes adding address of new microservice, update microservice instance address, deleting information of fault microservice, etc.
  • Commonly used open -source software include CoreDNS,etcd,Zookeeper,Netflix,Nacos, among which CoreDNS, etcd, Zookeeper are popular choice.

4.2.3 Telco PaaS Requirements

...