Marek Mikuła

Marek Mikuła Student,
Politechnika
Wrocławska

Witam, mam pewien problem. Przyjąłem rok temu zlecenie na aplikację bazodanową dla małej firmy posiadającej trzy oddziały, służącą do rejestracji klientów. Aplikacja w założeniu miała być standalone, nierozproszona, w każdym oddziale samodzielna baza danych. Wykonałem to w Javie w połączeniu z HSQLDB. Od roku system sprawdza się bez zarzutu, wszystko działa zgodnie z wymaganiami. Właściciele jednak przedstawili teraz nowe wymagania, do zrealizowania których najlepiej nadaje się aplikacja webowa. Wykonałem ją we frameworku Vaadin. Staję teraz przed wyborem odpowiedniego serwera, i tu nachodzą mnie pewne wątpliwości. Nie wiem, czy samodzielna opieka nad oprogramowaniem, mając przy tym słabe doświadczenie w administrowaniu serwera, to nie jest zbyt amatorskie podejście. Zazwyczaj aplikacje biznesowe wykonują poważne firmy, które mają odpowiedni zespół oraz oferują swoje serwery. Tymczasem to co ja moge zaoferować, to co prawda dobrze zaprojektowana i wykonana aplikacja webowa, ale hostowana na hostingu/VPS, najlepiej takim, na który wrzucam plik WAR, uruchamiam jedna komende i wszystko powinno działać. Myślałem nawet o Google App Engine + CloudSQL, lub Amazon Web Services - te usługi umożliwiają łatwy deployment.

Nęka mnie zatem pytanie, czy powinienem się podjąć tego zlecenia? Czy podziękować i zasugerować skierowanie się do jakiejś informatycznej firmy? Z drugiej strony, aplikacja nie jest skomplikowana, zaledwie kilka encji, proste operacje CRUD, opieka nad nią nie sprawiłaby mi problemu. System musi spełniać jedynie wymogi co do bezpieczeństwa danych (są to dane osobowe).

Druga sprawa, jeżeli jednak zdecydowałbym się pozostać przy projekcie, ile mógłbym za niego policzyć, biorąc pod uwagę że jestem samodzielnym developerem-studentem? Mam słabe rozeznanie w cenach przy tego typu aplikacjach. Wiadomo, że ciężko tak wycenić, ale prosiłbym o jakieś widełki.

I ostatnia rzecz, który hosting byłby warty uwagi przy moich wymaganiach? Jeszcze raz zwrócę uwagę na to, że dane muszą być bezpieczne, czyli na pewno między innymi komunikacja przez SSL. Proszę o propozycję nawet w wiadomości prywatnej jeżeli ktoś nie chce robić reklamy.

Pozdrawiam.
Mateusz Kurleto

Mateusz Kurleto Szukamy wybitnych
talentów do
świetnego zespołu IT
w Gdańsku

Wybór hostingu to pytanie o akceptowalne ryzyka - a więc w dużej mierze o Twoją dostępność. Jeśli nie chcesz przejmować się tym co dzieje się poniżej Twojej aplikacji (serwery baz danych, aplikacji, systemy operacyjne, sprzęt, redundancja, load ballancing itd) rozważ ofertę PaaS. Na przykłąd Heroku lub OpenShift.
W kwestii szacowania kosztów wytwarzania oprogramowania opublikowałem ostatnio ciekawy artykuł na ten temat w https://www.zarzadzanieprojektami.org/ może Ci pomoże.
Średnia stawka za roboczogodzinę w branży przy realizacji projektów dedykowanych to 100-250zł netto (+23% VAT) zależnie od wielkości projektu, branży, wielkości klienta i wykonawcy, lokalizacji itp.
Freelancerzy (um o dzieło) stosują zwykle stawki z przedziału 20-70zł netto za rbh.

konto usunięte

