AWS 101 – S3

Prędzej uwierzę w jednorożce niż w to, że istnieje programista, który nie słyszał o chmurach. To niezwykle popularny temat ostatnich lat. W serii postów “AWS 101” postaram opisać najważniejsze serwisy, które oferuje Amazon. Tym razem zaczynamy od S3.

S3 to skrótem od Simple Storage Service. Sama nazwa doskonale opisuje usługę. S3 to po prostu key-object store. Użytkownik tworzy swój własny kubeł (bucket) czyli miejsce docelowe, do którego będą wysyłane pliki. Każdemu plikowi przypisujemy unikalny klucz, który będzie go identyfikował w systemie. I w sumie to wszystko. Proste nie ?

Ale na co to komu ?

No właśnie po co ? Poniżej zamieściłem kilka najważniejszych cech “s-trójki”:

  • dostęp do wielu lokalizacji na całym świecie,
  • małe koszta,
  • niezawodność – Amazon mówi o 99.999999999%,
  • prawie nieskończona pojemność ,
  • prostota obsługi.

Ilość lokalizacji, które oferuje AWS to największa zaleta względem rozwiązań in-house. W dzisiejszych czasach zakup kilku serwerów i masy dysków nie stanowi problemu. Potem wystarczy postarać się o odpowiednie łącze internetowe. I wszystko fajnie, jeżeli serwujemy pliki dla osób znajdujących się na tym samym kontynencie. 

A co w przypadku jak nagle potrzebujemy więcej przestrzeni ? No właśnie trzeba będzie wysłać zamówienie na nowe dyski i maszyny do ich obsługi. To może potrwać kilka dni, a w przypadku korporacji nawet i tygodni. W przypadku S3 taki problem nie istnieje. Potrzebne jest dodatkowe 20 TB w USA lub w Chinach ? Nikt nie widzi przeciwwskazań, po prostu ładujesz więcej plików i masz tyle przestrzeni ile jest ci potrzebne. A co najważniejsze, płacisz tylko i wyłącznie za to co wykorzystujesz.

Szybkie Howto

 

“No dobra Tomek, uznajmy że mnie zaciekawiłeś. W następnym projekcie użyje S3 do przetrzymywania plików. Ale powiedz mi teraz, jak to wygląda z punktu widzenia developera. Jak na razie opisałeś bajery które w moim projekcie raczej nie będą mi potrzebne.”

Już spieszę z wyjaśnieniem. Najlepszy sposobem będzie po prostu zamieszczenie kodu poniżej:

To naprawdę wszystko. Wystarczy stworzyć klienta, a operacje na buckecie wymagają wywołania jednej metody.

Co z tą ceną ?

Tutaj sprawa zaczyna się trochę komplikować, ponieważ na cenę usługi wpływa więcej niż jeden czynnik. Mogłoby się wydawać, że płacimy tylko i wyłącznie za zajęte GB. Tak jednak nie jest. Będziemy musieli zapłacić również za transfer oraz za operacje wykonane na plikach.

 

Część cennika

Osoby chętne do zapoznania z całym cennikiem odsyłam o tutaj.

Podsumowanie

No i to by było na tyle. Celem tego posta było szybkie przedstawienie podstawowych funkcjonalności, jakie oferuje S3. Nie ma tutaj miejsca na zaawansowane techniki lub corner case. Założenie serii AWS 101 jest proste: w przystępny i szybki sposób opisać cały AWS!

Tags: