プロが教える店舗&オフィスのセキュリティ対策術

『ASP.NET(C#)+azure』か『PHP+MySQL+ApacheかNginx(サーバーは自社で構築)』
でAmebaやFC2のような大規模サイトを開発・運営した場合、一般的にどちらの方がコストが安くなると思いますか?

※PHPでもASP.NETでも同じレベルの技術者が容易に確保できると仮定して。

(1)同じ期間で開発運営を続けていく場合どちらの方が総合的なコストが安くなると思いますか?


(2)また、サーバー運営費用が多少高く(2倍も3倍も高いようなら問題ですが)なっても開発運営に携わる人員を少なくしたい場合はどちらの方が良いと思いますか?

やはりASP.NETには優秀なIDE(VisualStudio)がありますし同じ期間で作る場合はPHPより人員が少なくて済むのではないかと思ってます。(特にFC2などの大規模サイトの場合は)
それとazureならサーバーを管理する人員も減らせますか?


(3)一般的に表示速度(ユーザー体感)はどちらの方が速いのでしょうか?サーバーの性能にもよるとは思いますが・・・。

A 回答 (2件)

ASP.NETは基本的に、業務アプリケーションの開発運用に向いたソリューションであり、FC2のようなBtoCサイトにはあまり向かないような気がします。


最近、一般利用者のフロントエンドは、Ajaxなどのクライアントサイドを駆使したソリューションに流れており、ASP.NET(Webフォーム)はこの方面の整合性が非常に悪いので、はっきり「向かない」と断言できます(同じASP.NETでも、最近出てきたASP.NET MVCを使うなら問題ありません)。
この点、phpは豊富なWeb技術者を集めやすいですし、情報も豊富にあって使いやすいです。

また、phpは真逆の立場で、基幹アプリや業務アプリなど、バックエンドシステム向けとしては非常に生産性・安定性が悪く、このような更新系案件には、フォーム中心のWebアプリケーションとして生産性が高い、JAVAかASP.NETが向いています。
利用者アカウント管理、投稿記事管理、広告バナーの管理など、おびただしい数の管理システムをバグなく開発し、将来にわたって拡張性を維持しながら運用するのであれば、データベースが優秀で、技術者の豊富な環境が有利です。
また、管理システム自体をそもそもWebアプリとして作成しない場合も存在しますが、その場合は恐らく.NETのWindowsフォームが唯一の選択肢でしょう。

自分が考えますに、理想的には、

・利用者画面はWeb標準に準拠し、Ajaxとphpで開発
・バックエンドシステムはJAVAまたはASP.NETで開発
・DBは共通化。ストアドプロシージャ等で標準化し、SQL-ServerかOracleで運用

するのが最もいいカタチになるのではないでしょうか。
    • good
    • 0

(1)開発初期はクラウドを使う方が圧倒的に安いと思います。


自社構築の場合、ハードウェアの調達費、データセンターもしくは自社内のサーバルームの整備費用、通信回線費用等々初期投資に多額の費用がかかります。
インフラにIaaSサービスを利用するという前提ならOSのライセンス費用くらいの差でしょう。

(2)自社内にサーバを設置して運用するという前提ならクラウドを利用する方が安上がりです。
障害発生時の対応のために24時間365日人員を確保しておく費用はバカになりません。
多少費用を払ってもクラウドを利用する方がトータルコストは安くなります。
サービスの規模が大きくなれななるほどコストの差は大きくなるでしょう。

開発エンジニアについては、PHPでもeclipsが使えるので開発環境による人員数の差というのはないように感じます。
それよりもPHPの方が学習コストが低いと思われますので、安い人員を確保しやすいのではないでしょうか。

(3)インフラが同等ならどちらも差がないと思います。
しかしクラウドのデータセンターの方が回線環境は圧倒的に良いでしょうから、速くなるでしょう。
また、クラウドのメリットはスケールアップ、スケールアウトが容易な事です。
利用実態に合わせてリアルタイムにサーバリソースを変化されられるので、無駄なインフラコストを払わずに済みます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!