Nie liczyłbym tego w kwestiach roboczogodzin, nie mówiąc już o freelancerach. Nie wiem co ma do tego zarzadzanieprojektami.org.
Marek powinien mieć jakiekolwiek wyobrażenie o swojej pracy, a jak to policzyć, to przede wszystkim zapytałbym o wymagania klienta. Trzeba by sporządzić dokument SLA, w którym okaże się jak dużo roboty wymaga projekt. Potem Marku liczysz sobie ile Twojego życia ten projekt pochłonie, nawiązujesz do swoich ogólnych wymagań co do tego, ile $$$ spodziewasz się zarabiać, zestawiasz to przy tym, jaki jest rynek (tylko błagam... to nie jest format roboty dla freelancera za 20, 30, 40 zł więc nie mieszajmy tu takich) i będziesz miał orientacyjne wyliczenia.

A teraz na temat utrzymania.
Ciężko mi tu odfiltrować dosłowne pytanie. Rozumiem, że nie jesteś pewien, czy jesteś w stanie samodzielnie utrzymać ten system. Okazjonalnie mam podobne wątpliwości, przede wszystkim przy większych projektach. Wybieram wtedy sprawdzone rozwiązania firm specjalistycznych.
Uważam, że samodzielna osoba nie jest w stanie pokryć wymogów usługi w takim stopniu, jak wyspecjalizowany zespół, który w systemie zmianowym wie co robi, gdzie robi, a do tego wszystko odbywa się w profesjonalnym DC.

Co do tego, na co mógłbyś zwrócić uwagę, to masz tutaj przynajmniej dwie główne sprawy:
- software, czyli wszystko to, co tyczy się Twojej aplikacji
Kwestia przygotowania i optymalizacji środowiska, do tego rzeczywiście SSL jako jedno z zabezpieczeń. Zapewne Ty wiesz o swojej aplikacji najwięcej i wtedy we współpracy z daną firmą będziesz w stanie określić wymagania. Część wymagań pewnie będzie opcjonalna, bo nie wiadomo tak na dzień dobry jaka skala przedsięwzięcia. Dla przykładu - tryb tworzenia kopii zapasowej.
- hardware
Tu również skala przedsięwzięcia jest ważna, bo nie wiadomo, czy mówimy o dedyku, który obwarujemy sprzętem ogólnodostępnym dla serwerowni, czy być może trzeba zbudować coś w konkretnej konfiguracji. Tu wymagania klienta i softu również dadzą odpowiedzi.

I teraz na sam koniec, chciałbym polecić Tobie konkretną firmę, a mianowicie IQ PL - http://www.iq.pl. Znam tę firmę od kilku (jak nie kilkunastu) lat, byłem swego czasu bardzo blisko tego, co się dzieje wewnątrz firmy, rekomendowałem ich usługi przy różnych projektach. Własna serwerownia, sprzęt najwyższej klasy i kumata ekipa od góry do dołu na pewno pozwolą dobrać optymalne rozwiązania. Te pytania, które stawiasz tutaj, możesz postawić przy kontakcie z IQ - powinni bez problemu pomóc Ci dojść do wniosków.Miłosz Wojaczek edytował(a) ten post dnia 04.02.13 o godzinie 14:29
Damian Kamiński

Damian Kamiński Zamieniam informacje
w wiedzę ...

A ta firma nie ma swoich serwerów na których można by to było postawić ?

Przecież na pewno mają LAN w każdym z oddziałów :) dostawić do tego VPN, postawić serwer w lokalizacji z najszerszym łączem.

I jeszcze extra policzyć za dodatkowy "ficzer" dla biznesu jakim jest sieć korporacyjna :)

konto usunięte

Damianie tylko pytanie na ile ta firma jest gotowa do hostowania tego u siebie. Wiesz jak wyglądają sieci w firmach...
To nie jest tak hop siup postawić dedyka, podpiąć i niech jakoś to będzie...

Trochę też nie wiadomo jakie tam są dokładnie wymagania co do tego systemu, a także np. odnośnie poufności danych.
Marek Mikuła

Marek Mikuła Student,
Politechnika
Wrocławska

