王尘宇王尘宇

研究百度干SEO做推广变成一个被互联网搞的人

设计时就思量扩展性(D

提前思量若何扩展解决方案,在现实需要前也许一个月(编程)实现它,或者在客户急需时提前几天实现它,会给开发团队节约许多全钱和时间。

我们公司的重点是辅助客户实现他们的扩展性需求,也许你可以想到,经常会有客户这样问:“我们应该何时对可扩展性举行投资?”不必经由大脑的回答是应该需要该解决方案的前一天投资(部署)若是你能够在需要扩展解决方案的前一天部署它,那么就会让投资行为“即时”发生,适可而止,从而像 Dell/公司那样按需生产。这样做,会使你的公司效益和股东权益最大。

不外我们要面临的问题是,让投资和部署成为即时的是不可能的,纵然可能,若是没有选对时机,也会带来很大的风险。退而求其次,部署扩展性方案的最好方式是 AKF Partners的设计一实现一部署(Design-implement-deploy)方式,即D- I -D方式。这三个阶段与我们熟悉事物的三个阶段一致,即针对问题思索和设计解决方案、构建或编写该解决方案、现实地安装或部署它。这种方式不提倡也不需要瀑布模子。
 
我们以为迅速方式正是遵照的这个历程,体现了人的主观能动性。人们不会为还没有注意到的问题开发解决方案,而一个方案,若是还没有开发出来,也不可能被制造或公布出来。无论开发的方式是什么(迅速模子、瀑布模子、夹杂模子等),开发的任何东西都需要基于一套成系统的理论和尺度,它们界说并指导着我们该做什么



1.设计

首先要说的是,讨论和设计什么东西,比真正用代码实现这一设计的投人少得多。思量到设计的成本较低,那么在现实需要之前,可以讨论并草拟出能够使平台具有高扩展性的设计。然则,显然我们并不想在生产环境中投人比现实需要多10倍、20倍或者100倍的容量,关于若何将容量扩展到这种水平的讨论相对来说成本小得多。那么,在D- I -D扩二展模子的设计(Design)阶段,重点就在于若何将平台的容量扩展到2倍以上,甚至到无穷大。我们的脑力成本是相当高的,由于需要雇佣“大思想家”来思量“大问题”。然则编程成本和资产成本却是很低的,由于我们并没有编写代码,也没有部署系统。由小组的领导者和程序员介入的讨论扩展性问题的大会,能让人发现在D- I -D方式的设计阶段有哪些地方是必须扩展的。
 
2.实现

随着时间的流逝,我们所预见的对扩展性的需求就会邻近,这日时就需要在软件中实现(Implement)我们的设计了。我们要根据现实需要,把扩展的局限缩小,例如扩展到当前巨细的3-20倍。这里使用“巨细”这个词,指的就是被以为是系统扩展的最大瓶颈,因此极需要举行可扩展性修改的元素。也许存在这样的情形,即把系统扩展到当前巨细的100倍(或更高)所需的成本和扩展到20倍的成本一样,那么我们还不如一次完成这些修改,而不是分成多次来做。在X对用户需求举行模块化,把它们漫衍(或共享)到多(N)个系统和数据库中时,就可能发生这种情形。我们可以编写一个变量Cust MOD,随着时间变迁,可以把它设置为1(当前)到1000(5年后)。这种修改带来的编程(或实现现)成本不会随着N而转变,以是我们不如选择这种方式。这种修改,带来的是高编程成本、中等的脑力成本(在整个生命周期前期已经讨论过设计了)以及低资产成本,由于若是最初阶段我们只计划部署1倍或者2倍的模块,那么当前就没有必要部署100倍的系统。

(责任编辑:网络)

相关文章

评论列表

发表评论:
验证码

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。