Amazon Web Services dla deweloperów

Materiał promocyjny Amazon Web Services jest obecnie największą platformą oferującą usługi w modelu cloud. Korzystają z niej najwięksi m.in. AirBnB, NetFlix, Pinterest i wielu innych. Dlaczego? Dzieje się tak, ponieważ AWS łączy w sobie dobrą jakość z uniwersalnością, rozumianą jako szerokie portfolio narzędzi oraz ogromna liczba dostępnych API. Filozofia działania firmy Amazon sprawia, że do dyspozycji otrzymujemy usługi jednocześnie niezwykle wydajne i przystępne cenowo. Platforma AWS to także szereg narzędzi zaprojektowanych specjalnie z myślą o deweloperach. Będziemy prezentować je szerzej w serii artykułów publikowanych na serwisie Computerworld w najbliższych tygodniach.

Słowem jakim najlepiej można opisać Amazon Web Services jest "elastyczność". W największym stopniu odnosi ono do pojemności chmury. Ilość zarezerwowanego miejsca może być bowiem modyfikowana zarówno ręcznie (przez użytkownika, ad hoc) jak i automatycznie (na podstawie z góry ustalonych kryteriów), w dowolnym momencie bez jakichkolwiek dodatkowych konsekwencji związanych ze zmniejszaniem ustalonego wcześniej limitu. Elastyczność dotyczy także całkowitego czasu korzystania z poszczególnych narzędzi oraz ich liczby.

Kolejną zaletą jest szerokie portfolio usług: hurtownie danych, aplikacje biznesowe (Business Intelligence) czy programy z rodziny IoT (Internet of Things) to tylko pierwsze z brzegu przykłady. Wszystko to w oparciu o najwyższe standardy bezpieczeństwa, typowe dla firmy Amazon.

Amazon Web Services stanowi świetną ofertę zarówno dla pracowników działów biznesowych jak i deweloperów: w każdym momencie istnieje możliwość uruchomienia nowej usługi, a następnie – w oparciu o przyjęcie przez reprezentatywną grupę testową – zatrzymanie jej lub wdrożenie na większą skalę.

Najlepiej znanym narzędziem przeznaczonym dla deweloperów jest niewątpliwie Amazon EC2. Jest to tzw. "Elastic Cloud", która umożliwia uruchamianie i testowanie aplikacji w chmurze na platformach Windows i Linux. Warto zaznaczyć, że z wykorzystaniem tego narzędzia deweloperzy mogą kodować używając praktycznie każdego popularnego języka programowania. Dostępne są wtyczki dla Eclipse czy Visual Studio .NET. Jest także spory wybór API dla Javy, Javascript, Windows oraz .NET, PHP, Ruby, Python oraz platform mobilnych.

W AWS świetnie poradzono sobie z problemem wyczerpujących się zasobów. Nowe zasoby serwera mogą zostać uruchomione w przeciągu kilku minut. Problemów z dostępnością można uniknąć więc nawet w najbardziej ekstremalnych przypadkach. Różne instancje mogą zostać skonfigurowane w oparciu o wcześniej zdefiniowane reguły. Poszczególne ustawienia mogą być jednak w późniejszym czasie zmieniane. Co za tym idzie, wirtualne zasoby dostępne poprzez AWS, mogą obsługiwać niemalże nieskończoną liczbę scenariuszy użytkowania.

Alternatywą dla AWS EC2 jest AWS Lambda. Narzędzie to jest w stanie wykonać napisany kod bez konieczności wcześniejszego definiowania przez użytkownika potrzebnej mocy obliczeniowej. Dzieje się to automatycznie, na podstawie wymagań samej aplikacji. Opłaty za to rozwiązanie zależą od całkowitego czasu korzystania z zasobów. Rozwiązania tworzone w oparciu o AWS Lambda mogą być pisane w takich językach jak JavaScript, Python lub Java.

Amazon Web Services posiada także bogatą (i elastyczną!) ofertę jeśli chodzi o storage. Warto wspomnieć chociażby o Amazon S3 oraz EBS. Amazon Simple Storage Service (czyli właśnie Amazon S3) przeznaczony jest zarówno do przechowywania krótkoterminowego jak i długoterminowego. EBS natomiast to rozwiązanie stworzone specjalnie pod obsługę transakcyjnego przetwarzania danych.

W kwestii baz danych użytkownicy mogą natomiast skorzystać z Amazon Relational Database Service (Amazon RDS). Usługa ta jest kompatybilna z sześcioma różnymi, relacyjnymi bazami danych: Amazon Aurora, Oracle, Microsoft SQL Server, PostgreSQL, MySQL oraz MariaDB. Do superwydajnych zastosowań stworzono natomiast Amazon DynamoDB – narzędzie NoSQL umożliwiające tworzenie baz dokumentowych oraz klucz-wartość.

A propos baz danych, należy wspomnieć także o narzędziu umożliwiającym tworzenie hurtowni danych w ramach AWS. Amazon Redshift, bo o nim mowa, może być skalowany do kilku petabajtów i współpracuje z wieloma dostępnymi aplikacjami klasy BI. Z dodatkiem ElastiCache może być także wykorzystany jako pamięć podręczna w chmurze.

Tak jak wspomnieliśmy na początku naszego artykułu, przedstawiona powyżej lista nie jest jeszcze kompletna. Warto wspomnieć jeszcze chociażby o narzędziach BI, frameworku Hadoop czy usługach sieciowych.

W kolejnych artykułach publikowanych na serwisie Computerworld omówimy kolejne usługi oraz narzędzia dostępne w ramach Amazon Web Services.

Już teraz jednak, istnieje możliwość stworzenia bezpłatnego konta na aws.amazon.com:

Amazon Web Services dla deweloperów