Doszedłem do wniosku, że wybierając ofertę PaaS będę w stanie samodzielnie opiekować się systemem - odpada mi w tym przypadku problem administrowania, mogę skupić się wyłącznie na aplikacji, takie coś mi odpowiada.

Co do wymagań na system, to nie są one duże. Aplikacja ma służyć do rejestracji wizyt klientów w danym oddziale, zatem jest opcja dodawania klientów, dodawania wizyt, przeglądania, usuwania i modyfikacji wprowadzonych danych, tworzenia raportów, dostęp do aplikacji wyłącznie po zalogowaniu. W związku z tym, że jest to zbiór danych osobowych, dane muszą być zabezpieczone - realizacja tego wymagania poprzez zastosowanie SSL na trasie przeglądarka - serwer (czy takie zabezpieczenie będzie wystarczające?). Ruch jest bardzo mały i stały, 3 otwarte sesje na serwerze w jednym czasie (3 oddziały).

Oferta firmy którą zasugerowałeś Miłosz wydaje mi się bardzo interesująca. Patrząc na ofertę OpenShift lub Heroku zastanawiałem się, czy korzystając nawet z najniższych planów nie będę przepłacać za nieużywane zasoby, w końcu nie potrzebuję skalowalności czy obługi kilkuset żądań na sekunde, a baza danych też nie będzie imponujących rozmiarów.

Co do pieniędzy, to powiedzmy, że ustalę kwotę 5 000 zł na wykonanie, a co z wynagrodzeniem za maintenance/opiekę nad systemem? Aplikację wykonałem w oparciu o umowę o dzieło. Czy powieniem to sprzedać na zasadzie licencji, że te 5000zł/rok wraz z pełnym wsparciem technicznym?Marek Mikuła edytował(a) ten post dnia 04.02.13 o godzinie 15:30

konto usunięte

Sam kolega podkreślał, że w systemie będą przetwarzane dane osobowe. Może warto się zapoznać z polskim prawem w tym względzie, a potem twierdzić "nie będę miał nic do roboty" :)
Proszę również zapytać w GIODO o możliwość rejestracji zbioru danych osobowych w "chmurze" oraz poza granicami Polski. Przestanie być tak różowo. Jak dla mnie aspekt techniczny to sprawa wtórna. Pierwsza to kwestia odpowiedzialności. Zabezpieczenie transmisji przez SSL nie załatwia wszystkich wymagań co do ochrony DO.
Marek Mikuła

Marek Mikuła Student,
Politechnika
Wrocławska

Powiedzmy, ze wobec tego baza danych w chmurze odpada. Zainteresowała mnie oferta hostersi.pl, która umożliwia pewien rodzaj outsourcingu w zakresie hostingu danych osobowych ze spełnieniem wymagań dotyczącym ich ochrony. Czy taka współpraca, polegająca na tym że ja pielęgnuję aplikację, a w ich gestii leży zabezpieczanie zbioru danych, ma szanse powodzenia? Czy jest jeszcze coś, na co musiałbym zwrócić uwagę przy takim podejściu?

Tutaj opis tej oferty: link
Troche inny opis oferty na stronie ich partnera iSecure: link

konto usunięte

Marek Mikuła:
Powiedzmy, ze wobec tego baza danych w chmurze odpada. Zainteresowała mnie oferta hostersi.pl, która umożliwia pewien rodzaj outsourcingu w zakresie hostingu danych osobowych ze spełnieniem wymagań dotyczącym ich ochrony. Czy taka współpraca, polegająca na tym że ja pielęgnuję aplikację, a w ich gestii leży zabezpieczanie zbioru danych, ma szanse powodzenia? Czy jest jeszcze coś, na co musiałbym zwrócić uwagę przy takim podejściu?

Tutaj opis tej oferty: link
Troche inny opis oferty na stronie ich partnera iSecure: link

Zrobią za ciebie część papierologi oraz zapewnią tzw. ochronę fizyczną. Reszta (łącznie z odpowiednią logiką aplikacji) leży po twojej stronie i firmy, dla której tworzysz aplikację.
Przeczytaj Dz. U. z 2004 r. Nr 100, poz. 1024, będziesz wiedział co cię czeka :)

