SlideShare a Scribd company logo
1 of 42
Download to read offline
从CI到CD,使用Docker技术实现每日
十次发布
王天青
首席架构师@麻袋理财
Agenda
• About Me
• About 麻袋理财
• 独角兽成功秘诀
• 思考及解决方法
• 敏捷基础架构
• 微服务,What, How, Why?
• CI/CD
• 麻袋理财的实践
• 总结
About Me
• 南京大学计算机科学与技术系硕士。
• 资深Java程序员,2003年开始从事J2EE开发,从软件开发做到架构设计。
• 08年加入EMC中国研究院,最高担任云平台主任研究员,长期从事云计算
创新技术解决方案设计和实现。
• 2015年9月加入麻袋理财,任首席架构师
• 在工作期间,分别在中国和美国提交了20+专利申请,其中”Data
provenance in computing infrastructure [United States
8,700,678]”, “Lightweight appliance for content storage [United
States 9,165,009]”和”Analytics platform for automated diagnosis,
remediation, and proactive supportability [United States
9,313,091]”分别在在2014/4,2015/10和2016/4被美国专利局正式授
权。
www.madailicai.com
独角兽成功秘诀
独角兽们
成功秘诀
• Speed of innovation (天下武功,唯快不破)
• Always-available services (随时、随地可用)
• Web scale(从0到1,快速扩展)
• Mobile-centric user experiences (移动为王)
读物
Ten Deploys Per Day. Why Not?
一天十发,有何不可?
思考及解决方法
乱花渐欲迷人眼 & 冰山一角
软件
流程
工具
技术
组织
正本清源
ROI
速度
架构 模块化 服务化 微服务
Dev 领域模型 系统设计 接口设计
DevTest 接口测试 集成测试 系统测试
DevOps CI CD 自动化
质量
架构 高可用 高性能 高安全
Dev 编码规范 单元测试 代码评审
DevTest 自动化测试 分支覆盖率 测试覆盖率
DevOps 系统监控 应用监控 业务监控
业务驱动技术 技术推动业务
解决方案
• Cloud Native Application
• Cloud Native describes the patterns of high
performing organizations delivering software
faster, consistently and reliably at scale.
• Continuous delivery, DevOps, and
Microservices label the why, how and what of
the cloud natives.
Cloud Native的五个层面
微服务
(技术)
敏捷基础设施
(技术)
持续集成/
持续交付
(管理)
DevOps
(管理)
康威定律
(管理)
其他最佳实践
好处
更快的上线速度
细致的故障探测和
发现
故障时自动隔离
故障时自动恢复 方便的水平扩展
敏捷基础架构
支撑微服务的平台
VMware	ESX
Public Cloud
IDC
VPN
Private Cloud
Developer
Tester
DevOps
微服务
What, How, Why?
符合微服务规范 (12 Factor
App)
• 基准代码(Codebase):代码必须纳入配置库统一管理。
• 依赖(Dependencies):显式的声明对其他服务的依赖,比如通过Maven、Bundler、NPM等。
• 配置(Config):对于不同环境(开发/staging/生产等)的参数配置,是通过环境变量的方式进行注入。
• 后台服务(Backing services):对于DB、缓存等后台服务,是作为附加资源,可以独立的Bind/Unbind。
• 编译/发布/运行(Build、Release、Run):Build、Release、Run这三个阶段要清晰的定义和分开。
• 无状态进程(Processes):App的进程是无状态的,任何状态信息都存储到Backing services(DB,缓
存等)。
• 端口绑定(Port binding):App是自包含的,所有对外服务通过Port Binding暴露,比如通过Http。
• 并发(Concurrency):App可以水平的Scaling。
• 快速启动终止(Disposability):App进程可以被安全的、快速的关闭和重启。
• 环境一致性(Dev/prod parity):尽可能的保持开发、staging、线上环境的一致性。
• 日志(Logs):把日志作为事件流,不管理日志文件,通过一个集中的服务,由执行环境去收集、聚合、
索引、分析日志事件。
微服务核心关注点
• Distributed/versioned configuration – 配置中
心
• Service registration and discovery – 服务注册
/发现
• Routing – 路由
• Service-to-service calls – API调用
• Load balancing – 负载均衡
• Circuit Breaker – 容错
• Asynchronous – 异步
• Distributed messaging – 分布式消息
微服务好处
技术异构性 弹性 扩展
简化部署
与组织架构
匹配
可组合性
Spring Boot/Cloud
• All in one
• 全套!!!
Spring Boot
• Stand-alone Spring-based applications
• Tomcat embedded container (supports
Jetty & JBoss Undertow too)
• Starter POMs
• Annotation driven
• Java Configuration Beans
• http://start.spring.io/
Spring Cloud
• Microservice friendly
components:	
• Distributed	&	
versioned	
configuration	
• Service	discovery
• Load	Balancing
• Circuit	breakers
• Distributed	messaging
CI/CD
CI/CD
Continuous Integration Continuous Delivery
自动化
自动化代码管理
自动化测试
自动化发布
自动化资源分配自动化安全检测
自动化监控
自动化故障处理
DevOps 八荣八耻
•以可配置为荣,以硬编码为耻 。
•以系统互备为荣,以系统单点为耻 。
•以随时可重启为荣,以不能迁移为耻 。
•以整体交付为荣,以部分交付为耻 。
•以无状态为荣,以有状态为耻 。
•以标准化为荣,以特殊化为耻 。
•以自动化工具为荣,以人肉操作为耻 。
•以无人值守为荣,以人工介入为耻 。
麻袋理财的实践
方法与工具(麻袋理财实践版)
开发 测试 运维
CI/CD
Jenkins + Docker
Git-flow
Gitlab
Code Analysis
Sonar
Issues/Milestones/Wiki
Gitlab
Team Collaboration
Teambition
Status/Perf Monitoring
Nagios/Zabbix
Log Monitoring
ELK
Running Env
Cloud+Docker
Deploy/Config Automation
Ansible/Bash Scripts
APM
ELK
UI测试
Selenium/Appium
接口测试
Robot/Sniper
性能测试
Jmeter/LoadRunner
功能测试
Manual*
业务架构
基础架构
基础服务层 DisConf Dubbo
基础业务服务 支付 帐务 合同 短信 客户征信
业务服务 审批 电销 网销 催收
拆分原则
• 单一职责:每一个模块(服务)只做一件事情
• 项目粒度:每一个可以单独进程跑的项目拆分为
一个单独的项目
• 代码与配置分离:Build	->	Release	->	Run
代码管理
• 使用Git
• 使用Git flow
接口管理: Swagger
代码质量管理: SonarQube
CI: Jenkins + Docker
• Commit code to Gitlab
• Gitlab触发Jenkins任务
• Jenkins任务启动Maven基础镜像进行:
• Build
• Unit Test (集成Sonar)
• Deploy: 发布snapshot版本到本地Maven仓库
• Jenkins回调Gitlab, 将结果反馈
CD: Jenkins + Docker
• Merge request (Dev to UAT) at Gitlab
• Gitlab触发Jenkins任务
• Jenkins任务启动Maven基础镜像进行:
• Build
• Deploy: 发布RC版本到本地Maven仓库
• Jenkins触发下一个构建镜像的任务
• 基于Dockerfile构建Docker镜像
• 推送镜像到Harbor仓库
• 在UAT服务器上启动镜像
• 进行端到端的自动化测试(如果有)
• Jenkins回调Gitlab, 将结果反馈
编排-Docker Compose
• 配置
• 支持环境变量的方式配置应用参数。利用docker-compose将所有的配置单独
的保存在一个git仓库中。
• 配置复用
• 由于各个项目启动参数,配置项存在相同的部分和不同的部分,因此可以利用
docker-compose的override的特性实现配置的复用。例如 docker-compose
-f docker-compose.yml -f docker-compose.sit.yml -f docker-
compose.sit.project.yml up –d
• 容器启动的参数,如log driver/Volume/Network等的配置可以放在docker-
compose.yml中,部署环境相关的内容放在docker-compose.sit.yml,特定
项目的配置放在docker-compose.sit.project.yml中,多个yml中配置项相同
的,越往后的优先级越高。
集群管理(Swarm+Shipyard)
Docker Registry: Harbor
• An	open	source	enterprise-class	registry	server.	
• Apache	2	license.
• https://github.com/vmware/harbor/
灰度发布
应用停止处理新请
求(管理接口)
更新Nginx配置
(切流量)
等待应用处理完当
前请求
停止当前容器(管
理接口+Docker命
令)
启动新版本容器
灰度验证(基于IP
或者Header)
更新Nginx配置
(切流量)
更新其余容器
更新Nginx配置
(恢复配置)
总结
• 微服务化:
• 模块化->服务化->Docker化
• 充分的单元测试,接口测试,集成测试
• 一切都要自动化
• CI
• CD
感谢

