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

640?wx_fmt=jpeg

640?wx_fmt=gif&wxfrom=5&wx_lazy=1

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

 

640?wx_fmt=png

 

云原生应用的特征web

  • 广泛可访问(Universal Availability)–服务可在任何地方从多前端访问。缓存

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

  • 高扩展性(Scalability)–服务能够随业务须要随时迅捷线性伸缩。服务器

  • 自动弹性伸缩(Elasticity)–服务能够随业务须要按定义自动伸缩。网络

  • 可监控(Observability)–能够经过运维工具实时收集健康信息。架构

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

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

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

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

 

云原生的4大支柱

  • 团队与流程

  • 架构

  • 工具

  • 运维

 

640?wx_fmt=png

云原生的组织和流程

  • 小团队开发(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)

更多架构师技术关知识请参考“架构师技术全店资料打包汇总(全)”电子书(32本技术资料打包汇总、详解目录和内容请经过“阅读原文”获取)。

舒适提示:

请识别二维码关注公众号,点击原文连接获取架构师技术全店资料打包汇总(全)电子书资料详情

640?wx_fmt=jpeg

640?wx_fmt=gif&wxfrom=5&wx_lazy=1