Opis zlecenia
Głównym celem projektu jest stworzenie tzw. systemu hostingowego. Do całego systemu ma być możliwość dodawania nowych serwerów, które będą połączone systemem i stanowiły “jedność”. W czasie zakupu usługi hostingu przez klienta, system wykryje, który serwer jest najmniej obciążony kontami i tam stworzy nową instancję. Wszystkie serwery będą skonfigurowane tak samo, a najlepiej jakby podczas dodawania nowego serwera do systemu, automatycznie był konfigurowany bazową konfiguracją serwerową. Każde konto klienta będzie miało przypisane podstawowe parametry na dane konto oraz ma być niezależne od innego, w tzw. bańce, aby wyeliminować ewentualne przeciążenie całego serwera przez 1 klienta. W panelu administracyjnym chciałbym aby była możliwość zmiany konfiguracji bazowej np. 1GHz vCPU, 2GB RAM, 30GB SSD oraz ręcznej zmiany dowolnego konta na dowolne parametry. Usługa hostingu ma być w pełni elastyczna, jeśli na serwerze klienta w danej chwili wzrasta zapotrzebowanie na któryś parametr i osiąga np. 90%, powinno być automatycznie zwiększone oraz naliczona na konto klienta opłata za zużycie godzinowe zasobów nadprogramowych. W momencie kiedy zapotrzebowanie na parametry spada do podstawowych, parametry są automatycznie obniżane do bazowych. Klient musi wpłacić na konto wirtualną walutę i aktywować hosting elastyczny / elastyczne skalowanie parametrów, aby wyżej wymieniona funkcja działała - w panelu administracyjnym ma być możliwość dodania wirtualnej waluty.
Klient ma możliwość wpłacenia wirtualnej waluty w celu możliwości aktywowania skalowania usługi, a płatności za wykorzystanie dodatkowych parametrów będą rozliczane godzinowo z wirtualnej waluty. Klient w każdej chwili będzie miał możliwość zwiększenia bazowych parametrów jako stałe lub po konsultacji z helpdesk - za dodatkową opłatą w skali roku. Dodatkowo chciałbym aby znalazł się moduł migracyjny, aby klient wpisując dane FTP, DB oraz imap mógł w łatwy sposób przenieść swoje usługi od innego hostingodawcy.