Wpisy z Maj, 2008

Czy Twoja witryna się skaluje?

Ostatnimi czasy coraz częściej mamy do czynienia z problemami ze skalowalnością serwisów internetowy. Spotykamy się z tym jako użytkownicy (któż z nas nie widział Pana Gąbki ;) ) ale też i jako twórcy, projektanci.

Coraz więcej odsłon, coraz więcej wejść – i brak pomysłu jak sobie z nimi poradzić

Dlaczego gdy nasz serwis zyskuje popularność, statystyki nieprzerwanie rosną…a my zamiast cieszyć się i odnosić z tego powodu zyski – zaczynami zastanawiać się .. jak długo to jeszcze potrwa, zanim serwis, mówiąc brzydko, nie padnie?

Myślę, że wynika to z dwóch przyczyn.

Pierwsza wynika w dużej mierze ze specyfiki serwisów web 2.0. Dzisiaj to użytkownicy tworzą treść – w bardzo małym zatem stopniu możemy oszacować jej ilość. Jak pokazuje życie w jeszcze mniejszym stopniu możemy oszacować ilość samych użytkowników.

YouTube

 

Wzrost popularności Naszej klasy

Powyższe wykresy prezentują impakt wzrostu liczby użytkowników od czasu dla YouTube i Naszej klasy. Wzrost to kilka milionów w ciągu kilku miesięcy.

Jeden z serwisów poradził sobie ze skokiem i odniósł z tego powodu ogromny sukces i korzyści (Youtube), drugi kilka miesięcy krztusił się wyświetlając mało interesujące informacje o przeciążonych serwerach, zamiast naszych znajomych :)

Różnicą między tymi dwoma serwisami jak myślę – jest druga, po specyfice serwisów, przyczyna problemów, czyli zły projekt aplikacji.

Niestety, tak jest najczęściej. Z różnych przyczyn aplikacje tworzone są w pośpiechu i niechlujnie (pośpiech nie zawsze = niechlujnie!). Twórcy zakładają, że gdy serwis zyska popularność to … przepisze się go na nowo. Teraz nie ma czasu pisać dobrego oprogramowania – nie warto, nie opłaca się. Niestety – konieczność przepisania serwisu najczęściej występuje gdy nasz serwis jest na tyle popularny, że mamy problemy ale nie na tyle, aby na siebie zarobił.

Często Twórcy serwisów zakładają, że wykorzystane, wspaniałe technologie  Django, Ruby on Rails, ASP.NET, J2EE uratują nas gdy popadniemy w tarapaty… Jak dużo serwisów upadło przez takie aroganckie podejście? Wiele. Technologia to tylko narzędzie.

Jeszcze inna grupa twórców aplikacji sądzi, że korzystanie z “profesjonalnych” rozwiązań open source będzie wspaniałym rozwiązaniem. Niestety, dużo popularnych aplikacji jest zupełnie nieskalowalna. Jeśli używasz osCommerce, Joomla, Drupal … wiedz, że prędzej czy później napotkasz problemy z którymi nie tak łatwo będzie sobie poradzić.

Często też wyżej wymienione przyczyny zostają zmiksowane z brakiem doświadczenia/wiedzy/umiejętności w tworzeniu aplikacji w danej technologii. Efekt jest jaki jest.

Warto odpowiedzieć sobie na kilka pytań które pomogą uzmysłowić sobie, czy nasze przedsięwzięcie napotka problemy.
Czy będę miał problemy? 

  1. Czy używasz oprogramowania open source – którego dokładnej architektury nie zna nikt z Twojego zespołu?
  2. Czy Tworzysz portal społecznościowy który powstał przy pełnej funkcjonalności w czasie < 3 miesiące?
  3. Czy Twój zespół wybrał technologię bez wsparcia się testami, ponieważ nie było czasu?
  4. Czy używasz drogich, komercyjnych technologii?
  5. Czy Twój zespół tworzy serwis tego typu po raz pierwszy?
  6. Czy Twój zespół wybrał technologię głównie dlatego, że “fajnie się w niej pisze” lub jest aktualnym buzz-wordem?
  7. Czy Twój zespół składa się z ludzi znających tylko jedną technologię (tę właściwą ;)) ?

Jeśli na większość pytań odpowiadasz “TAK” to będziesz miał problemy.

W kolejnej serii artykułów postaram się opisać proste techniki radzenia sobie z nimi – mam nadzieję, że okażą się przydatne :)

« Poprzednia strona