由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 我老来说说亚马逊的build-deploy系统
相关主题
补充一下amazon的感受Amazon AWS 招 SDEs
又招人了,Software Engineer (转载)SDE,WDE Opportunities at Amazon
Amazon 面试失败, 好伤心,好伤心啊 (转载)亚麻 Sr SDE 岗位面试的问题
SDE needed from Amazon, send me CV and get the referralG面试一问
亚麻EC2 system engineer salary微软有组在招new grad software engineer吗?
Oncall比较 A vs M亚麻有组接收SDE1么
Amazon SDE II如何?亚麻有组接收SDE1么
亚麻AWS 组下面招 experienced SDE。直接内推hiring manager有兴趣的发resume吧。
相关话题的讨论汇总
话题: deploy话题: 亚马逊话题: build话题: rollback话题: rpm
进入JobHunting版参与讨论
1 (共1页)
z*******a
发帖数: 858
1
我老是学文科出身的,所以扯淡从来几天几夜都不累,但是真涉及到CS的具体技术就虚
了:毕竟积累太少太差,如果技术有错,大伙轻拍。
先说说热门的话题之一:亚马逊的Apollo和Brazil系统,也就是他们的build、version
control到deploy一条龙。的确很先进,有亚马逊人去了Google甚至认为Google的类似
系统也不如亚马逊先进(我个人持保留意见,因为不了解Google)。简单来说强在所有组
share同一套build-deploy系统,所以只有一个build team一个apollo team什么的管理
就行了,什么dependency之类的头疼问题非常好解决,而且deployment可以随时deploy
随时rollback,这个真的非常强大。
所以亚马逊其实几乎不需要Test。因为(理论上)可以随时deploy,系统一旦出问题立
刻rollback,然后再重新改code就是。这就造成了亚马逊很多组就把production当test
环境了……听起来很吓人,但是实际操作中会发现,的确没什么大不了的。真正引发大
问题的很多是SDE的误操作,改了数据库然后才有灾难,Code本身很难引发什么真正的
问题。
所以这里想说的是,亚马逊基本上是SDE在test(也只是很简单的test),只需要很少
的SDET。尤其是没有对外的界面、backend的组。
这的确是亚马逊强大的基础之一:首先省了很多雇佣tester的钱,其次是提高了生产效
率,如果想的话code可以很快(一天之内,很多紧急修复)deploy到全世界范围;第三
是即使SDE缺乏经验、经常出错或是没考虑到某些case也不要紧,反正一发现错误
rollback就是。当然,SOA是以上一切的基础,否则都是空谈。
所以亚马逊不在乎员工流失。当然,问题不那么简单:code好写,business logic却非
常复杂,新人就不理解了。举个例子,亚马逊效率很高,实现很快,但是可能应用后很
快发现这business logic有问题,或是跟别的组没有协调好,所以只能再改再重写,而
当时写老code的人都走了,所以新人只能再重新猜究竟是怎样的。这就导致了:亚马逊
的code更新很快,服务很强大也及时,但是其实SDE是很遭罪的,因为毕竟归根结底,
质量还是不行的。
简而言之,亚马逊的开发平台相当先进,使得他可以用缺少经验的程序员维护一个庞大
而高效的系统,从而造成了亚马逊独特的公司文化。
b***m
发帖数: 5987
2
微软其实在部分地这么学了。以我所在的项目,极少的PM,大量的SDE,几乎没有SDET
。只是deploy还是需要通过专门的OP team,不允许SDE做。
h*****a
发帖数: 1718
3
build-deployment的pipeline现在几个主要公司都有自己的solution,open source也
有非常完整的解决方案。A的Brazil + Apollo确实有它的很大先进性,但也有几个重要
的limitation。随便说两个,不见得对:
1)A的方案中,对package dependency的管理是通过建立snapshot来固定的,这样是很
方便解决conflict的问题,但对于有些公司需要永远用最新的package version(比如G
),就不见的实用。所以G是永远全部从source build,和A走了完全不同的path。
2)Apollo的deployment全程有central service来协调控制,这样做到了非常好的对
deployment的监控和reporting。但这事实上造成了central service成为bottleneck。
记得几年前当有很大规模的deployment in progress的时候,其它的deployment有可能
要等很久。不知道这种情况现在是否有改善。
3) 不知道现在Apollo对在EC2上做deployment的支持怎样了,至少前几年支持还不够好
。现在很多中小公司把service建立在EC2上,以Netflix为最。Netflix已经实现了非常
完备的在EC2上从build到deployment,包括Red-Black testing的整个pipeline的解决
方案,而且都已经open source。这实际上成也为了对AWS的重大补充和提高。
所以说想用Apollo来打包卖钱基本上是不现实的,呵呵,因为其实open source已经有
了非常成熟的free的solution。当然, Amazon的solution还是非常先进的。

