深入浅出: 理解云原生基本原则

云原生指的是一个敏捷的工程团队,遵循敏捷的研发原则,使用高度自动化的研发工具,开发基于云基础设施和服务的应用以满足快速变化的客户需求。这些应用采用弹性,可扩展和高可用的架构。这个工程团队通过高效的运维提供这一应用服务,并且根据线上反馈不断地对服务进行迭代改进。

云原生应用的特征

  • 普遍可访问(Universal Availability)–服务可在任何地方从多前端访问。

  • 高可用性(High Availability)–基本服务随时在线。升级扩容服务无中断。单点失败影响范围小。失败触发自动恢复。

  • 高扩展性(Scalability)–服务可以随业务需要随时迅捷线性伸缩。

  • 自动弹性伸缩(Elasticity)–服务可以随业务需要按定义自动伸缩。

  • 可监控(Observability)–可以通过运维工具实时收集健康信息。

  • 安全性(Security)–高度安全,可抵御常规威胁。

  • 可迁移性(Deployable to Different Cloud Suppliers) –基础设施分离。易于迁移到不同的云计算供应商。

  • 快速迭代(Fast Iteration)–服务更新快速频繁。创新速度提高。

  • 演进式设计(Evolutionary Design)–持续改进

云原生的4大支柱

  • 团队与流程

  • 架构

  • 工具

  • 运维

云原生的组织和流程

  • 小团队开发(2-pizza Team)

  • 全栈团队(Full Stack Team)

  • 研发与运维的结合(DevOps)-端到端的责任(End to End Ownership)

  • 去中心化(Decentralization) -下放技术决策权。

  • 敏捷的研发流程(Agile Development)

云原生的架构

  • 云化微服务架构(Micro Service Architecture)–性能专注,系统组成部件高度解耦。独立开发,快速部署,仿真测试,实时运维,资源独立。系统组件化。组件独立化。

  • 基于云基础设施和服务(Based on Cloud Infrastructure and Services)–通过按需自获取或释放的云基础设施(计算,网络,存储)和服务。

  • 分布式云化部署(Distributed Deployment)–服务部署在分布式的云基础设施上。快捷全球上线。

  • 无状态(Stateless)–请求可以由任何服务器处理。单点失败对服务功能无影响。

  • 无本地依赖(Localless)–依赖其它云资源,比如云存储(CloudData Service),云计算资源,基于云的缓存,消息队列等等云服务。

  • 可水平扩展(Horizontal Scalable)–应用性能可以随调整通用性服务器数量得到线性调整。

  • 冗余性(Fault Tolerance)–利用多点部署,负载均衡(ELB)。单节点失败对服务无影响。

  • 服务注册与发现(Service Registration and Discovery)

  • 自动弹性伸缩(Auto Scaling)–服务可以随业务需要按定义自动伸缩。

  • 去中心化(Decentralization)–开放分布式系统。独立数据存储。

云原生的工具

  • 持续集成(Continuous Integration)

  • 依赖与版本管理(Dependency and Version Management)

  • 持续交付流水线(CD Pipeline)

  • 部署和回滚自动化(Automated Deployment and Rollback)

  • 开发者工具网站(Simple developer web portal)

  • 设施即代码(Infrastructure as a Service)

  • 灰度发布(Gray Release)

  • 端到端调试与分析(Full Stack Debugging and Profiling) –distributed tracing

  • 设置管理(Configuration Management)

  • 自助环境获取(Self Serviced Environment Acquisition)

  • 统一标准的服务开发框架(Standardized Service Framework)

  • 测试自动化(Continuous Automated Testing)

  • A/B测试(A/B Testing)

云原生的运维

  • 服务状态的实时感知(Real time Service Status through Monitoring)–Service and situ

  • 实时报警(Real time Alerting)

  • 基于日志的运维数据采集与处理(Log Based Data Collection and Processing)

  • 运维和业务相关指标的数据仪表盘(Visualized Dashboards of Operational and Business Relevant Metrics)

  • 动态调度(Resource Dynamic Orchestration)–机器效率,资源利用

  • 历史审计(Audit Trail Information)–保存部署历史数据。

  • 可测量的服务SLA (Measurable Service Level Agreement)

  • 快速问题定位(Issue Isolation)

  • 从故障中自动恢复(Automated Recovery from Failure)

  • 工单系统(Ticketing System)–跟踪处理在线系统故障。

  • 生产线探针(Probe in Production)–在线测试

  • 资源记账(Resource Accounting)

添加微信免费咨询服务器配置选择建议
微信号:landuiYY

未经允许不得转载:云技术 » 深入浅出: 理解云原生基本原则

赞 (0)