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
270
运维系统开发与Rails 3页面开发实践
Rubyconf China 2011
fsword
November 08, 2011
Tweet
Share
More Decks by fsword
See All by fsword
持续集成和云
fsword
0
87
Other Decks in Education
See All in Education
全員参加型で会社を強くしていく活動を考えてみる
ikefukurou777
0
210
Virtual and Augmented Reality - Lecture 8 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
1.2k
Поступление в ТОГУ 2024
pnuslide
0
37k
自由の森学園学校紹介資料
jiyunomori
0
1.6k
Railsチュートリアルの歩き方 (第7版)
yasslab
PRO
1
1M
Часто задаваемые вопросы
pnuslide
0
23k
@ngrx/signals
yannickbaron
0
170
Project Sprint 学生版(入門編)
copilot
PRO
0
180
人生の転機からチャンスを掴む「シュロスバーグの4Sモデル」/4s-models
yuko_yokouchi
2
720
Introduction - Lecture 1 - Advanced Topics in Big Data (4023256FNR)
signer
PRO
1
1.1k
AI教育の未来『おもしろい』を作れる人材の育て方 #東京AI祭
o_ob
1
360
View Manipulation and Reduction - Lecture 9 - Information Visualisation (4019538FNR)
signer
PRO
0
1.4k
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
289
19k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
227
16k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
The Power of CSS Pseudo Elements
geoffreycrofte
60
5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
274
13k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Music & Morning Musume
bryan
41
5.6k
Designing for Performance
lara
601
67k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
RailsConf 2023
tenderlove
4
540
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
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