V minulém článku jsme si představili softwarové architekty a náplň jejich každodenní práce. Ukázali jsme si, že je u nich nejdůležitější znalost všech trendů a nejnovějších technologií. A právě na dva takové trendy se teď zblízka podíváme. Dá se totiž říct, že žijeme v době SaaS a PaaS, kdy prodejci nabízí svůj software a platformy jako služby, které můžete využít pro svou aplikaci. Všichni, kdo mají zájem o vývoj nových aplikací (softwarové společnosti, startupy, firmy), musí tento fakt přijmout a přizpůsobit se mu. Pojďme se tedy společně podívat, jak na to.

Platform as a Service (PaaS, Platforma jako služba) – takto nazýváme kategorii cloudových služeb, které umožňují běh vašich aplikací bez nutnosti vlastnit infrastrukturu.

Software as a Service (SaaS, Software jako služba) – jde o kategorii cloudových služeb, které vám umožňují používat určitý hotový software, aniž byste ho museli předtím vyvíjet či do něj jakkoliv investovat. Tohle je pro nás nesmírně důležité. Představte si možnost úpravy fotek, chatu a dalších cool funkcí ve vaší aplikaci, které nemusíte zdlouhavě a draze vyvíjet.

Fine-Grained architektura

V posledních letech se ve vývoji software objevuje jeden významný trend: většina softwarových systémů začala používat Fine-Grained architekturu. Česky by se dal její název přeložit jako jemnozrnná, neboli složená z drobných částí. V praxi to znamená, že systém je složen z mnoha drobných částí, které se chovají jako samostatné systémy. Výborným příkladem je architektura Spotify (článek zde). Osobně tomuto přístupu velmi fandím, protože nabízí efektivní a čisté řešení a zároveň umožňuje nezávislé vylepšování či výměnu každé z částí.

Fine-Grained architektura provází PaaS a SaaS celou jejich nedlouhou historií a nedokážu říct, jestli byla dřív architektura nebo tyhle služby. Připomíná mi to trochu problém se slepicí a vejcem. Každopádně Fine-Grained architektura se svými drobnými systémy dělá z PaaS a SaaS užitečné doplňky, které je snadné integrovat.

Proč by vás to mělo zajímat

Možná si právě teď říkáte, proč by vás tohle všechno mělo zajímat. Pro váš byznys nebo startup vám stačí prostě vytvořit aplikaci, nebo ne? Jenže to co vám stačí teď, už může být příští rok málo. Dobrý softwarový architekt vám navrhne takovou aplikaci, která půjde v budoucnu jednoduše upravit či rozšířit, čímž vám může ušetřit spoustu času a peněz (většinou oboje zároveň).

Na trhu dnes najdeme spousty softwaru fungujícího jako SaaS, který stačí koupit a téměř okamžitě zajistíte vaší aplikaci novou funkcionalitu. Platba většinou probíhá formou malých měsíčních poplatků. Nemusíte tak čekat, než vaši vývojáři tuto funkci vyvinou, její okamžité užívání zdrží jen implementace do systému.

Správný SW architekt vám pomůže najít ideální SaaS aplikaci, která bude přesně sedět vašim potřebám. Samozřejmě ne každá SaaS aplikace bude ta pravá a její pořízení může být stejnou chybou, jako třeba špatně zvolená technologie pro váš projekt. Na co si dát pozor?

Cena

Cenový model bývá většinou nastavený tak, že na začátku neplatíte nic, nebo jen velmi malé částky. Jak to může být tak levné, vývoj takového systému přece musel stát spoustu peněz?  Máte pravdu, na trhu je ale dost potenciálních zákazníků, které chtějí vývojáři zpočátku zaujmout právě nízkými platbami. Druhým důvodem je, že tento systém budete s růstem své aplikace využívat stále více. S tím také porostou vaše měsíční poplatky, často exponenciálně a vývojářům se tak peníze za vývoj vrátí. V ideálním případě by to ale pro vás neměl být problém: poplatky reflektují úspěch vašeho produktu, takže si můžete vyšší platby dovolit.

 

Chybějící funkce

Dalším problémem by mohla být situace, kdy vybraná služba nenabízí slíbenou funkcionalitu. To je vážný problém, existuje ale několik řešení:

  1. Na trhu existuje jiná SaaS, která nabízí požadovanou funkci
  2. Problém je možné vyřešit jinou (menší) službou
  3. Tato funkce pro vás na začátku není rozhodující a tak můžete zahájit projekt i bez ní a přidat ji až později

Nezapomeňte, že se služby v čase vyvíjí. Co nebylo před 3 měsíci dostupné, může být dnes standardní součástí služby. Tento vývoj je velkou výhodou SaaS.

Migrace

Posledním potenciálním problémem je migrace od jedné služby ke druhé, případně k vlastnímu řešení. Ať už z důvodu ceny, funkčnosti nebo z touhy po samostatnosti. Tehdy oceníte Fine-Grained architekturu, budete totiž měnit pouze malý kousek svého systému, takže by to neměl být problém.

Příklady SaaS služeb

  • Parse push notifikace (www.parse.com) – Jednou ze služeb značky Parse je systém push notifikací, který lze jednoduše implementovat do vaší aplikace
  • Cloudinary (www.cloudinary.com) – Cloudinary se stará o fotky ve vaší aplikaci od hostování, přes úpravu velikosti až po distribuci
  • PhraseApp (www.phraseapp.com) – Tento doplněk zvládá různé jazykové mutace vaší aplikace
  • PubNub (www.pubnub.com) – Umožňuje v aplikaci komunikaci v reálném čase

Tento stručný výčet je jen ukázkou širokého výběru služeb dostupných pro vaše aplikace. Každý den přibývají nové a nové služby, které čekají, až je zkusíte. Ale jak už jsem říkal, vybírejte opatrně.

TL;DR

Klady

  •    Jednoduchá integrace
  •    Řešení, které vám ušetří peníze i čas
  •    Dobré řešení pro začínající projekty
  •    Nejste „rukojmím“ vybrané služby, kdykoliv můžete migrovat jinam či si vytvořit vlastní řešení

Zápory

  •    Službě může chybět slíbená funkcionalita
  •    S růstem vaší aplikace mohou růst i měsíční poplatky (i exponenciálně)
  •    Budete závislí  na službě, která může kdykoliv skončit (krach, převzetí, apod.)
  •    Špatná kvalita služby může ovlivnit vaši aplikaci (musíte být při výběru opatrní)

Kde provozovat vaši aplikaci

Jak vidíte, článek je už teď delší, než jsem plánoval. Zde měla být část o hostingu a provozování aplikace pomocí PaaS. Nejlepší ale bude, když to necháme až do dalšího článku. Těším se příští týden.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *