Łagodny uścisk Pythona

Subskrybuj RSS A A A
6 listopada 2007
Rafał Jakubowski

Grono.net to jeden z największych na świecie serwisów internetowych tworzonych z wykorzystaniem technologii Python i frameworku Django.


Prosta konwersja

Początkowo serwis budowany był tylko przez jedną osobę. Z czasem zatrudniano kolejne, w praktyce wszyscy uczyli się Pythona praktycznie od zera. Znalezienie programistów mających odpowiednie doświadczenie okazało się niemożliwe. Przejście np. od Javy czy PHP do nowej technologii dla wielu programistów nie jest takie trudne, jak mogłoby się wydawać. Wprawdzie nowa osoba osiąga odpowiedni do pracy w Gronie poziom umiejętności po ok. pół roku, to jednak już po krótkim przeszkoleniu może zacząć pracować przy mniej skomplikowanych projektach.

"Mamy duży problem z rekrutacją. Bardzo trudno znaleźć specjalistów od Pythona. Poza tym, tak jak w przypadku każdego innego języka, dobry programista Pythona ma już pracę. Staramy się więc zatrudniać dobrych programistów Javy lub PHP i uczyć ich Pythona. Z doświadczenia mogę powiedzieć, że lepiej sprawdzają się ci od PHP. Programiści Javy mają przyzwyczajenia, które do końca się nie sprawdzają" - mówi Albert Szybiński.

Technologie Grona
Python

Dynamiczny, interpretowalny język obiektowy wysokiego poziomu. Pośród zalet można wymienić czytelną składnię, dużą liczbę bibliotek oraz prężną społeczność użytkowników. Po przepisaniu kodu z Javy na Pytona Grono zostało pierwszym dużym serwisem w Polsce napisanym wyłącznie w tym języku.

Django

Jeden z pierwszych frameworków służących do szybkiego pisania i rozwijania aplikacji internetowych w Pythonie. Grono jest największym na świecie serwisem wykorzystującym tę technologię. Django zyskał w ostatnim czasie dużą popularność. Stał się istotną alternatywą dla Ruby on Rails, standardowego frameworku małych aplikacji Web 2.0, który umożliwia jeszcze szybsze tworzenie aplikacji. Ze względu na to doskonale nadaje się do budowania start-upów. Trzeba jednak przy tym dodać, że jest on wolniejszy niż Django. Przy wzroście liczby użytkowników do obsłużenia obciążenia potrzebne są nie dziesiątki, ale setki serwerów.

PostgreSQL

Szybka, skalowalna, baza danych udostępniana jako open source. Grono wykorzystuje ją do gromadzenia praktycznie wszystkich danych.

MySQL

Prosta, relacyjna baza danych. Jej główną zaletą jest szybkość. Grono wykorzystuje ją w projektach, gdzie niezbędny jest bardzo szybki mechanizm składowania danych.

Memcache

Warstwa pośrednia między bazą danych a sprzętem. Maszyna najpierw odpytuje memcache, a dopiero jeśli nie znajdzie tam potrzebnych danych zadaje pytanie do bazy danych. Bez tego mechanizmu baza danych nie byłaby w stanie obsłużyć ruchu na Gronie. Programiści Grona stworzyli własny moduł (memoize) do komunikacji z memcache, który znacznie przyspiesza wyświetlanie każdej strony.

Spreadfs

Napisany przez programistów Grona autorski "system plików" całkowicie w Pythonie. Dzięki modelowi RAIS i asynchronicznej obsłudze wydarzeń umożliwia przechowywanie praktycznie dowolnych ilości danych bez użycia zaawansowanych maszyn.

PyLucene

Lucene to napisany w Javie popularny silnik wyszukiwarki pełnotekstowej. PyLucene to "port", który umożliwia współpracę aplikacji Pythonowych z Lucene. Dzięki unikalnemu podejściu do indeksowania danych pozwala na wykorzystywanie tanich komputerów do indeksowania. Nie jest wymagane systemowe rozproszenie PyLucene.

Haproxy

Napisany na platformę Linux bardzo szybki mechanizm do równoważenia obciążenia (load balancer) oraz webproxy. Alternatywą są drogie rozwiązania sprzętowe. Na razie jednak - jak przekonują programiści Grona - nie natrafiono na jakiekolwiek ograniczenia Haproxy. Serwis współpracuje bezpośrednio z twórcą tej technologii. Dzięki temu ma wpływ na kształt najnowszych wersji projektu.

Gentoo

Dystrybucja Linuxa wykorzystywana przez Grono. O jej wyborze zadecydowały duże możliwości dopasowania systemu do specyficznych potrzeb serwisu.

Oceń artykuł

średnio: 0 liczba ocen: 0
« wstecz 1  2 

Komentarze (0)

Najnowsze

Państwo do konsolidacji

Obywatele uważają administrację publiczną za jeden organizm. W rzeczywistości jest to kilka tysięcy oddzielnych struktur, obrosłych biurokratycznymi naroślami. Czy można zracjonalizować działanie państwa? Jak w tym może pomóc informatyka?

e-Sąd z odsieczą sprawiedliwości

Polski wymiar sprawiedliwości postrzegany jest jako skostniały i opieszały. Tymczasem kolejne e-usługi udostępniane przez Ministerstwo Sprawiedliwości ułatwiają życie przedsiębiorcom i usprawniają pracę sądów.

e-Zdrowie w Polsce i na świecie

Projekty informatyzacji służby zdrowia realizowane są na świecie z różnym powodzeniem. Skąd Polska mogłaby czerpać wzorce? A może jesteśmy skazani na własne rozwiązania?

Raport Państwo 2.0, czyli nowa wizja informatyzacji państwa

Michał Boni, minister administracji i cyfryzacji, zaprezentował raport "Polska 2.0. Nowy start dla e-administracji". Przedstawia on informacje na temat stanu realizacji projektów będących w gestii nowo utworzonego ministerstwa oraz prezentuje kierunki dalszych działań związanych z informatyzacją i cyfryzacją administracji publicznej w naszym kraju.

Cyberprzestępcy podążają za użytkownikami

Już dwie na trzy polskie firmy odnotowały ataki lub awarie, które spowodowały spadek produkcji. Co trzecia firma utraciła dane. Liczba takich przypadków będzie rosła, bo hakerzy biorą na cel najbardziej masowe technologie. Szybko reagują też na zmiany w firmowej architekturze.

Jak zaplanować karierę w branży IT

Doświadczenia łączone na różnych stanowiskach w firmach o odmiennych profilach są szczególnie cenione przez pracodawców. Dlatego warto głęboko przeanalizować możliwości rozwoju kariery, które obecnie stwarza rynek IT.

Jakie są różnice między chmurą a wirtualizacją

Wirtualizacja jest obecnie standardową technologią, stosowaną powszechnie w IT. Od środowiska chmury prywatnej dzieli ją jednak długa droga, gdyż wymaga ona uzupełnienia o istotne składniki.

Rekomendacje



Serwisy IDG - Warunki obsługi - Kontakt - Redakcja - Regulamin - O nas - Polityka prywatności - Serwis zgodny z ASME
Reklama - Licencjonowanie treści - Prenumerata: Computerworld, Networld, PC World
Computerworld Polska i Computerworld Polska online są znakami towarowymi IDG Poland SA.
© Copyright 2012 International Data Group Poland S.A. 04-204 Warszawa ul. Jordanowska 12 tel.(+4822)321-78-00 fax(+4822)321-78-88