Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
运维系统开发与Rails 3页面开发实践
Search
fsword
November 08, 2011
Education
1
320
运维系统开发与Rails 3页面开发实践
Rubyconf China 2011
fsword
November 08, 2011
Tweet
Share
More Decks by fsword
See All by fsword
持续集成和云
fsword
0
110
Other Decks in Education
See All in Education
SJRC 2526
cbtlibrary
0
200
Web 2.0 Patterns and Technologies - Lecture 8 - Web Technologies (1019888BNR)
signer
PRO
0
3k
栃木県警サイバーセキュリティ研修会2026
nomizone
0
160
HTML5 and the Open Web Platform - Lecture 3 - Web Technologies (1019888BNR)
signer
PRO
2
3.2k
都市の形成要因と 「都市の余白」のあり方
sakamon
0
150
焦りと不安を、技術力に変える方法 - 新卒iOSエンジニアの失敗談と成長のフレームワーク
hypebeans
1
650
【洋書和訳:さよならを待つふたりのために】第2章 ガン特典と実存的フリースロー
yaginumatti
0
230
1216
cbtlibrary
0
140
Introduction - Lecture 1 - Advanced Topics in Big Data (4023256FNR)
signer
PRO
1
2.2k
IKIGAI World Fes:program
tsutsumi
1
2.6k
Flinga
matleenalaakso
2
15k
2025年度伊藤正彦ゼミ紹介
imash
0
170
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
100
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
75
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Into the Great Unknown - MozCon
thekraken
40
2.3k
Typedesign – Prime Four
hannesfritz
42
2.9k
The Cult of Friendly URLs
andyhume
79
6.8k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
430
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Ethics towards AI in product and experience design
skipperchong
2
190
Transcript
运维系统开发与Rails 3页面开发实践 ——李福(李建业) f fs sw wo or rd d@
@s si in na a f fs sw wo or rd dl le ee e@ @t tw wi it tt te er r h ht tt tp p: :/ // /f fs sw wo or rd d. .i it te ey ye e. .c co om m
摘要 • 介绍一下运维系统项目 – 定位 – 理念 – 进展 •
rails中的web页面开发实践 – MVC与REST – AJAX和单页面应用
运维系统介绍
运维系统 • 背景与生态环境 – Alibaba运维体系 •资源 •配置 •监控 •……
运维系统 • 背景与生态环境 – 在淘宝 •基础数据资料库(CMDB) •基础信息采集 •软件包依赖 •系统上线部署
运维系统 • 面对的挑战 – 互联网应用规模化以后的瓶颈 •模式:Google or Facebook ? –
复杂的技术环境:语言、平台、网络拓扑 – 重复建设 vs 系统整合 – 运维中的监控问题:监多控少 – 部署自动化——敏捷的最后一公里
运维系统 • 做什么 – 通用运维系统 – 多机并行操作 – 支持用户审计 •
不做什么 – 人员、组织管理 – 工作流 – 日志、告警采集 – 配置管理 – 热部署
运维系统 • 设计理念 – 兼容现有运维体系 – 利用现有成熟的技术 – 基于组合的方式推进系统演化
系统关系
运维系统 • 系统职责(类比OS) – 相同点 •完成任务 •改变自身状态 •反馈结果 – 区别
•基于网络 •多机同时操作 •跨域,环境复杂 •任务单一
运维系统 • 运维基础设施 – ssh 通道 ( ssh-copy-id)+sudo – 命令脚本
( bash、python、ruby...... )
功能模块
运维系统 • 技术要点 – 网络可达性:大型互联网应用跨越多个机房, 出于多方面考虑,互相之间可能有隔离 – 系统并发能力:运维风暴对机群管理提出要求 – 任务复杂性带来了脚本复杂性
运维系统 • 解决办法 – 网络可达性 – 设计专门的agent进行shell指令推送下发, agent与控制中心、与被管机器之间均为主 动交互 –
系统并发能力 – agent使用erlang进行指令发送,异步请 求,并行处理 – 任务复杂性 – 提供原子指令和操作两层抽象,运维任务基 于操作来进行
运维系统 • 系统对比 – Puppet •抽象为资源 •核心是配置管理,不适合进行实时运维操作 •认证复杂
运维系统 • 系统对比 – Sagent •功能较完善 •结构较复杂 来源链接
运维系统 • 我们的收获 – 如何应对摸索中的需求 •快速、可用的原型 •行进中开火 •团队小型化 – 技术?流程?
•Guard + Rspec + Spork = TC翻倍 •jruby + trinidad:更接近真实环境 •去extjs •代码量锐减(2000+ -> 400+) •页面功能点评估单位:天 -> 小时
运维系统 • 模型演化
目前的进展 • 第一阶段 – 建立基本模型 – 基础架构实现功能闭环 – 部分用户试用,分析现实需求 •
第二阶段 – 固化常用运维操作 – 和相关系统进行集成 • 第三阶段 – 应用托管标准化 – 弹性部署
我们还在路上... 尚未完成
web页面开发实践
理解MVC • 通常的理解 – 模型负责业务相关的逻辑 – 视图负责展现层逻辑
理解MVC • [通过一个图,反映model 1架构所需要解决 的问题,分析其优缺点]
MVC:model 1 到 model 2 • [分析web开发中,为了适应新的环境对 model 1进行的改造]
MVP
REST:URL Driven
其它问题 • Query in view:本质是 n+1查询
Ajax
MVC:model 1 到 model 2