我为即将收购另一家中型公司的中型公司运营技术。我们的技术都是LAMP(Linux / Apache / MySQL / PHP),我们收购的公司都是微软堆栈(IIS / MSSQL / ASP.NET)。工作人员当前都没有.NET,也没有支持Microsoft服务器基础架构。我很难决定如何应对这种情况......
我们是否将所有MS内容移植到LAMP(由于各种原因不感兴趣,包括我的团队个人缺乏经验,当我们试图削减开销时的许可费用等)?
我们是否与不同的团队并行运行这两种技术来支持每种技术,并编写一堆中间件以便彼此交流?
这些选择都不是最佳选择。有没有人遇到过这样的情况,你是怎么进行的?请记住,我们在谈论大型基础设施,包括高流量和相当广泛的后端系统。任何想法都会受到欢迎。
答案 0 :(得分:4)
我以前从未这样做过,所以请耐心等待我的意见。但我建议不要重写现有的应用程序。我的意思是,如果它是一个1页的应用程序,它只是在你点击一个按钮时告诉你“你好”,那么是的,用PHP重写它。但是赚钱的商业应用程序并不那么简单,你将从头开始重写其他公司x年开发的东西。更不用说你必须支持和维护你正在接管的应用程序,即使你用PHP重写它。
如果你现在团队中有聪明的开发人员,并且他们有能力,他们将能够学习ASP .NET。但最好是雇用一些ASP .NET资源来帮助您的团队学习它并承担您正在接管的应用程序的重量(维护和支持)。您的团队可以一起工作,找到两个应用程序之间的集成点。
面对编写集成点的选择,或者从头开始编写整个业务应用程序,我将抓住机会编写集成点。
答案 1 :(得分:2)
作为收购的一部分,贵公司是否接受了收购的IT支持团队?
虽然最终他们可能希望通过整合后台办公人员来实现“效率节约”,但仍然存在强烈的争论,即让两个团队支持他们自己的“系统”以保持关键。
然后你需要分析重叠 - 你最终是每个堆栈上的系统做类似的事情。如果是这样,请查看合并到首选平台并删除另一个平台。另请参阅(无论当前的技能如何),哪些堆栈在未来几年内最需要业务需求。 LAMP现在可能很完美,但可能有争议转移到.net以满足未来的需求。然后可能不会,但需要进行评估。
两组系统是否需要共享数据?如果是这样,在什么水平?创建(Web)服务以封装共享功能并使其可供其他系统使用可能是一种方法(SOA有效)。或者,您可能需要最初共享后端,并让.NET与MySQL数据库或其他人交谈。
答案 2 :(得分:1)
这是一个非常复杂的问题。
如果两个应用程序提供类似的功能,那么我将并排运行,直到您要保留的应用程序具有另一个应用程序的所有功能。然后我将客户转过来并最终扔掉。如果客户愿意接受,请立即切换。
如果他们是完全不同的应用程序,那么我很可能只是保持前进。鉴于这些是大型应用程序,任何重写都将是痛苦的并且很有可能失败。最好习惯在内部使用不同技术堆栈的想法。
有一件事,通过维护这两个应用程序,您可以更好地保持收购尽可能安静,就客户群而言。已经使用应用程序的客户通常只会在他们觉得他们正在使用的应用程序不再受支持时更换马匹。此时,无论其他系统有多好,您都可以保证有些人会离开。
如果收购将导致市场营销发生变化(例如,其他公司的徽标变更等),那么我会再次建议维持两者。客户会非常紧张。
以上所述的一点是,这更像是一个商业问题,而不是技术问题,归结为您首先获得另一家公司的原因以及您将如何将其呈现给现有客户。如果公司是为了技术或他们的客户群而被收购的,那么不管它是不是一个好主意。
顺便说一句,我已经做过几次了。唯一的区别是从PHP到.Net的另一条路线。在一个案例中,该应用程序相对较小,但拥有庞大的用户群。我们最终使用了一些URL重写规则,以便用户群甚至不知道应用程序在其下面发生了变化。它是一组Web服务。
在另一个案例中,该应用程序很大,拥有庞大的用户群,并且拥有非常公开的皮肤。同样,我们大量利用网址重写来保留谷歌展示位置和书签。我们遇到的最大问题是在我们建立替代品时,原始网站上的开发无法停止。这带来了很多挑战,因为每个功能都必须通过两个团队。最后,该项目比预期的时间长了约3倍,但由于我们拥有一些技术娴熟的人才最终取得了成功。