konto usunięte

Powoli coraz dziwniej to wszystko brzmi, szczególnie Marek jak pytasz nas jak powinieneś prowadzić swoje interesy i ile za co brać... z modelem usługi to jak dla mnie mamy za mało danych, ale to Ty będziesz wiedział najwięcej. Wydaje mi się, że nie opiszesz nam tego tutaj w taki sposób, że damy Ci złotą receptę - za mała interakcja.

Co do GIODO, to ten, kto zbiera dane, ten podpisuje papierki... znowu wspomnę o IQ, ale wiem, że mają tam człowieka od "czarnej roboty GIODO", p. Monikę. Jeśli się zdecydujesz, to dzwoń, opisz czego Ci potrzeba, połączą wszystko w jedną całość.

O hostersach trochę słyszałem, raczej pozytywnie, ale nic konkretnego. Mam regułę, że polecam, co znam, ale nie znaczy to, że coś innego jest złe, oczywiście.

Tylko wiesz - czy chcesz wprowadzać firmę zewnętrzną na co się więcej niż tylko hostowanie... i po co? To chyba raczej Ty będziesz najbardziej się starał o solidne utrzymanie. No i jeszcze jedno - czy tego tortu jest aż tyle do podziału, by wystarczyło na coś więcej niż tylko zarządzana usługa utrzymania? : ) Mówię tu o wprowadzaniu firmy trzeciej do papierologii.

Spisujesz najpierw wszystko z firmą, której będziesz utrzymywał usługę, tworzysz SLA. Potem z tym SLA idziesz do usługodawcy i dogadujesz się jakie SLA z kolei oni mogą Tobie zaoferować. Część rzeczy zostanie Tobie, część załatwi usługodawca hostingowy. I masz model.Miłosz Wojaczek edytował(a) ten post dnia 04.02.13 o godzinie 20:22
Marek Mikuła

Marek Mikuła Student,
Politechnika
Wrocławska

Wszystkie wymogi zdefiniowane w tym rozporządzeniu zostały są w mojej aplikacji spełnione. Są to:
- każdy pracownik ma swój indentyfikator i hasło spełniające wymogi co do złożoności, zmieniane raz na 30 dni,
- każdy pracownik może operować na bazie danych tylko w przedziale czasowym określonym przez administratora,
- dla każdej zarejestrowanej osoby można stworzyć szczegółowy raport,
- jest wprowadzana data pierwszego wprowadzenia danych i identyfikator użytkownika wprowadzającego,
- w przypadku udostępnienia danych jest w bazie zapisywana informacja o odbiorcach, dacie i zakresie udostepnienia.

Pozostaje kwestia szyfrowania komunikacji między klientem a serwerem, tutaj chce zastosować SSL. Fizyczne aspekty zabezpieczenia danych, jak np. kopie zapasowe, realizuje wymieniona firma hostingowa. Czy jeszcze na coś powinienem zwrócić uwagę?

konto usunięte

Nie jestem specem od GIODO, ale trza jeszcze to zgłosić, że zbierasz i co zbierasz.
SSL to że tak powiem "pikuś".

Ja już nie dopiszę nic mądrego, bo padam - późno : /
Maciej P.

Maciej P. particular.pl

Mateusz K.:
Średnia stawka za roboczogodzinę w branży przy realizacji projektów dedykowanych to 100-250zł netto (+23% VAT) zależnie od wielkości projektu, branży, wielkości klienta i wykonawcy, lokalizacji itp.

To najczęściej stawki dla zagranicznych klientów, którzy płacą w $ lub Euro
Jest to jeden z lepszych pomysłów na zarobienie pieniędzy w IT.
Freelancerzy (um o dzieło) stosują zwykle stawki z przedziału 20-70zł netto za rbh.

Tak z w zależności od doświadczania
20zł/h - Junior od 0 - 2 lat
50zł/h - Middle od 2-6 lat
70zł/h Senior od 6 zwyż

Wyślij zaproszenie do