version
有组
deploy
test

【在 z*******a 的大作中提到】
: 我老是学文科出身的,所以扯淡从来几天几夜都不累,但是真涉及到CS的具体技术就虚
: 了:毕竟积累太少太差,如果技术有错,大伙轻拍。
: 先说说热门的话题之一:亚马逊的Apollo和Brazil系统,也就是他们的build、version
: control到deploy一条龙。的确很先进,有亚马逊人去了Google甚至认为Google的类似
: 系统也不如亚马逊先进(我个人持保留意见,因为不了解Google)。简单来说强在所有组
: share同一套build-deploy系统,所以只有一个build team一个apollo team什么的管理
: 就行了,什么dependency之类的头疼问题非常好解决,而且deployment可以随时deploy
: 随时rollback,这个真的非常强大。
: 所以亚马逊其实几乎不需要Test。因为(理论上)可以随时deploy,系统一旦出问题立
: 刻rollback,然后再重新改code就是。这就造成了亚马逊很多组就把production当test

r********d
发帖数: 7742
4
嗯,赞,学习了。
大伙接着聊,我们好做笔记。

version
有组
deploy
test

【在 z*******a 的大作中提到】
: 我老是学文科出身的,所以扯淡从来几天几夜都不累,但是真涉及到CS的具体技术就虚
: 了:毕竟积累太少太差,如果技术有错,大伙轻拍。
: 先说说热门的话题之一:亚马逊的Apollo和Brazil系统,也就是他们的build、version
: control到deploy一条龙。的确很先进,有亚马逊人去了Google甚至认为Google的类似
: 系统也不如亚马逊先进(我个人持保留意见,因为不了解Google)。简单来说强在所有组
: share同一套build-deploy系统,所以只有一个build team一个apollo team什么的管理
: 就行了,什么dependency之类的头疼问题非常好解决,而且deployment可以随时deploy
: 随时rollback,这个真的非常强大。
: 所以亚马逊其实几乎不需要Test。因为(理论上)可以随时deploy,系统一旦出问题立
: 刻rollback,然后再重新改code就是。这就造成了亚马逊很多组就把production当test

d********g
发帖数: 10550
5
这不是老早就已经是业界标准了吗?

version
有组
deploy
test

【在 z*******a 的大作中提到】
: 我老是学文科出身的,所以扯淡从来几天几夜都不累,但是真涉及到CS的具体技术就虚
: 了:毕竟积累太少太差,如果技术有错,大伙轻拍。
: 先说说热门的话题之一:亚马逊的Apollo和Brazil系统,也就是他们的build、version
: control到deploy一条龙。的确很先进,有亚马逊人去了Google甚至认为Google的类似
: 系统也不如亚马逊先进(我个人持保留意见,因为不了解Google)。简单来说强在所有组
: share同一套build-deploy系统,所以只有一个build team一个apollo team什么的管理
: 就行了,什么dependency之类的头疼问题非常好解决,而且deployment可以随时deploy
: 随时rollback,这个真的非常强大。
: 所以亚马逊其实几乎不需要Test。因为(理论上)可以随时deploy,系统一旦出问题立
: 刻rollback,然后再重新改code就是。这就造成了亚马逊很多组就把production当test

