continuous delivery with cloud native architecture. 持續交付與雲原生架構.pdf ·...
TRANSCRIPT
![Page 1: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/1.jpg)
Continuous Deliverywith
Cloud Native Architecture
Vincent Huang 黃健旻
![Page 2: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/2.jpg)
About Me• 💎 https://jianminhuang.cc 🙋 You can find me via my personal
page
• 😎 Wide Range Skill Set Software Engineer
• 🧰 Research, Architecture, Coding, DB, Agile, Ops, Testing, Infra.
• 👨💻 Mainly use JVM Languages (Java > Kotlin > Scala) but also ❤
Python, Node.js and Go 🚀
• 🍀 Big fan of 🍎 Hackintosh, 🌈 Corsair RGB products, 💞 Ryan in
KAKAO FRIENDS and ⌨ Mechnical Keyboard
![Page 3: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/3.jpg)
References• https://docs.microsoft.com/zh-tw/dotnet/architecture/cloud-native/definition
• https://jimmysong.io/kubernetes-handbook/cloud-native/cloud-native-definition.ht
ml
• https://www.hwchiu.com/gitops.html
• https://www.gitops.tech/
• https://medium.com/starbugs/gitops-%E9%80%8F%E9%81%8E-argo-cd-%E8%
AA%8D%E8%AD%98-gitops-f0a596764fdd
• https://www.weave.works/technologies/gitops/
![Page 4: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/4.jpg)
Continuous Integration
Continuous Delivery
Continuous Deployment !?
![Page 5: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/5.jpg)
換版
上版
build版
Jenkins按一下
打版
過版
阿普鼓Ray
打包
更新
包版
升版釘版
阿普Day
![Page 6: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/6.jpg)
❖ Action➢ Shell Script➢ npm run …➢ ant ...➢ mvn clean deploy➢ gradle ...➢ ...
❖ Pre, Action, Post
![Page 7: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/7.jpg)
https://github.com/cncf/toc/blob/master/DEFINITION.md
Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.
These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil.
The Cloud Native Computing Foundation seeks to drive adoption of this paradigm by fostering and sustaining an ecosystem of open source, vendor-neutral projects. We democratize state-of-the-art patterns to make these innovations accessible for everyone.
![Page 8: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/8.jpg)
https://github.com/cncf/toc/blob/master/DEFINITION.md
Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.
These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil.
The Cloud Native Computing Foundation seeks to drive adoption of this paradigm by fostering and sustaining an ecosystem of open source, vendor-neutral projects. We democratize state-of-the-art patterns to make these innovations accessible for everyone.
![Page 9: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/9.jpg)
https://github.com/cncf/toc/blob/master/DEFINITION.md
![Page 10: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/10.jpg)
https://github.com/cncf/toc/blob/master/DEFINITION.md
![Page 11: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/11.jpg)
https://github.com/cncf/toc/blob/master/DEFINITION.md
![Page 12: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/12.jpg)
Docker -> Kubernetes
![Page 13: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/13.jpg)
Microservice in Past • Client Side Service Discovery
• Service Governance depends on specific framework or language
– Service Discovery
– Load Balance
– Rate Limit
– Circuit Break
– Timeout
– Retry
– Trace
• VM Based DevOps Techniques
e.g. Eureka
e.g. Ribbon + Feign
e.g. Hystrix related
e.g. Sleuth + Zipkin
![Page 14: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/14.jpg)
Let’s Mesh!
![Page 15: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/15.jpg)
Let’s Mesh!
![Page 16: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/16.jpg)
![Page 17: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/17.jpg)
YAML Engineer 4 ni !
![Page 18: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/18.jpg)
DevOps
AIOps
ChatOps
GitOps
SecOpsNetOps
ITOps
NoOps
CloudOps
DataOps
SysOps
![Page 19: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/19.jpg)
https://www.weave.works/technologies/gitops/
• CI or CD process trigger by Git Hooks
GitOps is a way to do Kubernetes cluster management and application delivery.
It works by using Git as a single source of truth for declarative infrastructure and
applications. With GitOps, the use of software agents can alert on any
divergence between Git with what's running in a cluster, and if there's a
difference, Kubernetes reconcilers automatically update or rollback the cluster
depending on the case. With Git at the center of your delivery pipelines,
developers use familiar tools to make pull requests to accelerate and simplify
both application deployments and operations tasks to Kubernetes.
![Page 20: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/20.jpg)
https://www.weave.works/technologies/gitops/
• CI or CD process trigger by Git Hooks
GitOps is a way to do Kubernetes cluster management and application delivery.
It works by using Git as a single source of truth for declarative infrastructure and
applications. With GitOps, the use of software agents can alert on any
divergence between Git with what's running in a cluster, and if there's a
difference, Kubernetes reconcilers automatically update or rollback the cluster
depending on the case. With Git at the center of your delivery pipelines,
developers use familiar tools to make pull requests to accelerate and simplify
both application deployments and operations tasks to Kubernetes.
1.
2.3.
![Page 21: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/21.jpg)
Principles of GitOps• The entire system described declaratively
• The canonical desired system state versioned in Git
– Infrastructure as Code and Managed by Git
• Approved changes that can be automatically applied to the system
• Software agents to ensure correctness and alert on divergence
![Page 22: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/22.jpg)
ArgoCD
![Page 23: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/23.jpg)
![Page 24: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/24.jpg)
He Do This -> He Want This
![Page 25: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/25.jpg)
Thank you so much for your time
![Page 26: Continuous Delivery with Cloud Native Architecture. 持續交付與雲原生架構.pdf · Continuous Delivery with Cloud Native Architecture ... service meshes, microservices, immutable](https://reader034.vdocuments.site/reader034/viewer/2022051322/603a8a7f916fe919997875ab/html5/thumbnails/26.jpg)
Q & A