当前位置 : 主页 > 编程语言 > 其它开发 >

什么是云原生

来源:互联网 收集:自由互联 发布时间:2022-06-18
最近参加了极客时间的云原生培训,准备写点东西记录下学习心得,并且对一些需要深挖的点做个记号 想想自己也做了将近4年的DevOps,猛然被这么一问不禁有点懵,忙了半天,什么是

最近参加了极客时间的云原生培训,准备写点东西记录下学习心得,并且对一些需要深挖的点做个记号
想想自己也做了将近4年的DevOps,猛然被这么一问不禁有点懵,忙了半天,什么是云原生呢

什么是云原生 课堂笔记
  • 在公有云、私有云、混合云等动态环境中的构建和运行规模化应用的能力
  • 云原生是一种思想,是技术、企业管理方法的集合
    • 技术层面
      • 应用程序从设计之初就为在云上运行而做好准备
      • 云平台基于自动化体系
    • 流程层面
      • 基于DevOps, CI/CD
  • 基于多种手段
    • 应用容器化封装
    • 服务网格
    • 不可变的基础架构
    • 声明式API
  • 云原生的意义
    • 提升系统适应性、可管理性、可观察性
    • 使工程师能以最小的成本进行频繁和可预测的系统变更
    • 提升速度和效率,助力业务成长,缩短I2M (Idea to Market)

深入理解

查了一些资料,似乎并没有云原生的确切定义,比较合意的解释来自英文Cloud Native is Patterns
换成中文的话,差不多就是云原生是一套技术体系和方法论,它生在云上,长在云上。它涵盖了很多,并且随着时间推进,它的定义也在不断完善更新。云原生为用户指定了一条低心智负担的、敏捷的、能够以可扩展、可复制的方式最大化地利用云的能力、发挥云的价值的最佳路径

Patterns for What
  • Availability - Micro-services for everyone
  • Automation - Deployment & Management
  • Acceleration - CI/CD & “the ABCDE” of automation
  • Anywhere! - Containers are portable
云原生的一些要素
  • 微服务
    几乎每个云原生的定义都包含微服务,切分微服务的时候,需要遵循的准则是高内聚,低耦合
  • 容器化
    上云第一件事应该就是容器化了,所谓容器化实际上是一种轻量级的虚拟化技术。只不过相对于VM,属于进程级别的隔离(通过linux namespace实现),而K8S则是容器编排技术
  • DevOps
    不打算把持续交付列进去,因为即使不上云,持续交付也是运维人员的功课。但是DevOps是在云原生中应运而生的。它的理念在我看来就是为云原生量身定制的
我和云原生

在做DevOps之前,我大概做了六七年的软件测试工程师。
大概四年前,正好赶上公司转型,从一个拥有大型本地数据中心的重型公司转变成一个“云上”公司,公司的大部分业务,在拆分的时候都搬上了公有云。我在那时,加入了DevOps,何其有幸,目睹了公司的蜕变
我们先做的是将服务拆分成微服务,然后将各个微服务容器化,期间也在CICD上一步步探索提升,从自动发布到云上的虚拟机,到后来自动发布到公有云的k8s集群,从手动触发发布,到全自动PR触发
到现在,我们专注于监控,自动告警,OC,SLA/SLO,以及在此过程中敏捷的注入。回看起来,似乎有高人在背后指点,我们所做的每一步都契合着云原生
随着队伍的壮大,我们的版图也越来越大,此时你又发现,自己所做的一切又是云原生的冰山一角。
所以,云原生,任重道远,道阻且长。
DevOps全技术栈镇楼

参考资料

https://zhuanlan.zhihu.com/p/150190166
https://www.oracle.com/cloud/cloud-native/what-is-cloud-native/
https://builtin.com/cloud-computing/what-is-cloud-native

上一篇:JavaScript小案例-留言板案例
下一篇:没有了
网友评论