More Related Content

What's hot

[ Study4TW Visual Studio Everywhere ] Vsts + microsoft teams 建構企業的Devops
[ Study4TW Visual Studio Everywhere ] Vsts + microsoft teams 建構企業的Devops[ Study4TW Visual Studio Everywhere ] Vsts + microsoft teams 建構企業的Devops
[ Study4TW Visual Studio Everywhere ] Vsts + microsoft teams 建構企業的DevopsEdward Kuo
 
VSCode Remote Development 介紹
VSCode Remote Development 介紹VSCode Remote Development 介紹
VSCode Remote Development 介紹Philip Zheng
 
DevOps Taiwan CICD Pipeline Tools
DevOps Taiwan CICD Pipeline ToolsDevOps Taiwan CICD Pipeline Tools
DevOps Taiwan CICD Pipeline Toolsscott liao
 
01 DevOps and Azure DevOps overview
01 DevOps and Azure DevOps overview01 DevOps and Azure DevOps overview
01 DevOps and Azure DevOps overviewAlan Tsai
 
API Token 入門
API Token 入門API Token 入門
API Token 入門Andrew Wu
 
[2021 DevDays]Microsoft Teams 整合 Azure DevOps之實務應用
[2021 DevDays]Microsoft Teams 整合 Azure DevOps之實務應用[2021 DevDays]Microsoft Teams 整合 Azure DevOps之實務應用
[2021 DevDays]Microsoft Teams 整合 Azure DevOps之實務應用Edward Kuo
 
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?Miles Chou
 
