S3 pro vývojáře

Od spuštění Amazonem v roce 2006 se S3 stalo standardem pro objektová úložiště.  Firmy díky vysoké dostupnosti služby, jednoduchosti použití i díky kvalitním možnostem zabezpečení přijaly S3 jako přirozenou součást své cloudové strategie.

S3 jako standardní služba

Mezi vývojáři aplikací je služba oblíbená kvůli přístupnosti přes webové rozhraní i kvůli široké škále hotových nástrojů pro různé programovací jazyky.

Kompatibilita s AWS S3

S3 (Simple Storage Service) postupně začali nabízet další velcí i lokální hráči na cloudovém trhu. V dnešní době si tak můžete vybírat z několika poskytovatelů.

Geetoo S3 Cloud Storage je AWS S3 kompatibilní typ úložiště. Je dobré vědět, že kompatibilita s AWS S3 není vždy 100% a S3 služby různých poskytovatelů mohou mít různou míru kompatibility.

Zajímavé srovnání na toto téma uvádí na svých stránkách Cloudian (S3 API for Enterprise Object Storage), což je platforma, kterou využíváme pro Geetoo S3 Cloud Storage.

Geetoo S3 Cloud Storage je AWS S3 kompatibilní z hlediska základních CRUD (Create, Read, Update,  Delete) operací i z hlediska operací pokročilejších, jako je řízení přístupu (ACL), šifrování, verzování, atd.

Platí pro ni tak téměř stejná pravidla, jako pro AWS S3 snad jen s jedinou výjimkou – tou je geografická blízkost úložiště. Data v Geetoo S3 Cloud Storage zůstávají v centru Evropy.

Díky kompatibilitě jsou služby vyvíjené pro AWS S3 plně přenositelné na Geetoo S3 Cloud Storage .

S3 vývojář

Možnosti pro vývojáře

S3 samotné vývojářům nabízí mimo jiné:

  • Webhosting statických webových stránek
  • SDK pro různé jazyky (Python, Swift, Java, PHP…)
  • Přístup přes CLI (Command Line Interface)
  • REST API
  • Přístup pro aplikace s vysokou konfigurovatelností oprávnění
  • Ransomware protection pro data
  • Analytiku a monitoring S3 prostředí

Dokumentaci ke všem výše zmíněným možnostem pohodlně najdete po přihlášení do svého Geetoo S3 admin rozhraní v sekci Help.

Naši klienti využívají S3 např. jako data lake pro analytiku. My ji interně využíváme jako storage backend pro Python Django webové aplikace, které sami vyvíjíme. Webové aplikace díky S3 provozujeme jako jednoduše škálovatelné mikroservisy v Kubernetes prostředí a statická data aplikace jsou uložena mimo toto prostředí na S3. Výrazně se tak zrychluje i odezva webové aplikace jako celku.

Otestovali jsme úspěšně i použití Geetoo S3 (v kombinaci s C# .NET) při tvorbě konektorů pro no-code a low-code systémy. Bezpečně víme, že Geetoo S3 jako úložiště souborů můžete používat i pokud jste se rozhodli vydat touto cestou.

S3 API a SDK

Samotná S3 disponuje dvěma odlišnými API. To první je určeno pro její správu a využíváme jej my, jako poskytovatel služby. Mimo jiné přes něj zakládáme zákaznická prostředí a získáváme podklady pro PAYG (pay-as-you-go) služby. Druhé API je pak určeno pro uživatele S3 služby jako takové.

S3 API pro uživatele se řídí základními REST principy a můžete s ním pracovat za pomoci běžných klientů typu Insomnia, Apidog, Postman atd.

Pro čtení anonymně dostupných dat stačí i běžný prohlížeč internetu – nabízí se tak široké využití pro nejrůznější webové služby.

Veškeré detaily, jak API requesty zasílat, jsou přesně popsané v dokumentaci. API dokumentace je přístupná po přihlášení ze sekce nápovědy.

Pro interakci s API budete potřebovat znát:

  • Access key id ve tvaru 5041c5da6d7f37e9d57b
  • Secret key ve tvaru cgf+K3mmWBVKHMtkAsDM27c4VluqWjcKzjlE/H47
  • Region, např. prague
  • Endpoint – endpointy pro naši S3 budou zpravidla ve tvaru https://s3-prague.stor.geetoo.com

Velmi důležitý seznam endpointů je přístupný uživatelům po přihlášení ze sekce Profile -> Security Credentials. Zde je také možné vytvářet, aktivovat a deaktivovat přístupové údaje pro aplikace. Používání uživatelských přístupových údajů (jména a hesla) pro interakci aplikací s API tady skutečně není podporovaný use-case a nároky na zabezpečení komunikace jsou mnohem vyšší.

I když je API standardizované a dobře zdokumentované, vřele doporučujeme pro práci s ním využít některé z hotových SDK (software development kit). Je nesrovnatelně komfortnější pracovat s SDK, než se snažit interagovat přímo s API. SDK vám ušetří mnoho času.

SDK za vývojáře hladce vyřeší i takové záležitosti, jako podepisování a ověřování requestů.

Pokud použijete jakékoliv z oficiálních SDK v kombinaci s Geetoo S3 Cloud Storage, uveďte jako parametr pro připojení vždy i endpoint, který si zjistíte z vašeho S3 rozhraní.

Integrace do vývojových nástrojů

Mimo výše zmíněná SDK existují navíc i rozšíření pro AWS S3 kompatibilní služby integrovatelná přímo do vývojových nástrojů. Geetoo S3 Cloud Storage tak můžete integrovat do oblíbeného VS Code, Visual Studia, Eclipse nebo PyCharm od JetBrains.

Mohlo by se hodit: tipy od development oddělení

Níže přidávám několik super tipů na naším development oddělením ověřené informace, které by se při vývoji mohly hodit: