设计时就考虑扩展性(D- I -D方法)
提前斟酌若何扩大解决计划,在现实须要前年夜概一个月(编程)实现它,或者在客户急需时提前几天实现它,会给开辟团队节俭许多全钱和时光。
我们公司的重点是赞助客户实现他们的扩大性需求,也许你可以想到,经常会有客户如许问:“我们应当何时对可扩大性进行投资?”不必经由年夜脑的回答是应当在须要该解决计划的前一天投资(安排)假如你可以或许在须要扩大解决计划的前一天安排它,那么就会让投资行动“即时”产生,适可而止,从而像Dell/公司那样按需临盆。如许做,会使你的公司效益和股东权益最年夜。
不外我们要面临的问题是,让投资和安排成为即时的是弗成能的,即使可能,假如没有选对机会,也会带来很年夜的风险。退而求其次,安排扩大性计划的最好办法是AKFPartners的设计一实现一安排(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)个体系和数据库中时,就可能产生这种情形。我们可以编写一个变量CustMOD,跟着时光变迁,可以把它设置装备摆设为1(当前)到1000(5年后)。这种修正带来的编程(或实现现)成本不会跟着N而变更,所以我们不如选择这种办法。这种修正,带来的是高编程成本、中等的脑力成本(在全部性命周期前期已经评论辩论过设计了)以及低资产成本,因为假如最初阶段我们只盘算安排1倍或者2倍的模块,那么当前就没有需要安排100倍的体系。
3.安排
D-I-D办法的最后阶段是安排(Deployment)。仍然用上面介绍的模块化示例,我们想用即时办法安排体系,没有任何来由让资产闲置从而削减股东的收益。假如我们是一个较高速增加的公司,那么可以在临盆情况中投入1.5倍的峰值容量。假如是个超高速增加的公司,则可以在临盆情况中投人5倍的峰值容量。我们经常告知客户,对于爆炸性的容量,要应用“云”,以免备用33%的资产去防备忽然的客户运动增加。在安排阶段,须要高资产成本,而其他成本则属中低程度。这类情形的总体成本趋于最高,安排一个相当于需求的容量100倍的体系,会让许多公司倒闭。记住,扩大性是个灵巧的概念,它可所以扩大,也可所以压缩,而我们的解决计划须要两方面都斟酌到。是以,灵巧性至关主要,你可能须要依据客户需求让解决计划中的分歧体系进行扩大或者压缩。
固然D-I-D办法的每个阶段都有分歧的脑力、编程和资产成本,但整体成本倒是根本一致的。关于扩大性的设计和思虑成原形对较低,所以应当经常进行。这些运动最好形成文档,以便当有需求时,法式员就能敏捷地依据文档编写代码。将设计好的解决计划编写(开辟)成代码可以稍后再进行,开辟的成本稍高,然则没需要在临盆情况中真正实行它。我们可以像上面的模块化示例中所述的,修正少量代码,而无需再购置一个相当于现有容量100倍的体系。最后,采取这种办法,就可以只在有需求时再购置装备,可能是从重要网站扶植的装备供给商那边提前6周购置,或者极其紧迫的情形下,让体系治理员去本地的办事器市肆采购。