Continuous Delivery - 敏捷開發的最後一哩路
Continuous Delivery - 敏捷開發的最後一哩路Continuous Delivery - 敏捷開發的最後一哩路
Continuous Delivery - 敏捷開發的最後一哩路Miles Chou
 
容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中Andrew Wu
 
GitHub Action Introduction
GitHub Action IntroductionGitHub Action Introduction
GitHub Action IntroductionDuran Hsieh
 
[2018 DevOps Days]大型企業如何推行DevOps
[2018 DevOps Days]大型企業如何推行DevOps[2018 DevOps Days]大型企業如何推行DevOps
[2018 DevOps Days]大型企業如何推行DevOpsEdward Kuo
 
大型製造業實踐DevOps 團隊之路
大型製造業實踐DevOps 團隊之路大型製造業實踐DevOps 團隊之路
大型製造業實踐DevOps 團隊之路Edward Kuo
 
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步Edward Kuo
 
Dev ops 簡介
Dev ops 簡介Dev ops 簡介
Dev ops 簡介hugo lu
 
SRE 讀書會 - 導讀:第 31 章
SRE 讀書會 - 導讀:第 31 章SRE 讀書會 - 導讀:第 31 章
SRE 讀書會 - 導讀:第 31 章Chen Cheng-Wei
 
CYBERSEC 2020 臺灣資安大會 - 第一次使用 k8s 就不埋漏洞
CYBERSEC 2020 臺灣資安大會 - 第一次使用 k8s 就不埋漏洞CYBERSEC 2020 臺灣資安大會 - 第一次使用 k8s 就不埋漏洞
CYBERSEC 2020 臺灣資安大會 - 第一次使用 k8s 就不埋漏洞Secview
 