r********d
发帖数: 7742
6
跟这个配图最褡的回复就是
“公孙欠扁”。lol

【在 d********g 的大作中提到】
: 这不是老早就已经是业界标准了吗?
:
: version
: 有组
: deploy
: test

h***i
发帖数: 1970
7
这个图有年头了

【在 d********g 的大作中提到】
: 这不是老早就已经是业界标准了吗?
:
: version
: 有组
: deploy
: test

c******a
发帖数: 789
8
太牛b了

如G
赞!记下了!
这么不scalable?

【在 h*****a 的大作中提到】
: build-deployment的pipeline现在几个主要公司都有自己的solution,open source也
: 有非常完整的解决方案。A的Brazil + Apollo确实有它的很大先进性,但也有几个重要
: 的limitation。随便说两个,不见得对:
: 1)A的方案中,对package dependency的管理是通过建立snapshot来固定的,这样是很
: 方便解决conflict的问题,但对于有些公司需要永远用最新的package version(比如G
: ),就不见的实用。所以G是永远全部从source build,和A走了完全不同的path。
: 2)Apollo的deployment全程有central service来协调控制,这样做到了非常好的对
: deployment的监控和reporting。但这事实上造成了central service成为bottleneck。
: 记得几年前当有很大规模的deployment in progress的时候,其它的deployment有可能
: 要等很久。不知道这种情况现在是否有改善。

h*****a
发帖数: 1718
9
谈不上不scalable,这完全要看具体的use case。一般来说一个service的instance 数
目不会太多。如果没有上到几千这个量级不会造成什么问题。而且我说的情况现在可能
已经有提高了。

【在 c******a 的大作中提到】
: 太牛b了
:
: 如G
: 赞!记下了!
: 这么不scalable?

f*******t
发帖数: 7549
10
可能你离开A时间太长了,这些问题已经被修复。
1.如果你愿意,可以自动merge from live,对pipeline test有信心的话除了特定的几
个package,其它都可以设定为实时更新。
2.现在deployment system的性能没看到过瓶颈问题。但它挂掉时所有组都不能deploy
,有可能导致严重问题,这是centralized system必然缺陷。
3.A已逐步淘汰老式服务器,新service一般都放到EC2上。apollo auto scaling做的还
不错,也已商用。

如G

【在 h*****a 的大作中提到】
: build-deployment的pipeline现在几个主要公司都有自己的solution,open source也
: 有非常完整的解决方案。A的Brazil + Apollo确实有它的很大先进性,但也有几个重要
: 的limitation。随便说两个,不见得对:
: 1)A的方案中,对package dependency的管理是通过建立snapshot来固定的,这样是很
: 方便解决conflict的问题,但对于有些公司需要永远用最新的package version(比如G
: ),就不见的实用。所以G是永远全部从source build,和A走了完全不同的path。
: 2)Apollo的deployment全程有central service来协调控制,这样做到了非常好的对
: deployment的监控和reporting。但这事实上造成了central service成为bottleneck。
: 记得几年前当有很大规模的deployment in progress的时候,其它的deployment有可能
: 要等很久。不知道这种情况现在是否有改善。

