Zakładając, że masz infrastrukturę aplikacji, która zasadniczo wymaga tylko:
- ASP.NET MVC / C # / .NET
- Baza danych lub magazyn danych NoSQL (musi być dostępny z C #)
Oto wyzwanie dla was, bogów serwerów:
- Jaka jest najtańsza konfiguracja, która pozwala wdrożyć do produkcji w sposób, który nie łamie żadnych reguł licencjonowania?
- W jaki sposób to rozwiązanie różni się od „standardowego” scenariusza wdrażania Microsoft?
- Gdzie spada wydajność tego rozwiązania, gdy aplikacja zaczyna skalować?
Nie przejmuję się sprzętem, a jedynie oprogramowaniem serwera. Chciałbym usłyszeć o wszelkich rozwiązaniach, które osobiście wprowadziłeś do produkcji. Zwłaszcza jeśli są to unikalne alternatywy.
W przypadku pomysłów rozważ niektóre możliwe odmiany: a) wszelkie rozwiązania serwerowe Microsoft, w których obniżyły one barierę wejścia do konkurowania z OSS, lub b) wszelkie alternatywy OSS względem produktów Microsoft, które działają na podobnym poziomie.
Przykład a) : SQL Server 2008 Express Edition SP1 to w 100% darmowa wersja SQL Server, którą można skalować do potrzeb wielu mniejszych / wczesnych aplikacji.
Przykład b) : uruchomienie Mono Framework w systemie Linux.
Przykład różniący się od stosu „standardowego”: uruchamianie Mono w systemie Linux będzie wymagało zupełnie innej znajomości systemu operacyjnego serwera. Żadna wiedza oparta na systemie Windows tak naprawdę się nie przenosi.
Przykład podziału pod skalą: SQL Server Express skaluje się tylko do 1 GB pamięci i 4 GB miejsca na dysku. Po tym momencie aplikacja będzie musiała przejść do jednej z płatnych wersji programu SQL Server.
UWAGA: Istnieje odpowiedź wiki społeczności dla współpracy nad większą odpowiedzią. Dodaj do tego więcej szczegółów.
źródło
Odpowiedzi:
Wygląda na to, że odpowiedziałeś na swoje pytanie, a Sam wyjaśnił je. Windows Server Web, używając dołączonych IIS i SQL Server Express. Jedyne, za co płacisz, to Windows Server. Istnieje jednak punkt, w którym nie będzie skalowany, zarówno pod względem rozmiaru dysku / bazy danych, jak i wolumenu transakcji pod względem wydajności.
W celu wyrzucenia alternatywy, która może być skalowana, sugerowałbym użycie MySQL na Windows Server. Brak kosztów licencji poza Windows, a skaluje się na tyle, ile możesz potrzebować, i wydaje się, że C # może uzyskać do niego dostęp .
źródło
Absolutnie najtańszym sposobem, aby to zrobić, jeśli dotyczy to konkretnej sytuacji, jest dołączenie do jednego z programów startowych Microsoft: BizSpark lub WebsiteSpark .
Każdy ma inne wymagania dołączenia, obejmuje pewną niszę i oferuje różne poziomy dostępu do produktów Microsoft. Oba oferują jednak 3-letnią licencję na odpowiednią produkcję programu za 100 USD. I nawet nie masz tego z góry. Jest to opłata za wyjście z programu, którą płacisz po wyjściu z programu.
źródło
Cóż, najtańszą opcją, jeśli chcesz korzystać z systemu operacyjnego Windows, będzie uzyskanie Web Edition systemu Windows Server, najnowszym jest Server 2008 R2 Web Edition. Umożliwi to uruchamianie IIS i tylko ról DNS, co powinno wystarczyć na pokrycie potrzebnych potrzeb.
Od wersji serwerowej 2008 MS pozwala na instalację SQL w edycji internetowej (nie zrobili tego w serwerze 2003), więc jeśli go dostaniesz i SQL Express (zakładając, że spełnia twoje potrzeby), powinieneś być daleko.
Wersja internetowa ogranicza cię do 32 Gb RAM i 4 gniazd procesora. Tylko wersja R2 64Bit.
źródło
Ceny systemu Windows Server: http://www.microsoft.com/windowsserver2008/en/us/pricing.aspx
Ceny programu SQL Server: http://www.microsoft.com/sqlserver/2008/en/us/pricing.aspx
Nie zapomnij również o niektórych narzędziach programistycznych; te wizualne Studio Express edycje można zrobić cholernie dużo i nie kosztuje nic.
Jeśli SQL Express nie skaluje się zgodnie z Twoimi wymaganiami, dostępna jest także wersja internetowa SQL Server, która może być bardziej opłacalna niż wersje Standard lub Enterprise.
Należy pamiętać, że są to standardowe ceny detaliczne podane przez Microsoft; kupowanie przez odsprzedawcę i / lub opcję licencjonowania zbiorowego może przynieść dość znaczne rabaty (w zależności od okoliczności - potencjalnie nawet 10% standardowych kosztów detalicznych).
źródło
Rozpoczęcie społeczności wiki w celu uzyskania dobrej współpracy na ten temat.
System operacyjny:
Windows Web Server 2008 R2 / IIS 7.5 / ASP.NET (469 USD detaliczny)
Ograniczenia:
Linux / Apache / Mono Framework (0 USD w sprzedaży detalicznej)
Ograniczenia:
Platformy baz danych:
SQL Server 2008 Express Edition SP1 (0 USD w sprzedaży detalicznej)
Ograniczenia:
MySQL (0 USD detaliczna)
Ograniczenia:
PostgreSQL (0 USD detaliczny)
Ograniczenia:
SQL Server Web Edition (15 USD za proc miesięcznie (SPLA))
Ograniczenia:
Narzędzia programistyczne
Visual Studio Express Editions (0 USD detaliczna)
Ograniczenia:
źródło