云原生架构技术概览
云原生架构以容器化、CI/CD、应用编排、监控与分析、服务发现与治理、网络与策略、分布式数据库与存储、流和消息处理、容器运行环境与镜像仓库、软件发布等技术特征,充分发挥云计算优势,结合DevOps、持续交付、微服务和容器技术。Kubernetes作为核心组件,通过API Server、Controller Manager、Scheduler、etcd等组件实现系统状态管理和容器调度,并辅以Helm、CNAB、OCI、Gatekeeper、Service Mesh Interface、VS Code k8s Extension、Brigade、KEDA、Dapr等开源项目支持其生态发展。
企业应用云原生架构的业务诉求
企业应用云原生架构的主要业务诉求包括:通过云迁移(REHOST)、代码调整(REFACTOR)、架构重构(REARCHITECT)或云原生应用上云(REBUILD)实现应用现代化,以提升创新速度、规模、安全性和可靠性。云原生是软件开发新范式,预计到2022年,生产环境中的应用将有超过35%是云原生的。云原生驱动力源于应用现代化、专属云、边缘云、高性能计算、低代码平台、无处不在的应用部署、云灾备、多云数据治理、云运营优化和云的可持续性等趋势。
企业落地云原生架构的技术挑战
企业落地云原生架构面临的技术挑战包括:自行管理运行Kubernetes平台的难点,如补丁、升级、监控、伸缩、高可用、安全加固、证书管理、TLS配置、自动化、控制平面成本、插件管理、网络驱动和存储驱动等;镜像仓库的管理难点,如数据安全与加密、跨区域高可用与灾备、安全扫描、Helm Charts仓库管理等;以及托管型Kubernetes平台的管理能力,包括集群管理、应用Package管理、DevOps集成等。
企业落地云原生架构的最佳实践
企业落地云原生架构的最佳实践包括:
- 关键业务现代化:通过Azure Functions、Azure Cosmos DB、Azure API Management、AKS、Apache Spark、Azure Notification Hub、Azure CDN、Virtual nodes、Azure Traffic Manager、Device等工具,轻松处理负载尖峰,实现无需停机即可连续交付新功能。
- SaaS交付:通过Azure Kubernetes Service、Nginx、Backup & restore、disaster recovery、Azure Monitor、Azure Container Registry、Azure Pipelines、Storage Sync Services、Azure Backup等,快速上线基于服务器的架构,升级为基于容器的服务架构。
- 服务API优先:通过几分钟内创建API网关和开发人员门户,轻松发布API供内部或外部使用,连接到任何地方的后端服务,并在一个地方管理、优化所有API,以及保护API的安全。
- 实时数据处理:通过Azure Database for PostgreSQL、Azure Cache for Redis、Azure Kubernetes Service、Ingestservice、Analysis service、Map matching service、Azure Key Vault、Azure Databricks、Azure Cosmos DB、Azure Web Apps、GPS and sensor、Azure Container Registry、Azure Pipelines、Apache Kafka on Azure HDInsights、Azure API Management、End userData scientists、GitHub等,实时摄录和分析海量IoT数据,实现实时个性化推荐。
- 分布式应用架构:通过Azure Cosmos DB、App + session state、Azure Traffic Manager、AKS in Region A、AKS in Region B、AKS in Region C、Client App等,将数据放在用户所在的地方,为世界任何地方的用户提供实时访问和不间断服务。