相关主题
Oncall比较 A vs MAmazon AWS 招 SDEs
Amazon SDE II如何?SDE,WDE Opportunities at Amazon
亚麻AWS 组下面招 experienced SDE。直接内推hiring manager亚麻 Sr SDE 岗位面试的问题
进入JobHunting版参与讨论
h*****a
发帖数: 1718
11
印象里不是每个team每次change都在live里面build的。如果dependency在live里面还
没有build好那会很大的延长build的时间。而且也可能会引入很多dependency
conflicts.
deploy
Well,性能瓶颈不是经常能观察到的。我相信在它成为问题之后Apollo会给出一定的解
决方案。但这种通过central service监控的design是有fondamental的limitation的,
你无法想象用Apollo给整个EC2 fleet(数十万台机器?)做deployment,呵呵。
我已经强调过,A的solution很先进,但有它适用的use case.
deploy
l*****t
发帖数: 2019
12
真不懂这个CI/CD有什么好说事儿的。大部分end user facing 的公司都有这个。

version
有组
deploy
test

【在 z*******a 的大作中提到】
: 我老是学文科出身的,所以扯淡从来几天几夜都不累,但是真涉及到CS的具体技术就虚
: 了:毕竟积累太少太差,如果技术有错,大伙轻拍。
: 先说说热门的话题之一:亚马逊的Apollo和Brazil系统,也就是他们的build、version
: control到deploy一条龙。的确很先进,有亚马逊人去了Google甚至认为Google的类似
: 系统也不如亚马逊先进(我个人持保留意见,因为不了解Google)。简单来说强在所有组
: share同一套build-deploy系统,所以只有一个build team一个apollo team什么的管理
: 就行了,什么dependency之类的头疼问题非常好解决,而且deployment可以随时deploy
: 随时rollback,这个真的非常强大。
: 所以亚马逊其实几乎不需要Test。因为(理论上)可以随时deploy,系统一旦出问题立
: 刻rollback,然后再重新改code就是。这就造成了亚马逊很多组就把production当test

z*******a
发帖数: 858
13
说的不是continuous,那个当然简单。

【在 l*****t 的大作中提到】
: 真不懂这个CI/CD有什么好说事儿的。大部分end user facing 的公司都有这个。
:
: version
: 有组
: deploy
: test

l******g
发帖数: 366
14
ci/cd的idea都很简单,但人多了以后还能保持高效是非常非常难的。

【在 l*****t 的大作中提到】
: 真不懂这个CI/CD有什么好说事儿的。大部分end user facing 的公司都有这个。
:
: version
: 有组
: deploy
: test

P**l
发帖数: 3722
15
lz哪个组啊?deploy之前不test?不是tier-1 service吧。。
T*U
发帖数: 22634
16
service 是 read only 吧

【在 P**l 的大作中提到】
: lz哪个组啊?deploy之前不test?不是tier-1 service吧。。
p**********e
发帖数: 316
17
A能做到100% SOA, 这样模块之间, 不同部门之间的coupling就减少很多,这个系统相
对来说更容易实现.

如G

【在 h*****a 的大作中提到】
: build-deployment的pipeline现在几个主要公司都有自己的solution,open source也
: 有非常完整的解决方案。A的Brazil + Apollo确实有它的很大先进性,但也有几个重要
: 的limitation。随便说两个,不见得对:
: 1)A的方案中,对package dependency的管理是通过建立snapshot来固定的,这样是很
: 方便解决conflict的问题,但对于有些公司需要永远用最新的package version(比如G
: ),就不见的实用。所以G是永远全部从source build,和A走了完全不同的path。
: 2)Apollo的deployment全程有central service来协调控制,这样做到了非常好的对
: deployment的监控和reporting。但这事实上造成了central service成为bottleneck。
: 记得几年前当有很大规模的deployment in progress的时候,其它的deployment有可能
: 要等很久。不知道这种情况现在是否有改善。

r****s
发帖数: 1025
18
我只想草Apollo和Brazil。老子在的时候,build一次要半小时以上,愚蠢到死。
我怀疑这帮孙子每次都临时scp dependency package,尼玛local build只要10秒钟,
submit一个build到完成居然要40分钟。这JB玩意居然商用了。
在version set 里resolve conflicts 还是尼玛人工一个一个package地挑出来。
build 这个过程里99%的工作由javac,也就是Sun搞定了,你也就做一个1%的文件管理的
工作量,卧槽还搞得这么复杂。
我老人家离开亚麻的一小部分原因,也是这个build system实在是对人生和生命的极大
浪费。
r****s
发帖数: 1025
19
另外这个rollback怎么成了高技术了,你们到底用过RHEL的RPM没有?难道没有一个明
白人?
rollback的简单流程:
1. 从proxy/lb那里把tomcat摘下来。
2. rpm erase package,
3. rpm -ih 新package
4. 把tomcat 加到proxy/lb 上。
亚麻的真正高手,在AWS。当然能handle那么多的流量也是不错滴,不过这流量比淘宝
和腾讯差远了,所以虽然也是一流高手,但是绝顶高手在淘宝和腾讯。
小的们有空可以看看淘宝open source的ocean base,还有messaging service。据说每
天handle几十个T的数据(这点我倒是不怀疑)。
m******h
发帖数: 1059
20
同意你说的,楼主太扯。而且即使a如此之烂 还是写测试的,难道楼主因为先进的工具
连测试都不写?有了sev2就roll back?你觉得那套系统是光速deployment吗?你觉得
所有错都是立即能发现吗?不过话说回来,楼主很适合a的文化,像我们这种做事情有
板有眼踏踏实实的不适应在a乱艹或者被乱艹的 必须赶快卷铺盖滚蛋。

【在 r****s 的大作中提到】
: 我只想草Apollo和Brazil。老子在的时候,build一次要半小时以上,愚蠢到死。
: 我怀疑这帮孙子每次都临时scp dependency package,尼玛local build只要10秒钟,
: submit一个build到完成居然要40分钟。这JB玩意居然商用了。
: 在version set 里resolve conflicts 还是尼玛人工一个一个package地挑出来。
: build 这个过程里99%的工作由javac,也就是Sun搞定了,你也就做一个1%的文件管理的
: 工作量,卧槽还搞得这么复杂。
: 我老人家离开亚麻的一小部分原因,也是这个build system实在是对人生和生命的极大
: 浪费。

相关主题
G面试一问亚麻有组接收SDE1么
微软有组在招new grad software engineer吗?有兴趣的发resume吧。
亚麻有组接收SDE1么steps involved to deploy a web services ?
进入JobHunting版参与讨论
c****7
发帖数: 4192
21


version
有组
deploy
test

【在 z*******a 的大作中提到】
: 我老是学文科出身的,所以扯淡从来几天几夜都不累,但是真涉及到CS的具体技术就虚
: 了:毕竟积累太少太差,如果技术有错,大伙轻拍。
: 先说说热门的话题之一:亚马逊的Apollo和Brazil系统,也就是他们的build、version
: control到deploy一条龙。的确很先进,有亚马逊人去了Google甚至认为Google的类似
: 系统也不如亚马逊先进(我个人持保留意见,因为不了解Google)。简单来说强在所有组
: share同一套build-deploy系统,所以只有一个build team一个apollo team什么的管理
: 就行了,什么dependency之类的头疼问题非常好解决,而且deployment可以随时deploy
: 随时rollback,这个真的非常强大。
: 所以亚马逊其实几乎不需要Test。因为(理论上)可以随时deploy,系统一旦出问题立
: 刻rollback,然后再重新改code就是。这就造成了亚马逊很多组就把production当test

r****s
发帖数: 1025
22
我只是觉得一些junior,刚上路,没见过啥世面,一个小trick就大惊小怪的。
Amazon的Dynamo,SRS, EC2之类,这帮人还没摸到边。
Dynamo和Cassandra的关系大家清楚吗?Cassandra算是比较牛逼了,和MongoDB并驾齐驱
。Amazon里面很多东西并不open source。

