什么是云原生?
最简单的理解:
云原生=微服务+DevOps+持续交付+容器化。
更深层次的定义:
云原生=微服务+DevOps+持续交付+持续部署+持续发布+持续测试+容器编排与调度。
使用云原生的好处:
云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。
云原生应用的三大特征
- 容器化包装:软件应用的进程应该包装在容器中独立运行。
- 动态管理:通过集中式的编排调度系统来动态的管理和调度。
- 微服务化:明确服务间的依赖,互相解耦。
云原生设计理念:
1、面向分布式设计(Distribution):容器、微服务、API 驱动的开发。
2、面向配置设计(Configuration):一个镜像,多个环境配置。
3、面向韧性设计(Resistancy):故障容忍和自愈。
4、面向弹性设计(Elasticity):弹性扩展和对环境变化(负载)做出响应。
5、面向交付设计(Delivery):自动拉起,缩短交付时间。
6、面向性能设计(Performance):响应式,并发和资源高效利用。
7、面向自动化设计(Automation):自动化的 DevOps。
8、面向诊断性设计(Diagnosability):集群级别的日志、metric 和追踪。
9、面向安全性设计(Security):安全端点、API Gateway、端到端加密。