Architektura pro startupy

Vytvoření startupu je jedinečná výzva. Základním úkolem je najít místo pro inovace jako produkt nebo službu na trhu. Tento proces vyžaduje testování několika předpokladů, které jsou součástí inovací. Úspěšný startup musí iterovat těmito předpoklady a růst a škálovat, protože jeho produkt získává produkt a trh fit. Jakmile zjistíte, že je to vhodné, musí se startup škálovat tak, aby splňoval požadavky na trh.

V různých fázích života startupů se vývojáři, architekti a vedoucí pracovníci technického oddělení (CTO) řídí různé fáze vývoje. Tyto fáze vyžadují zásadně odlišné přístupy a různé technologické volby. Součástí úlohy je stanovení fáze, ve které je spuštění spuštěno. Zvolte technologie a architektury, které odpovídají dané fázi.

Fáze inovací

Kent Beck popisuje třífázový proces inovací softwarových produktů. Tyto fáze prozkoumávají, rozbalují a extrahují. Různé části tohoto procesu si můžete představit jako graf:

Graf znázorňující fáze prozkoumání, rozbalení a extrakce vývoje produktů

Graf znázorňující křivku sigmoid vykreslovanou na ose y "Certainty/Investment/Risk of Change" a x-axis "Time". Graf má tři zvýrazněné oblasti: počáteční část před vzestupnou inflexní částí označenou "Prozkoumat", vysokou růstovou část křivky sigmoid označenou "Expand" a plateau označenou jako "Extract".

  • Fáze Prozkoumat začíná nízkým sklonem, kde se snažíte najít, co funguje. Jistota je nízká, pouze investujete malé částky a riziko všech provedených změn je také nízké.

  • V určitém okamžiku graf roste rychleji. Tento rychlý růst je fáze rozbalení . Vaše jistota se výrazně zvyšuje, investovat mnohem více a mnohem více víte o rizicích.

  • Nakonec, jak graf zploštěl, se dostanete do fáze extrakce . Jistota, investice a riziko změny jsou všechny vysoké, ale míra růstu dosáhla plateau.

Průzkum informací

Když je váš startup ve fázi průzkumu, je imperativní investovat malé množství času a úsilí na mnoho různých nápadů na produkty. Skutečnost, že většina nápadů nebude mít pravdu, vede k prozkoumávání. Pouze iterací a učením můžete najít produkt a trh fit. Když uděláte mnoho malých sázek, snažíte se najít produkt, který se vyplatí.

Tato fáze vyžaduje disciplínu. Je snadné přeinvestovat do nápadu, že byste mohli testovat s menším časem a energií. Technik zjistí, že je obzvláště snadné spadnout do této pasti. Pokud chcete volby architektury, které usnadňují zkoumání, mějte na paměti, že zkoumáte. Zatím nevíte, jestli je aktuální nápad na produkt takový, který se bude škálovat.

Z pohledu architektury zvolte služby, které jsou optimalizované pro rychlost, náklady a možnosti. Používejte spravované služby a platformy jako službu (PaaS), jako je Aplikace Azure Service, abyste mohli rychle začít, aniž byste se museli starat o složitou infrastrukturu. Spravujte náklady výběrem úrovní Free a menších velikostí instancí při zkoumání. Kontejnery podporují vývoj pomocí libovolného nástroje, které dávají smysl pro vás, a poskytují flexibilní možnosti nasazení pro budoucnost.

Vytvoření prvního zásobníku

Stejně jako u vaší první verze produktu by váš první technologický zásobník měl být pevně kořenem při průzkumu. To znamená, že sada technologií by měla usnadnit rychlou iteraci produktů bez plýtvání úsilím. Nechcete trávit čas ani úsilí na infrastrukturu nebo architekturu, která není nutná pro zodpovězení aktuálních otázek.