【在 m******h 的大作中提到】
: 同意你说的,楼主太扯。而且即使a如此之烂 还是写测试的,难道楼主因为先进的工具
: 连测试都不写?有了sev2就roll back?你觉得那套系统是光速deployment吗?你觉得
: 所有错都是立即能发现吗?不过话说回来,楼主很适合a的文化,像我们这种做事情有
: 板有眼踏踏实实的不适应在a乱艹或者被乱艹的 必须赶快卷铺盖滚蛋。

z****e
发帖数: 54598
23
我看到楼主说热部署就想到了tomcat了

【在 r****s 的大作中提到】
: 另外这个rollback怎么成了高技术了,你们到底用过RHEL的RPM没有?难道没有一个明
: 白人?
: rollback的简单流程:
: 1. 从proxy/lb那里把tomcat摘下来。
: 2. rpm erase package,
: 3. rpm -ih 新package
: 4. 把tomcat 加到proxy/lb 上。
: 亚麻的真正高手,在AWS。当然能handle那么多的流量也是不错滴,不过这流量比淘宝
: 和腾讯差远了,所以虽然也是一流高手,但是绝顶高手在淘宝和腾讯。
: 小的们有空可以看看淘宝open source的ocean base,还有messaging service。据说每

h*d
发帖数: 19309
24
code rollback了,数据实时更新没那么容易rollback吧,何况UI/MT和DB都需要更新,
特别是schema change时候怎么deploy, rollback?

version
有组
deploy
test

【在 z*******a 的大作中提到】
: 我老是学文科出身的,所以扯淡从来几天几夜都不累,但是真涉及到CS的具体技术就虚
: 了:毕竟积累太少太差,如果技术有错,大伙轻拍。
: 先说说热门的话题之一:亚马逊的Apollo和Brazil系统,也就是他们的build、version
: control到deploy一条龙。的确很先进,有亚马逊人去了Google甚至认为Google的类似
: 系统也不如亚马逊先进(我个人持保留意见,因为不了解Google)。简单来说强在所有组
: share同一套build-deploy系统,所以只有一个build team一个apollo team什么的管理
: 就行了,什么dependency之类的头疼问题非常好解决,而且deployment可以随时deploy
: 随时rollback,这个真的非常强大。
: 所以亚马逊其实几乎不需要Test。因为(理论上)可以随时deploy,系统一旦出问题立
: 刻rollback,然后再重新改code就是。这就造成了亚马逊很多组就把production当test

c****e
发帖数: 1453
25
所以,现实里面rolleback比deploy还要慎重,hotfix的风险远远小于rollback.schema
change之类的问题非常麻烦,很多时候rollback只能更糟。

【在 h*d 的大作中提到】
: code rollback了,数据实时更新没那么容易rollback吧,何况UI/MT和DB都需要更新,
: 特别是schema change时候怎么deploy, rollback?
:
: version
: 有组
: deploy
: test

r****s
发帖数: 1025
26
这是两回事,tomcat有hot deployment的选项,如果你的dependency library不是
shared。
这里说的是你得把apache或者load balancer后边拖着的tomcat一个一个轮流取下来,
然后deploy RPM,然后再接回去。这叫live-live,deploy的时候只影响一小部分的用
户。

【在 z****e 的大作中提到】
: 我看到楼主说热部署就想到了tomcat了
z****e
发帖数: 54598
27
rollback的确不是什么高深的东西
今天出门的路上顺便想了想如何用pure code实现rollback
先把所有要修改的部分上锁
然后备忘录模式做备份
然后执行,如果失败,则丢弃执行后的结果,取备份
如果成功,取执行成功后的结果,丢弃备份
释放资源的锁
这些只要内存足够大,都好办
不过多线程带来的死锁需要去检测

