Aby można było oferować nasze produkty potrzebna jest oczywiście infrastruktura, która spełniać będzie odpowiednie wymagania. Inaczej serwis mógłby działać zbyt wolno, nie być wystarczająco funkcjonalnym, zaś hot-spoty mogłyby wieszać się lub oferować za małą prędkość dostępu do internetu.
Należy zatem przypomnieć jakie będziemy świadczyć usługi. Po pierwsze użytkownicy wchodząc na naszą stronę będą przekierowywani do podstrony związanej z aktualną lokalizacją, gdzie wyświetlone będą najciekawsze miejsca w okolicy. Dwa sposoby łączenia się z serwisem to hot-spot, który automatycznie pokaże systemowi serwisu aktualną pozycję lub własne łącze + przekierowanie za pomocą Google Location API. Wiadomo już, że nasza sieć hot-spotów nie będzie pokrywać całej Polski, zaś ograniczy się jedynie do wybranych punktów. Na reszcie obszarów wspomagać będziemy się Google Location API, które umożliwi dość tanią realizację usługi. Chciałbym podkreślić, że planujemy iż nasze usługi będą dostępne zarówno dla smartfonów, jak i komputerów, niezależnie czy z domu czy poprzez hot-spot.
Z pewnością będziemy chcieli aby nasz serwis miał duże możliwości lokalizacyjne, jak lokalizacja znajomych, dziecka, wyszukiwanie ciekawych miejsc w pobliżu, wyszukiwanie miejsc wartych zwiedzenia (zabytki w danym mieście, puby, bary itd). Takie usługi częściowo istnieją już w internecie, jednak nikt nie oferuje wyszukiwania z automatycznie wybraną już pozycją w której się znajdujemy.
Wracając do tematu postu z moich wcześniejszych rozważań wiadomo, że hot-spot musi mieć WiFi w standardzie 802.11g/n, który to standard (n) będzie w przyszłości bardzo rozpowszechniony i umożliwi świadczenie usług na lepszym poziomie. Dodatkowo router powinien zapewnić odpowiednią stabilność oraz możliwość wymuszania u użytkowników wyświetlania strony startowej naszego serwisu związanej z lokalizacją. Łącze internetowe powinno mieć ok 10 Mbit/s, co powinno umożliwić obsługę 20-30 użytkowników z w miarę rozsądną jakością. W dużym mieście (Warszawa), gdy możliwe będzie podłączenie się do sieci operatora telewizji kablowej (najlepiej wypada tutaj UPC), ze względu na dość niskie ceny można pokusić się o łącze nawet do w tej samej cenie 30 Mbit/s. Zakładamy, że nasz lokalny operator posiada łącza na obszarze województwa mazowieckiego, dlatego tam będziemy mieć przepływność nawet większą od wymaganej. Na innych obszarach zależeć będzie to od ceny.
Jeśli chodzi o domenę to musi ona być prosta, krótka, łatwa do zapamiętania i chwytliwa, co jest oczywiste. Rozważania na jej temat przedstawiłem w punktach poprzednich.
W przypadku CMS, to musi on umożliwiać dość dogłębne modyfikacje oraz dodanie własnego kodu, który umożliwi zaoferowanie planowanych usług (przekierowywanie na podstrony, użycie Google Location API, wyszukiwarka lokalizacyjna). Jednym słowem powinien być jak najbardziej zaawansowany i elastyczny. Większość CMSów udostępnia modyfikacje, jednak nie w przypadku każdego istnieją zaawansowane możliwości modyfikacji. Przykładowo dość dobrze pod tym względem wypada Drupal. Udostępnia on także moduły umożliwiające pozycjonowanie, co jest bardzo ważną kwestią w przypadku każdego portalu. Pozycjonowanie to temat, na którym trzeba się mocno skupić, ponieważ od tego bezpośrednio zależy ilość użytkowników, szczególnie na początku. Cena oczywiście także ma znaczenie (w każdym z przypadków omawianych w tym poście) – im mniejsza tym lepiej. CMS nie powinien być także nastawiony na konkretny rodzaj serwisu internetowego – jak np. WordPress, który jest nastawiony na blogi. No chyba, że jego nastawienie odpowiada dokładnie temu czego tyczyć będzie nasz serwis. Inaczej będą problemy. CMS powinien także optymalnie wykorzystywać zasoby dyskowe, bazodanowe oraz procesorowe serwera. Tutaj najlepiej przed wyborem posłużyć się statystyką, jakimś porównaniem, aby zobaczyć, czy system wybrany przez nas pod względem funkcjonalnym nie będzie tragiczny pod względem wydajnościowym.
Stworzenie portalu będzie wymagać jego projektu graficznego, do którego na początku zatrudnimy grafika komputerowego (1 miesiąc). Nasz portal będzie udostępniał wspomniane usługi lokalizacyjne oraz takie aspekty jak logowanie, rejestracja, profile, forum (phpbb) i inne. W przyszłości nasi programiści stworzą odpowiednie API dla aplikacji komunikujących się z naszym serwisem.
Jeśli chodzi o serwer to musi on udostępniać: bazę danych (odpowiednią dla wybranego CMSa – najczęściej MySQL lub PostgreSQL), możliwość wykonywania skryptów (PHP, ASP – ale to jest oczywiste i dostępne wszędzie) oraz moc obliczeniową, na której wymaganie zależy od wybranego CMSa. Jeśli chodzi o wymagane zasoby na serwerze to trudno jest je jednoznacznie ocenić, ponieważ zależą od ilości użytkowników, CMSu i własnych modyfikacji, które w naszym przypadku będą duże. Na początku po instalacji serwisu, gdy będzie niewiele użytkowników potrzebne zasoby nie będą duże. Wraz ze wzrostem ilości użytkowników będą one rosły.
Dlatego na początku rozwiązanie nie musi być drogie i wyszukane, ponieważ wzrost liczby użytkowników przez pierwszy rok może nie być ogromny, co spowodowałoby niewykorzystanie możliwości serwera. Zaś za rok w tej samej cenie będzie można kupić znacznie lepszy sprzęt. Na początek z pewnością wystarczy serwer z 4 GB pamięci RAM, 1 TB przestrzeni dyskowej i 200 GB miesięcznego transferu (parametry wzięte jako przykład z jednego z dostępnych w ofercie serwerów). Wymagania na moc obliczeniową są niemożliwe do dokładnego wyliczenia, można je oszacować, co będzie tematem jednego z następnych punktów. Podobnie jest w przypadku ilości pamięci RAM, czy wielkości dysków twardych, jednak te rzeczy są dość tanie w obecnym czasie.
Serwer musi także udostępniać możliwość cyklicznego robienia kopii zapasowej. Powinno to być robione przynajmniej raz dziennie. Dodatkowo musi być udostępniona możliwość konfiguracji bezpieczeństwa, takiej jak konfiguracji firewalla, wyłączenie ftp, poleceń finger, czy sieciowego systemu plików NFS.
Ostatnim, dość nowym aspektem będą dedykowane aplikacje na telefony komórkowe, napisane w języku Java. Język ten został wybrany dlatego, że jest rozpowszechniony na praktycznie wszystkich telefonach. Będzie to coś podobnego do aplikacji, które widujemy na przykład u FB. Taka aplikacja będzie komunikować się z API na naszej stronie i oferować podstawowe usługi dla uboższych terminali. Nasi programiści będą mieli zatem za zadanie stworzenie owego API (głównie php) oraz aplikacji.

Brak komentarzy:
Prześlij komentarz