Frontend devops-v1.0
Frontend devops-v1.0Frontend devops-v1.0
Frontend devops-v1.0Yan Wang
 
DevOps核心理念和實踐
DevOps核心理念和實踐DevOps核心理念和實踐
DevOps核心理念和實踐Martin Liu
 
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)Chen Cheng-Wei
 
微服務對IT人員的衝擊
微服務對IT人員的衝擊微服務對IT人員的衝擊
微服務對IT人員的衝擊Philip Zheng
 

What's hot (20)

[ Study4TW Visual Studio Everywhere ] Vsts + microsoft teams 建構企業的Devops
[ Study4TW Visual Studio Everywhere ] Vsts + microsoft teams 建構企業的Devops[ Study4TW Visual Studio Everywhere ] Vsts + microsoft teams 建構企業的Devops
[ Study4TW Visual Studio Everywhere ] Vsts + microsoft teams 建構企業的Devops
 
VSCode Remote Development 介紹
VSCode Remote Development 介紹VSCode Remote Development 介紹
VSCode Remote Development 介紹
 
DevOps Taiwan CICD Pipeline Tools
DevOps Taiwan CICD Pipeline ToolsDevOps Taiwan CICD Pipeline Tools
DevOps Taiwan CICD Pipeline Tools
 
01 DevOps and Azure DevOps overview
01 DevOps and Azure DevOps overview01 DevOps and Azure DevOps overview
01 DevOps and Azure DevOps overview
 
API Token 入門
API Token 入門API Token 入門
API Token 入門
 
[2021 DevDays]Microsoft Teams 整合 Azure DevOps之實務應用
[2021 DevDays]Microsoft Teams 整合 Azure DevOps之實務應用[2021 DevDays]Microsoft Teams 整合 Azure DevOps之實務應用
[2021 DevDays]Microsoft Teams 整合 Azure DevOps之實務應用
 
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
 
Continuous Delivery - 敏捷開發的最後一哩路
Continuous Delivery - 敏捷開發的最後一哩路Continuous Delivery - 敏捷開發的最後一哩路
Continuous Delivery - 敏捷開發的最後一哩路
 
容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中
 
GitHub Action Introduction
GitHub Action IntroductionGitHub Action Introduction
GitHub Action Introduction
 
[2018 DevOps Days]大型企業如何推行DevOps
[2018 DevOps Days]大型企業如何推行DevOps[2018 DevOps Days]大型企業如何推行DevOps
[2018 DevOps Days]大型企業如何推行DevOps
 
大型製造業實踐DevOps 團隊之路
大型製造業實踐DevOps 團隊之路大型製造業實踐DevOps 團隊之路
大型製造業實踐DevOps 團隊之路
 
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步
 
Dev ops 簡介
Dev ops 簡介Dev ops 簡介
Dev ops 簡介
 
SRE 讀書會 - 導讀:第 31 章
SRE 讀書會 - 導讀:第 31 章SRE 讀書會 - 導讀:第 31 章
SRE 讀書會 - 導讀:第 31 章
 
CYBERSEC 2020 臺灣資安大會 - 第一次使用 k8s 就不埋漏洞
CYBERSEC 2020 臺灣資安大會 - 第一次使用 k8s 就不埋漏洞CYBERSEC 2020 臺灣資安大會 - 第一次使用 k8s 就不埋漏洞
CYBERSEC 2020 臺灣資安大會 - 第一次使用 k8s 就不埋漏洞
 
Frontend devops-v1.0
Frontend devops-v1.0Frontend devops-v1.0
Frontend devops-v1.0
 
DevOps核心理念和實踐
DevOps核心理念和實踐DevOps核心理念和實踐
DevOps核心理念和實踐
 
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
 
微服務對IT人員的衝擊
微服務對IT人員的衝擊微服務對IT人員的衝擊
微服務對IT人員的衝擊
 

Viewers also liked