【在 r****s 的大作中提到】
: 另外这个rollback怎么成了高技术了,你们到底用过RHEL的RPM没有?难道没有一个明
: 白人?
: rollback的简单流程:
: 1. 从proxy/lb那里把tomcat摘下来。
: 2. rpm erase package,
: 3. rpm -ih 新package
: 4. 把tomcat 加到proxy/lb 上。
: 亚麻的真正高手,在AWS。当然能handle那么多的流量也是不错滴,不过这流量比淘宝
: 和腾讯差远了,所以虽然也是一流高手,但是绝顶高手在淘宝和腾讯。
: 小的们有空可以看看淘宝open source的ocean base,还有messaging service。据说每

z****e
发帖数: 54598
28
晓得了,那就是把tomcat本身当成一个app来看
在外层做了一个包装,动态管理这些东东
不过这个东西说起来容易,做起来还是小烦的
因为要涉及到打包什么的,要写代码来做,也算是小冷门一个

【在 r****s 的大作中提到】
: 这是两回事,tomcat有hot deployment的选项,如果你的dependency library不是
: shared。
: 这里说的是你得把apache或者load balancer后边拖着的tomcat一个一个轮流取下来,
: 然后deploy RPM,然后再接回去。这叫live-live,deploy的时候只影响一小部分的用
: 户。

r****s
发帖数: 1025
29
没看懂,说明你错了。
所有的code都先build to RPM package, 这是RHEL的RPM的规矩。如果你用RHEL,不用
RPM,那就属于自找麻烦。
你的一个build,就是一个RPM,不涉及什么delta.这和SVN/Maven/Git之类的code
management tool没关系。(不过这RPM倒是有点像Git)。
你在系统里先把以前的那个package erase掉,再deploy新的RPM package。就那么简单。

【在 z****e 的大作中提到】
: rollback的确不是什么高深的东西
: 今天出门的路上顺便想了想如何用pure code实现rollback
: 先把所有要修改的部分上锁
: 然后备忘录模式做备份
: 然后执行,如果失败,则丢弃执行后的结果,取备份
: 如果成功,取执行成功后的结果,丢弃备份
: 释放资源的锁
: 这些只要内存足够大,都好办
: 不过多线程带来的死锁需要去检测

z****e
发帖数: 54598
30
我没有在说rpm和amazon的东西
我只是在想如何用代码实现rollback
模拟的其实是类似db的transaction
跟linux无关

单。

【在 r****s 的大作中提到】
: 没看懂,说明你错了。
: 所有的code都先build to RPM package, 这是RHEL的RPM的规矩。如果你用RHEL,不用
: RPM,那就属于自找麻烦。
: 你的一个build,就是一个RPM,不涉及什么delta.这和SVN/Maven/Git之类的code
: management tool没关系。(不过这RPM倒是有点像Git)。
: 你在系统里先把以前的那个package erase掉,再deploy新的RPM package。就那么简单。

相关主题
[Immediate Opening] Central New Jersey Java Developer又招人了,Software Engineer (转载)
【工作机会】EA Redwood Shores, CA hire SDETAmazon 面试失败, 好伤心,好伤心啊 (转载)
补充一下amazon的感受SDE needed from Amazon, send me CV and get the referral
进入JobHunting版参与讨论
g**e
发帖数: 6127
31
hot deployment可以看看OSGI

来,
的用

【在 z****e 的大作中提到】
: 晓得了,那就是把tomcat本身当成一个app来看
: 在外层做了一个包装,动态管理这些东东
: 不过这个东西说起来容易,做起来还是小烦的
: 因为要涉及到打包什么的,要写代码来做,也算是小冷门一个

a*o
发帖数: 19981
32
卧槽啊,原来纯软件公司都是这么随意瞎闹的,真爽啊,哥得跳过去捣捣乱。
s*****m
发帖数: 8094
33
灰常的强大,强大到啰里八嗦。呵呵

version
有组
deploy
test