Během fáze průzkumu je potřeba optimalizovat rychlost, náklady a volitelnost. Rychlost spočívá v tom, jak rychle můžete sestavovat a pohybovat se vpřed s myšlenkou nebo se přesunout k další myšlence. Náklady jsou to, kolik utrácíte za provoz infrastruktury. Nepovinnost popisuje, jak rychle můžete změnit směry vzhledem k aktuální architektuře.

Je důležité vyvážit náklady, rychlost a volitelnost. Příliš se zaměřte na rychlost a volitelnost nákladových limitů. Příliš mnoho zaměření na rychlost může vést ke zvýšení nákladů a méně možností. Návrh pro příliš mnoho možností vytváří složitost, což zvyšuje náklady a snižuje rychlost.

Zvažte použití našeho navrhovaného prvního technologického zásobníku. Tato architektura využívá služby PaaS ke snadné implementaci, je možné začít s minimálním škálováním a používá kontejnerové a opensourcové technologie, které se dají snadno nasadit do různých technologických zásobníků při zralosti.

Rozbalit

Jakmile startup najde růst prostřednictvím průzkumu, posunete ozubená kola na rozšíření. Zaměřujete se na odstranění jakýchkoli blokování pro pokračování růstu vašeho produktu a společnosti. Z technické perspektivy řešíte výzvy škálování infrastruktury a zvyšujete rychlost vývoje. Cílem je splnit potřeby vašich nových zákazníků a přejít na plán produktu.

Rozšíření architektury

Při iteraci produktu budete nutně najít oblasti, ve kterých vaše architektura potřebuje rozšíření. Možná budete muset dokončit dlouhotrvající úlohy na pozadí nebo zpracovávat časté aktualizace ze zařízení Internetu věcí (IoT). Možná budete muset do produktu přidat fulltextové vyhledávání nebo umělou inteligenci.

Možná budete potřebovat změny architektury pro přizpůsobení položek v plánu. Odporujte pokušení, aby tyto změny udělali příliš daleko předem. Rozšíření riskuje přidání složitosti nákladů na architekturu a infrastrukturu do rozvahy.

V počátečních fázích spouštění by mělo být jakékoli rozšíření architektury za běhu. Rozšíření by mělo trvat jen tolik času a energie, kolik je potřeba k otestování další hypotézy. Připravte se na odebrání rozšíření, abyste snížili složitost. Hledejte funkce produktů, které zákazníci nepoužívají jako příležitosti ke zjednodušení architektury a snížení výdajů na infrastrukturu.

Vaši architekturu můžete rozšířit mnoha způsoby, například:

Extrahovat

Ve fázi extrakce tempo růstu zpomaluje, jakmile dosáhnete limitů prodejní příležitosti. Vzhledem k tomu, že jste se rozšířili v předchozí fázi, je teď hodně ztratit, takže se vezmou opatrnější přístup. Rozšíření marže, snížení nákladů a vylepšení efektivity charakterizují fázi extrakce. Během fáze extrakce dávejte pozor, abyste neohrozili produkt pro zákazníky, které jste získali ve fázi rozšíření.

Zvládněte růst a zralý zásobník

Jakmile produkt dosáhne vhodného produktu a trhu, mnoho požadavků řídí svou architekturu. Zvýšené využití může vyžadovat škálování infrastruktury ke zpracování zatížení. Nové podnikové požadavky na dodržování předpisů můžou vyžadovat větší izolaci. Tyto změny jsou běžné kroky při sadě úspěšných aplikací.

Změny, které provedete pro zpracování růstu a přidání vyspělosti, se liší od rozšíření architektury. Tyto změny nejsou funkční požadavky, ale souvisí s odemčením škálování. Vyšší škálování může pocházet od čistých nových zákazníků, zvýšeného využití od stávajících zákazníků a zákazníků s vyššími zákonnými požadavky.

Odolat pokušení optimalizovat předčasně. Ujistěte se, že podniknete kroky růstu a ochutnávání, které vám pomůžou pokračovat v iteraci a vylepšování vašeho produktu.

Další kroky

  • Podívejte se na ukázkovou architekturu spouštěcího zásobníku Core a nasaďte ji.