Monitoring docker-container-and-dockerized-applications
Monitoring docker-container-and-dockerized-applicationsMonitoring docker-container-and-dockerized-applications
Monitoring docker-container-and-dockerized-applicationsSatya Sanjibani Routray
 
Database Containerization Platform Checklist
Database Containerization Platform ChecklistDatabase Containerization Platform Checklist
Database Containerization Platform Checklistrobinsystems
 
New Relic + Apprenda Webinar
New Relic + Apprenda WebinarNew Relic + Apprenda Webinar
New Relic + Apprenda WebinarNew Relic
 
Going Cloud Native - It Takes a Platform
Going Cloud Native - It Takes a PlatformGoing Cloud Native - It Takes a Platform
Going Cloud Native - It Takes a PlatformChip Childers
 
Cloud Native Infrastructure Management Solutions Compared
Cloud Native Infrastructure Management Solutions ComparedCloud Native Infrastructure Management Solutions Compared
Cloud Native Infrastructure Management Solutions ComparedWork-Bench
 
Highly Available Persistent Applications in Containers - DockerCon16
Highly Available Persistent Applications in Containers - DockerCon16Highly Available Persistent Applications in Containers - DockerCon16
Highly Available Persistent Applications in Containers - DockerCon16{code}
 
Hybrid Cloud DevOps with Apprenda and UrbanCode Deploy
Hybrid Cloud DevOps with Apprenda and UrbanCode DeployHybrid Cloud DevOps with Apprenda and UrbanCode Deploy
Hybrid Cloud DevOps with Apprenda and UrbanCode DeployClaudia Ring
 
Using containers to build a microservices architecture
Using containers to build a microservices architectureUsing containers to build a microservices architecture
Using containers to build a microservices architectureEric D. Schabell
 
Cloud Native Cost Optimization UCC
Cloud Native Cost Optimization UCCCloud Native Cost Optimization UCC
Cloud Native Cost Optimization UCCAdrian Cockcroft
 
Poka yoke and Devops
Poka yoke and DevopsPoka yoke and Devops
Poka yoke and Devopsulfmansson
 
Agile in Operations, DevOps and Architecture
Agile in Operations, DevOps and ArchitectureAgile in Operations, DevOps and Architecture
Agile in Operations, DevOps and ArchitectureCA Technologies
 
Cloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleCloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleMatthew Perrins
 
Propper Email Etiquette
Propper Email EtiquettePropper Email Etiquette
Propper Email EtiquetteSt John
 
Software Architecture for DevOps and Continuous Delivery
Software Architecture for DevOps and Continuous DeliverySoftware Architecture for DevOps and Continuous Delivery
Software Architecture for DevOps and Continuous DeliveryEberhard Wolff
 
Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)Chris Aniszczyk
 
Digital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewDigital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewIBM UrbanCode Products
 
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...Daniel Krook
 
'Cloud-Native' Ecosystem - Aug 2015
'Cloud-Native' Ecosystem - Aug 2015'Cloud-Native' Ecosystem - Aug 2015
'Cloud-Native' Ecosystem - Aug 2015Lenny Pruss
 
13 practical tips for writing secure golang applications
13 practical tips for writing secure golang applications13 practical tips for writing secure golang applications
13 practical tips for writing secure golang applicationsKarthik Gaekwad
 

Viewers also liked (20)

Monitoring docker-container-and-dockerized-applications
Monitoring docker-container-and-dockerized-applicationsMonitoring docker-container-and-dockerized-applications
Monitoring docker-container-and-dockerized-applications
 
Database Containerization Platform Checklist
Database Containerization Platform ChecklistDatabase Containerization Platform Checklist
Database Containerization Platform Checklist
 
New Relic + Apprenda Webinar
New Relic + Apprenda WebinarNew Relic + Apprenda Webinar
New Relic + Apprenda Webinar
 
Going Cloud Native - It Takes a Platform
Going Cloud Native - It Takes a PlatformGoing Cloud Native - It Takes a Platform
Going Cloud Native - It Takes a Platform
 
Cloud Native Infrastructure Management Solutions Compared
Cloud Native Infrastructure Management Solutions ComparedCloud Native Infrastructure Management Solutions Compared
Cloud Native Infrastructure Management Solutions Compared
 