【在 z*******a 的大作中提到】
: 我老是学文科出身的,所以扯淡从来几天几夜都不累,但是真涉及到CS的具体技术就虚
: 了:毕竟积累太少太差,如果技术有错,大伙轻拍。
: 先说说热门的话题之一:亚马逊的Apollo和Brazil系统,也就是他们的build、version
: control到deploy一条龙。的确很先进,有亚马逊人去了Google甚至认为Google的类似
: 系统也不如亚马逊先进(我个人持保留意见,因为不了解Google)。简单来说强在所有组
: share同一套build-deploy系统,所以只有一个build team一个apollo team什么的管理
: 就行了,什么dependency之类的头疼问题非常好解决,而且deployment可以随时deploy
: 随时rollback,这个真的非常强大。
: 所以亚马逊其实几乎不需要Test。因为(理论上)可以随时deploy,系统一旦出问题立
: 刻rollback,然后再重新改code就是。这就造成了亚马逊很多组就把production当test

g*****g
发帖数: 34805
34
这么做都太容易出错了,最可靠的是NFLX推荐的那一套,直接把所有东西烧进AMI,
部署的时候新的cluster启动了,停掉旧的cluster的,一发现错误一个点击就换回来了。
这么还还有一个极大的好处,auto scaling group,可以动态地根据流量来定cluster
大小。
任何需要手工操作的部署和回退都是危险的。

【在 r****s 的大作中提到】
: 这是两回事,tomcat有hot deployment的选项,如果你的dependency library不是
: shared。
: 这里说的是你得把apache或者load balancer后边拖着的tomcat一个一个轮流取下来,
: 然后deploy RPM,然后再接回去。这叫live-live,deploy的时候只影响一小部分的用
: 户。

c****f
发帖数: 1102
35
其实 还有个简单的问题
你可以选择rollback 或者为什么不打个补丁 或者修正code以后往上增加一个版本号。
。或者把rollback的版本直接做一个版本号 作为一个新版本发布 这样就不用考虑
rollback以后的平台的同步问题 只要考虑push新版本的同步问题
g****r
发帖数: 1589
36
非常感谢lz的分享。问个问题啊,aws也是这么搞的吗?如果是的话,aws是怎么pass的
compliance的呢?

version
有组
deploy
test

【在 z*******a 的大作中提到】
: 我老是学文科出身的,所以扯淡从来几天几夜都不累,但是真涉及到CS的具体技术就虚
: 了:毕竟积累太少太差,如果技术有错,大伙轻拍。
: 先说说热门的话题之一:亚马逊的Apollo和Brazil系统,也就是他们的build、version
: control到deploy一条龙。的确很先进,有亚马逊人去了Google甚至认为Google的类似
: 系统也不如亚马逊先进(我个人持保留意见,因为不了解Google)。简单来说强在所有组
: share同一套build-deploy系统,所以只有一个build team一个apollo team什么的管理
: 就行了,什么dependency之类的头疼问题非常好解决,而且deployment可以随时deploy
: 随时rollback,这个真的非常强大。
: 所以亚马逊其实几乎不需要Test。因为(理论上)可以随时deploy,系统一旦出问题立
: 刻rollback,然后再重新改code就是。这就造成了亚马逊很多组就把production当test

1 (共1页)
进入JobHunting版参与讨论
相关主题
有兴趣的发resume吧。亚麻EC2 system engineer salary
steps involved to deploy a web services ?Oncall比较 A vs M
[Immediate Opening] Central New Jersey Java DeveloperAmazon SDE II如何?
【工作机会】EA Redwood Shores, CA hire SDET亚麻AWS 组下面招 experienced SDE。直接内推hiring manager
补充一下amazon的感受Amazon AWS 招 SDEs
又招人了,Software Engineer (转载)SDE,WDE Opportunities at Amazon
Amazon 面试失败, 好伤心,好伤心啊 (转载)亚麻 Sr SDE 岗位面试的问题
SDE needed from Amazon, send me CV and get the referralG面试一问
相关话题的讨论汇总
话题: deploy话题: 亚马逊话题: build话题: rollback话题: rpm