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
都市の形成要因と 「都市の余白」のあり方
sakamon
0
150
2025年の本当に大事なAI動向まとめ
frievea
0
170
渡辺研Slackの使い方 / Slack Local Rule
kaityo256
PRO
10
11k
AIは若者の成長機会を奪うのか?
frievea
0
180
✅ レポート採点基準 / How Your Reports Are Assessed
yasslab
PRO
0
270
コマンドラインを見直そう(1995年からタイムリープ)
sapi_kawahara
0
660
【洋書和訳:さよならを待つふたりのために】第2章 ガン特典と実存的フリースロー
yaginumatti
0
220
the difficulty into words
ukky86
0
360
Measuring your measuring
jonoalderson
1
340
Adobe Express
matleenalaakso
1
8.1k
Microsoft Office 365
matleenalaakso
0
2.1k
1014
cbtlibrary
0
520
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
72
12k
How to train your dragon (web standard)
notwaldorf
97
6.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
WENDY [Excerpt]
tessaabrams
9
36k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
47
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Visualization
eitanlees
150
17k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
100
Navigating Weather and Climate Data
rabernat
0
100
What's in a price? How to price your products and services
michaelherold
247
13k
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