Highly Available Persistent Applications in Containers - DockerCon16
Highly Available Persistent Applications in Containers - DockerCon16Highly Available Persistent Applications in Containers - DockerCon16
Highly Available Persistent Applications in Containers - DockerCon16
 
Hybrid Cloud DevOps with Apprenda and UrbanCode Deploy
Hybrid Cloud DevOps with Apprenda and UrbanCode DeployHybrid Cloud DevOps with Apprenda and UrbanCode Deploy
Hybrid Cloud DevOps with Apprenda and UrbanCode Deploy
 
Using containers to build a microservices architecture
Using containers to build a microservices architectureUsing containers to build a microservices architecture
Using containers to build a microservices architecture
 
Cloud Native Cost Optimization UCC
Cloud Native Cost Optimization UCCCloud Native Cost Optimization UCC
Cloud Native Cost Optimization UCC
 
Poka yoke and Devops
Poka yoke and DevopsPoka yoke and Devops
Poka yoke and Devops
 
Agile in Operations, DevOps and Architecture
Agile in Operations, DevOps and ArchitectureAgile in Operations, DevOps and Architecture
Agile in Operations, DevOps and Architecture
 
Cloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleCloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer Console
 
Propper Email Etiquette
Propper Email EtiquettePropper Email Etiquette
Propper Email Etiquette
 
Software Architecture for DevOps and Continuous Delivery
Software Architecture for DevOps and Continuous DeliverySoftware Architecture for DevOps and Continuous Delivery
Software Architecture for DevOps and Continuous Delivery
 
Microxchg Microservices
Microxchg MicroservicesMicroxchg Microservices
Microxchg Microservices
 
Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)
 
Digital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewDigital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture Overview
 
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
 
'Cloud-Native' Ecosystem - Aug 2015
'Cloud-Native' Ecosystem - Aug 2015'Cloud-Native' Ecosystem - Aug 2015
'Cloud-Native' Ecosystem - Aug 2015
 
13 practical tips for writing secure golang applications
13 practical tips for writing secure golang applications13 practical tips for writing secure golang applications
13 practical tips for writing secure golang applications
 

Similar to 从CI到CD[麻袋理财王天青]v1

微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open CampAndrew Wu
 
持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版Kirk Chen
 
美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介pan weizeng
 
Nodejs & NAE
Nodejs & NAENodejs & NAE
Nodejs & NAEq3boy
 
Heat在企业中的应用实践
Heat在企业中的应用实践Heat在企业中的应用实践
Heat在企业中的应用实践xuanlangjian
 
姚彤 从360手机卫士的研发经历看大型移动应用开发
姚彤 从360手机卫士的研发经历看大型移动应用开发姚彤 从360手机卫士的研发经历看大型移动应用开发
姚彤 从360手机卫士的研发经历看大型移动应用开发Trinea Trinea
 
實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)Gelis Wu
 
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构  王保平Top100summit前端的云时代支付宝前端平台架构  王保平
Top100summit前端的云时代支付宝前端平台架构 王保平drewz lin
 
微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势
微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势
微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势damacheng2
 
如何使用微軟Power系列服務的看法
如何使用微軟Power系列服務的看法如何使用微軟Power系列服務的看法
如何使用微軟Power系列服務的看法Edward Kuo
 
Oracle saa s paas overview
Oracle saa s paas overviewOracle saa s paas overview
Oracle saa s paas overviewChris Lee
 
Oracle雲端服務介紹 taiwan
Oracle雲端服務介紹   taiwanOracle雲端服務介紹   taiwan
Oracle雲端服務介紹 taiwanChieh-An Yu
 
Internet System Security Overview
Internet System Security OverviewInternet System Security Overview
Internet System Security OverviewChinaNetCloud
 
It基础架构的自动化编排
It基础架构的自动化编排It基础架构的自动化编排
It基础架构的自动化编排Bill Wang
 
浅谈架构升级
浅谈架构升级浅谈架构升级
浅谈架构升级Hardway Hou
 
