Recent Updates RSS Toggle Comment Threads | Keyboard Shortcuts

  • Piotr 09:37 on November 4, 2010 Permalink | Reply  

    Nowy streaming live 

    SimpleStorage oferuje od kilku dni nowe, autorskie rozwiązanie przesyłania obrazu w transmisjach na żywo. Klienci tak jak obecnie, nadają sygnał korzystając z protokołu RTMP do serwera zgodnego z Flash Media Server, obraz do klientów dystrybuowany jest jednak za pomocą protokołu HTTP w postaci plików FLV.
    Dzięki takiemu posunięciu zwiększona została skalowalność systemu (oprogramowanie transkodujące RTMP do HTTP/FLV zużywa bardzo mało zasobów sprzętowych i może być zainstalowane na dowolnej liczbie tanich serwerów) ale nie tylko.
    “Dla użytkowników końcowych o wolnych łączach takie rozwiązanie daje możliwość zapauzowania strumienia – wtedy jest on buforowany po stronie klienta i może być odtworzony z lekkim przesunięciem czasowym, ale bez przerywania – w sposób analogiczny jaki znamy z serwisu YouTube i innych” – dodaje Piotr Karwatka, dyrektor technologii.

    Oprogramowanie zawiera zintegrowany serwer HTTP, a jego rola polega na transkodowaniu w czasie rzeczywistym sygnału wideo emitowanego w postaci pakietów RTMP z kodekiem VP6 lub h264 do plików FLV, strumieniownych bezpośrednio do użytkowników końcowych. W kolejnych wersjach planowana jest rozbudowa o obsługę formatów innych niż FLV – m.in. MPEG-TS pozwalającego na streaming do urządzeń typu iPhone/iPad oraz SmoothStreaming.

    Oprogramowanie zostało testowo wdrożone u dwóch klientów komercyjnych (m.in. można przetestować je na http://obradysejmu.pl) na 6 węzłach sieci SimpleStorage. Wcześniej przeszło bardzo rygorystyczne, trwające 2.5 miesiąca, testy obciążeniowe i funkcjonalne podczas których aplikacja była poddawana obciążeniu 500-1000 zapytań o wideo na sekundę do 3000 jednoczesnych oglądających / serwer.
    “W przypadku transmisji na żywo i oprogramowania serwerowego je obsługujące stabilność i wydajność to kluczowe czynniki, nie mogliśmy sobie pozwolić na jakiekolwiek błędy w oprogramowaniu” – dodaje Marcin Engelmann odpowiedzialny za utrzymanie infrastruktury SimpleStorage.

    Aplikacja jest napisana w języku C i działa pod systemem Unix (testy przeprowadzano na GNU Linux i NetBSD). Rozważane jest wypuszczenie oprogramowania w postaci otwartego kodu źródłowego.

     
  • Piotr 14:03 on September 15, 2010 Permalink | Reply  

    Luźny pomysł 

    Chciałbym podzielić się pomysłem na nową usługę. Będę wdzięczny za wszelkie komentarze i szczery feedback.

    Ostatnio dużo można przeczytać o przyszłości web-developmentu i technologii w oparciu o które będziemy tworzyli oprogramowanie. Warto obejrzeć kilka prezentacji jak chociażby http://www.slideshare.net/netguruPL/techstandard-netguru czy http://www.slideshare.net/frank06/nodejs-riak.

    Żyjemy w niesamowitym czasie, nierelacyjne bazy danych (polecam cykl wpisów na http://highscalability.com), tworzenie aplikacji sieciowych (już nawet nie web-aplikacji) na coraz większą skalę stawia nowe wymagania – a po RoR wszystkie te technologie – z paczki są przyjazne dla developera. Najlepsze z nich szybko zyskują zwolenników.

    Generalnie widoczne są dwa trendy:

    • optymalizacja sposobu działania aplikacji - przez odejście od klasycznych wątków/workerów na model eventowy – klasyczne podejście opisane np. na http://www.kegel.com/c10k.html i wykorzystywane przez największych (facebook, meebo i inni) trafia “pod strzechy” w prostej w użyciu formie,
    • rezygnacja z relacyjnych baz danych na rzecz łatwiejszej skalowalności i rozproszenia – CouchDB, mongoDB, Cassandra –  bazy te nie są już eksperymentalne, niektóre z nich są zgodne z ACID, wiele jest wykorzystywanych w dużych serwisach z powodzeniem.

    Dodatkowo można dodać do tego zbiór uznanych praktyk jakie stosuje się przy rozwijaniu aplikacji:

    • podział infrastruktury na jasno sprecyzowane funkcjonalnie warstwy,
    • load balancing + reverse proxy i cache http,
    • memcached w klastrze,
    • serwowanie plików statycznych z wydzielonych serwerów,
    • rozproszony system plików,
    • dostęp do CDNa.

    Pomysł na usługę polega na wsparciu tych wszystkich technologii i dobrych praktyk i sformatowanie ich w ramach produktu / usługi hostingowej. Benchmarkiem byłoby tutaj np. Google App Engine, Heroku.com czy też Joyent.

    Od strony technologii wspierane byłoby (wstępnie – czekam na opinie):

    • na poziomie aplikacji – node.js (http://nodejs.org/) + framework express + dostęp do innych modułów instalowalnych w ramach paczek (jest ich coraz więcej: http://github.com/ry/node/wiki/modules)
    • na poziomie bazy danych – mongoDB (http://www.mongodb.org/) hostowane w klastrze
    • do tego reverse proxy i cache http (np. varnish sprawdzony i rozbudowany przy SimpleStorage)
    • rozproszony system plików – SimpleStorage lub/i S3 – jako storage który mógłby być podmontowany do instancji,
    • pula serwerów memcache dostępna dla aplikacji.

    Od strony użytkownika / programisty zarządzanie odbywałoby się podobnie jak ma to miejsce w AppEngine – poprzez zbiór skryptów/aplikacji dzięki którym mógłby stworzyć, przetestować lokalnie a następnie zainstalować na naszych serwerach aplikację.

    W ramach konfiguracji użytkownik mógłby  zdefiniować (pomysłów jest bardzo dużo) – ilość serwerów na których ma działać jego aplikacja, rozmiar pamięci którą chce wykorzystać w ramach memcache i ilość nodów memcache do wykorzystania (można by przyjąć założenie że jeden node zawiera serwer node.js + memcache) oraz ilość nodów mongoDB do wykorzystania.

    Z poziomu definiowania deskryptorów JS tworzona byłaby baza danych, dane można by oczywiście migrować od siebie do serwerów.

    Całość mogłaby być infrastrukturalnie hostowana na EC2 lub na wydzielonej, własnej infrastrukturze – jak to zrobiliśmy w SimpleStorage . Drugie rozwiązanie wiąże się z koniecznością sporych nakładów na start.

    Jeśli chodzi o rozliczanie – w grę wchodzi rozliczanie za realne zużycie (stawki EC2 + koszt obsługi administracyjnej oraz licencji za oprogramowanie, które automatyzowałoby zarządzanie, deploye itd.).

    Usługa byłaby więc czymś w rodzaju “chmury” obliczeniowej na której można posadowić w łatwy sposób, w zgodzie z uznanymi praktykami, aplikację o bardzo dużej wydajności.

    Nie sądzę, aby usługa tego typu trafiła na odpowiedni rynek w Polsce, trzeba by myśleć jeśli już o Europie zachodniej, a najlepiej USA. Samo node.js wymaga ewangelizacji i promocji.

    Może inne technologie? Może inny model? Czekam na opinie :)

     
  • Piotr 10:50 on September 13, 2010 Permalink | Reply  

    Dokumentacja zabezpieczania plików Tokenami w SimpleStorage, zapożyczona od videocms.pl: http://docs.divante.pl/videocms/VideoCMS_api_token_pl.pdf oraz http://docs.divante.pl/videocms/VideoCMS_security_pl.pdf

     
  • Piotr 10:42 on September 13, 2010 Permalink | Reply  

    Serwery źródłowe 

    Od dzisiaj na SimpleStorage.pl dostępna jest funkcja serwerów źródłowych. Dzięki niej można bardzo prosto zacząć korzystanie z sieci CDN.

    Załóżmy że masz sklep internetowy i wszystkie obrazki serwujesz ze swojego serwera – np. http://mojsklepik.pl/images. Takie rozwiązanie jest domyślnie stosowane przez chyba wszystkie systemy e-commerce i CMSy.

    W momencie gdy zwiększa się ruch – przeniesienie plików na osobne serwer(y), S3 czy inne tego typu rozwiązanie zazwyczaj jest skomplikowane bo trzeba zmieniać sposób uploadu plików (przesyłanie ich na zewnętrzne zasoby a nie zwyczajna obsługa – np. w php move_uploaded_file …).

    Dlatego w SS dodaliśmy funkcję serwerów źródłowych – u nas jeśli chcesz “puścić” swoje pliki przez sieć dystrybucji a tym samym odciążyć swoje serwery i zwiększyć szybkość ładowania strony wystarczy, że:

    Dzięki temu za pierwszym zapytaniem klienta plik zostanie pobrany z Twojego serwera do sieci dystrybucji SimpleStorage a następnie serwowany od nas, z najlepiej dopasowanych pod względem szybkości i obciążenia serwerów do klienta.

    Rozliczanie jest za realne zużycie – to dobry sposób na oszczędności i przyspieszenie strony!

     
  • Piotr 10:27 on July 20, 2010 Permalink | Reply  

    SimpleStorage.pl zainspirował nas do stworzenia własnej platformy video i zrezygnowania z Vimeo.com czy Livestream.com. Polecamy za doskonały kontakt z administratorami, ukierunkowanie na rozwój, szybkość serwerów oraz elastyczny model cenowy. Bartek Rycharski – eventio.pl

    Takie słowa cieszą :)

     
  • Piotr 10:25 on July 20, 2010 Permalink | Reply  

    Wersja publiczna SimpleStorage dostępna! 

    Z radością informujemy iż prawie pół-roczne (od lutego 2010) testy beta zostały zakończone. SimpleStorage zyskało wymaganą stabilność aby przejść do wersji publicznie dostępnej!

    Zapraszamy do korzystania, zgłaszania uwag i pomysłów na dalszy rozwój.

    Na naszej witrynie wiki umieściliśmy prezentację opisującą główne mechanizmy SimpleStorage – prezentacja dość techniczna.

    Sami nie zasypujemy gruszek w popiele – trwają prace nad rozwojem platformy – dystrybucja streamów live przez HTTP (a nie przez RTMP tak jak do tej pory) jest już w fazie beta-testów, rozbudowa API, wstawianie węzłów do kolejnych sieci to tylko niektóre zadania nad którymi obecnie pracujemy.

     
  • Piotr 10:20 on July 20, 2010 Permalink | Reply  

    Wprowadzone tokeny zabezpieczające 

    W celu implementacji dowolnej logiki zarządzania dostępem do plików – SimpleStorage udostępnia zewnętrzne API przez któe pliki mogą być blokowane. Zablokowany plik może byc pobrany tylko w przypadku posługiwania się przez użytkownika ważnym tokenem uprawniającym do pobierania. Tokeny są generowane przez API – w postaci zaszyfrowanych łańcuchów znaków. Do szyfrowania używane jest m.in. hasło do SimpleStorage, przez co tylko właściciel plików / osoba uprawniona jest w stanie wygenerować poprawny token.

    Czytaj więcej…

     
  • Piotr 23:34 on February 9, 2010 Permalink | Reply
    Tags: beta, testy   

    Otwarte testy beta.simplestorage.pl 

    Czekamy na Wasze opinie :)

    Na wiki.simplestorage.pl umieściliśmy zaktualizowaną dokumentację oraz przykłady użycia w PHP, Pythonie oraz linki do przydatnych narzędzi.

    Wkrótce pojawi się biblioteka do obsługi uploadu dla Django – obsługująca SimpleStorage oraz przykład użycia w Ruby.

    Będziemy wdzięczni za wszelkie zgłoszenia przesyłane na adres testy@simplestorage.pl

     
  • Piotr 20:12 on January 26, 2010 Permalink | Reply
    Tags:   

    Plany rozwoju 

    Platforma działa na stabilnym poziomie, przez ostatni miesiąc SLA wynosiło .. 100% :) Aktualnie pracujemy nad wdrożeniem kilku istotnych funkcji. Przede wszystkim:
    - zgodność na poziomie zarządzania (WebDAV) z usługami REST S3 – tak aby przenoszenie aktualnych serwisów do SimpleStorage było jeszcze prostsze. API w większości podstawowych funkcji już teraz jest zgodne – dostoswać trzeba autoryzację, tworzenie bucketów (zwanych u nas Witrynami), ustawianie właściwości,
    - rozbudowa farmy serwerów Live (Flash Media) – aktualizacja oprogramowania oraz testy streamingu i pseudo-streamingu h264,
    - rozbudowa infrastruktury (kolejne serwery bezpośrednio w Polskich węzłach wymiany ruchu)

     
  • Piotr 20:06 on January 26, 2010 Permalink | Reply
    Tags: , simplestorage.pl   

    Aktualnie prowadzimy prace nad usability witryny SimpleStorage.pl. System działa stabilnie, ale w około jest sporo do zrobienia. W nieodległych planach też rozszerzenie farmy serwerów Flash Media.

     
c
compose new post
j
next post/next comment
k
previous post/previous comment
r
reply
e
edit
o
show/hide comments
t
go to top
l
go to login
h
show/hide help
esc
cancel