Nie byłem do końca pewny gdzie umieścić ten wątek bo jest raczej ogólny. Chodzi mi trochę o poradę, podzielenie się Waszymi doświadczeniami a może i rekomendacje konkretnych usług.
Do tej pory hostowałem swoje aplikacje i strony na prostym hostingu pozwalającym po prostu na wystawianie aplikacji ASP.Net Core (web API, komunikacja z bazą SQL) jak i stron statycznych oczywiście (strony-wizytówki, sam HTML, CSS i JS bez backendu). W ramach kosztów hostingu dostępne serwery SQL Server i MySQL. Jednakże przymierzam się do większego projektu "po godzinach" gdzie poza UI i API będę musiał wystawić również procesy działające w tle (wysyłanie notyfikacji itp). Technologia to .Net Core, bazę danych preferuję NoSQL ale z braku laku mogę również użyć MS SQL jeśli nie będzie wyjścia lub koszty alternatyw będą za wysokie. No i teraz mam dylematy jak to najlepiej zrobić żeby było w miarę prosto w obsłudze ale i tanio (co chyba się wyklucza). Aplikacja to system do zarządzania nieduża firmą, maksymalnie kilkunastu użytkowników. Obecnie rozważałem takie opcje:
-
Azure
Chyba najbardziej niezawodny wybór z tej listy. Stronę wraz z API mógłbym wystawić jako App Service, procesy w tle odpalone jako Web Job w tymże App Service lub jako funkcje (Azure Functions). Siłą rzeczy baza danych to albo Cosmos DB (preferowany ale droższy) lub Azure SQL (tańszy ale nie preferowany). To co najbardziej przemawia przeciwko tej opcji to koszty oraz stosunkowo ograniczona kontrola (co jednocześnie jest zaletą jako że wymaga najmniej manualnej roboty). -
Docker
Tutaj to tylko luźne dywagacje jako że z Dockerem doświadczenia jeszcze nie mam, a zależy mi na użyciu czegoś co nie wymagało by zbyt dużo czasu na dodatkową naukę (projekt jest bardziej zarobkowy niż hobbystyczny). Wydaje mi się że wyszło by taniej niż Azure, ale fakt że musiałbym się Dockera nauczyć sprawia że jest to raczej najmniej odpowiednia opcja obecnie. -
Własny VPS z Windows Server
Opcja chyba z największa swobodą ale i odpowiedzialnością/koniecznością utrzymania. Wydaje mi się że wyszło by tanio jeśli spojrzeć na niektóre opcje hostingu (przykład 1, przykład 2) ale mam tutaj mieszane uczucia. Gdzie nie czytać o wszelkich usługach VPS to można spotkać się z mieszanymi opiniami rodzącymi duże wątpliwości, szczególnie jeśli chodzi o jakość takich usług. Trochę również niepokoi mnie perspektywa ręcznego zabezpieczania tego wszystkiego, pilnowania aktualizacji, certyfikatów itp. Przemawia za to fakt że mógłbym wszystko postawić w jednymi miejscu a i mógłbym wybrać dowolną technologię (np. baza RavenDB którą zdecydowanie preferuję). Procesy w tle wystawiłbym jako Windows Service.
Jak to u Was wygląda? Gdzie hostujecie swoje aplikacje? Jakie macie z tym doświadczenia i czy możecie coś polecić (lub odradzić)? Szczególnie jeśli chodzi o własny VPS.