網站上線了,然後呢?
網站上線了,然後呢?網站上線了,然後呢?
網站上線了,然後呢?Kirk Chen
 
美团技术沙龙04 美团下一代分布式存储系统
美团技术沙龙04   美团下一代分布式存储系统美团技术沙龙04   美团下一代分布式存储系统
美团技术沙龙04 美团下一代分布式存储系统美团点评技术团队
 
Btrace intro(撒迦)
Btrace intro(撒迦)Btrace intro(撒迦)
Btrace intro(撒迦)ykdsg
 
移动互联网服务端架构介绍
移动互联网服务端架构介绍移动互联网服务端架构介绍
移动互联网服务端架构介绍arganzheng
 
AWS_Educate_Ambassador_Day_TAIWAN_Track_B - Build a Telegram Chatbot using AW...
AWS_Educate_Ambassador_Day_TAIWAN_Track_B - Build a Telegram Chatbot using AW...AWS_Educate_Ambassador_Day_TAIWAN_Track_B - Build a Telegram Chatbot using AW...
AWS_Educate_Ambassador_Day_TAIWAN_Track_B - Build a Telegram Chatbot using AW...土撥 JIE
 

Similar to 从CI到CD[麻袋理财王天青]v1 (20)

微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
 
持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版
 
美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介
 
Nodejs & NAE
Nodejs & NAENodejs & NAE
Nodejs & NAE
 
Heat在企业中的应用实践
Heat在企业中的应用实践Heat在企业中的应用实践
Heat在企业中的应用实践
 
姚彤 从360手机卫士的研发经历看大型移动应用开发
姚彤 从360手机卫士的研发经历看大型移动应用开发姚彤 从360手机卫士的研发经历看大型移动应用开发
姚彤 从360手机卫士的研发经历看大型移动应用开发
 
實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)
 
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构  王保平Top100summit前端的云时代支付宝前端平台架构  王保平
Top100summit前端的云时代支付宝前端平台架构 王保平
 
微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势
微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势
微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势, 微服务眼中持续交付的最佳姿势
 
如何使用微軟Power系列服務的看法
如何使用微軟Power系列服務的看法如何使用微軟Power系列服務的看法
如何使用微軟Power系列服務的看法
 
Oracle saa s paas overview
Oracle saa s paas overviewOracle saa s paas overview
Oracle saa s paas overview
 
Oracle雲端服務介紹 taiwan
Oracle雲端服務介紹   taiwanOracle雲端服務介紹   taiwan
Oracle雲端服務介紹 taiwan
 
Internet System Security Overview
Internet System Security OverviewInternet System Security Overview
Internet System Security Overview
 
It基础架构的自动化编排
It基础架构的自动化编排It基础架构的自动化编排
It基础架构的自动化编排
 
浅谈架构升级
浅谈架构升级浅谈架构升级
浅谈架构升级
 
網站上線了,然後呢?
網站上線了,然後呢?網站上線了,然後呢?
網站上線了,然後呢?
 
美团技术沙龙04 美团下一代分布式存储系统
美团技术沙龙04   美团下一代分布式存储系统美团技术沙龙04   美团下一代分布式存储系统
美团技术沙龙04 美团下一代分布式存储系统
 
Btrace intro(撒迦)
Btrace intro(撒迦)Btrace intro(撒迦)
Btrace intro(撒迦)
 
移动互联网服务端架构介绍
移动互联网服务端架构介绍移动互联网服务端架构介绍
移动互联网服务端架构介绍
 
AWS_Educate_Ambassador_Day_TAIWAN_Track_B - Build a Telegram Chatbot using AW...
AWS_Educate_Ambassador_Day_TAIWAN_Track_B - Build a Telegram Chatbot using AW...AWS_Educate_Ambassador_Day_TAIWAN_Track_B - Build a Telegram Chatbot using AW...
AWS_Educate_Ambassador_Day_TAIWAN_Track_B - Build a Telegram Chatbot using AW...
 

从CI到CD[麻袋理财王天青]v1