Php 是否将IIS/ASP.NET站点移植到LAMP?

Php 是否将IIS/ASP.NET站点移植到LAMP?,php,asp.net,mysql,sql-server,apache,Php,Asp.net,Mysql,Sql Server,Apache,我为一家中型公司经营技术,该公司即将收购另一家中型公司。我们的技术是all LAMP(Linux/Apache/MySQL/PHP),我们收购的公司是all Microsoft stack(IIS/MSSQL/ASP.NET)。目前员工中没有一个开发人员使用.NET,也没有人支持Microsoft server infrastructure。我很难决定如何处理这种情况 我们是否将所有MS的东西都移植到LAMP(出于各种原因,包括我的团队在这方面的个人经验不足、我们试图削减开销时的许可成本等,我们

我为一家中型公司经营技术,该公司即将收购另一家中型公司。我们的技术是all LAMP(Linux/Apache/MySQL/PHP),我们收购的公司是all Microsoft stack(IIS/MSSQL/ASP.NET)。目前员工中没有一个开发人员使用.NET,也没有人支持Microsoft server infrastructure。我很难决定如何处理这种情况

我们是否将所有MS的东西都移植到LAMP(出于各种原因,包括我的团队在这方面的个人经验不足、我们试图削减开销时的许可成本等,我们不想走另一条路)

我们是否与单独的团队并行运行这两种技术以支持每种技术,并编写一组中间件以便它们可以相互通信


这两种选择都不是最优的。有没有人遇到过这样的情况?你是如何处理的?请记住,在这两种情况下,我们谈论的都是具有高流量和相当广泛的后端系统的大型基础设施。欢迎提出任何想法。

作为收购的一部分,贵公司是否承担了此次收购的IT支持团队

虽然最终他们可能会希望通过整合后台人员来实现“效率节约”,但有一个强有力的理由是,为了保持照明,两个团队都支持他们自己的系统


然后,您需要分析重叠-是否每个堆栈上的系统都在做类似的事情。如果是这样,请将其整合到首选平台上,并移除另一个平台。还要看看(不管目前的技能如何),在未来几年中,哪个堆栈最需要业务需求。LAMP现在可能很完美,但为了满足未来的需要,可能会有人提出迁移到.net的理由。也许不是,但需要评估


两套系统是否有共享数据的业务需求?如果是,在什么级别?创建(web)服务以封装共享功能并使其可供其他系统使用可能是一种方法(SOA有效)。或者,您可能需要最初共享一个后端,并让.NET与MySQL数据库或其他类似的数据库进行通信。

作为收购的一部分,您的公司是否正在接受收购的IT支持团队

虽然最终他们可能会希望通过整合后台人员来实现“效率节约”,但有一个强有力的理由是,为了保持照明,两个团队都支持他们自己的系统


然后,您需要分析重叠-是否每个堆栈上的系统都在做类似的事情。如果是这样,请将其整合到首选平台上,并移除另一个平台。还要看看(不管目前的技能如何),在未来几年中,哪个堆栈最需要业务需求。LAMP现在可能很完美,但为了满足未来的需要,可能会有人提出迁移到.net的理由。也许不是,但需要评估


两套系统是否有共享数据的业务需求?如果是,在什么级别?创建(web)服务以封装共享功能并使其可供其他系统使用可能是一种方法(SOA有效)。或者,您可能需要最初共享一个后端,并让.NET与MySQL数据库或类似的数据库进行通信。

这是一个非常复杂的问题

如果这两个应用程序提供类似的功能,那么我将同时运行这两个应用程序,直到您想要保留的应用程序拥有另一个应用程序的所有功能。然后我会把顾客换过来,最后把它扔掉。如果客户乐于接受,请立即更换

如果它们是完全不同的应用程序,那么我很可能会继续维护这两个应用程序。考虑到这些都是大型应用程序,任何重写都将是痛苦的,并且失败的概率很高。最好只是习惯于在家里有不同的技术堆栈

有一件事,通过维护这两个应用程序,就客户群而言,你将处于一个更好的位置,尽可能保持收购的安静。已经使用某个应用程序的客户端通常只会在他们觉得自己正在使用的应用程序不再受支持时才进行更改。在这一点上,你可以保证,不管另一个系统有多好,一些人都会离开

如果此次收购将导致市场营销方面的变化(例如,另一家公司的徽标发生变化等),那么我再次建议将两者都保留下来。客户们会非常紧张的

以上所述的要点是,这与其说是一个技术问题,不如说是一个商业问题,归根结底是你当初收购另一家公司的原因,以及你将如何向现有客户展示它。如果这家公司是因为这项技术或他们的客户群而被收购的,那么不去管它是个好主意

顺便说一句,我已经做过几次了。唯一的区别是从PHP到.Net的另一条路径

在一个案例中,该应用相对较小,但拥有庞大的用户群。我们最终使用了一些URL重写规则,这样用户群根本不知道应用程序在这些规则下发生了变化。它是一个web服务的集合


在另一个例子中,这个应用程序很大,有很大的用户群,并且有一个非常公开的皮肤。同样,我们大量利用url重写来保留谷歌的位置和书签。我们遇到的最大问题是,在我们构建替换站点时,无法停止对原始站点的开发。这带来了很多挑战,因为每个特性都必须经过两个团队。最后,这个项目花费的时间是预期的3倍,但由于我们有一些高技能人员参与,它最终成功了。

这是一个非常复杂的问题

如果这两个应用程序提供类似的功能,那么我将同时运行这两个应用程序,直到您想要保留的一个应用程序具有相同的功能为止