Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Tworzenie startupu to wyjątkowe wyzwanie. Głównym zadaniem jest znalezienie miejsca dla innowacji jako produktu lub usługi na rynku. Ten proces wymaga testowania wielu założeń wbudowanych w innowacje. Udany startup musi iterować poprzez te założenia i rozwijać i skalować, gdy jego produkt zyskuje produkt i dopasowanie do rynku. Po znalezieniu tego dopasowania startup musi skalować się, aby uchwycić popyt na rynku.
Na różnych etapach życia startowego deweloperzy, architekci i dyrektorzy techniczni (CTO) obsługują różne fazy rozwoju. Te etapy wymagają zasadniczo różnych podejść i różnych wyborów technologicznych. Częścią zadania jest ustalenie fazy uruchamiania. Wybierz technologie, podejścia i architektury, które pasują do tej fazy.
Etapy innowacji
Kent Beck opisuje trzyetapowy proces innowacji w zakresie produktów oprogramowania. Te etapy to eksplorowanie, rozwijanie i wyodrębnianie. Różne części tego procesu można traktować jako wykres:
Wykres przedstawiający krzywą sigmoidową nakreśloną na osi y z etykietą Pewność/Inwestycja/Ryzyko zmiany oraz oś x oznaczona etykietą Czas. Wykres ma trzy wyróżnione obszary: początkową część przed przegięciem w górę z etykietą Eksploruj, część o wysokim wzroście krzywej sigmoidalnej z etykietą Rozwiń, oraz plateau z etykietą Wydobywaj.
Etap Eksploruj rozpoczyna się od niskiego nachylenia, gdzie próbujesz znaleźć, co działa. Pewność jest niska, inwestujesz tylko małe kwoty, a ryzyko wprowadzania zmian jest również niskie.
Po znalezieniu dopasowania do rynku produktów wykres rośnie szybciej. Ten szybki wzrost jest etapem Rozwiń . Twoja pewność znacznie się zwiększa, inwestujesz o wiele więcej i jesteś o wiele bardziej świadomy ryzyka.
Na koniec, gdy wykres spłaszcza się i start osiągnie dojrzałość, osiągniesz etap Wyodrębnij . Pewność, inwestycje i ryzyko zmiany są wysokie, ale tempo wzrostu osiągnęło płaskowyż.
Eksploruj
Gdy startup znajduje się na etapie eksploracji, twoim imperatywem jest zainwestowanie niewielkiej ilości czasu i nakładu pracy na wiele różnych pomysłów na produkt. Fakt, że większość pomysłów nie będzie właściwa, napędza eksplorację. Tylko iterując i ucząc się, można znaleźć odpowiedni produkt i rynek. Robiąc wiele małych zakładów, dążysz do znalezienia pomysłu produktu, który się opłaca.
Ten etap wymaga dyscypliny. Łatwo jest przeinwestować w pomysł, że można testować z mniejszym czasem i energią. Technolog uważa, że szczególnie łatwo wpaść w tę pułapkę. Aby dokonać wyborów architektonicznych, które ułatwiają eksplorację, pamiętaj, że eksplorujesz. Nie wiesz jeszcze, czy bieżący pomysł produktu to taki, który się rozwinie.
Z perspektywy architektury wybierz usługi zoptymalizowane pod kątem szybkości, kosztów i opcji. Korzystaj z usług zarządzanych i platform jako usługi (PaaS), takich jak Usługa Azure App Service, aby szybko rozpocząć pracę bez obaw o złożoną infrastrukturę. Zarządzaj kosztami, wybierając darmowe warstwy i mniejsze rozmiary instancji podczas gdy eksplorujesz. Kontenery wspierają rozwój przy użyciu dowolnych narzędzi, które mają dla ciebie sens i zapewniają elastyczne opcje wdrażania w przyszłości.
Tworzenie pierwszego stosu
Podobnie jak w przypadku pierwszej wersji produktu, pierwszy stos technologii powinien być mocno zakorzeniony w eksploracji. Oznacza to, że stos technologii powinien ułatwić szybką iterację produktu bez marnowania wysiłku. Nie chcesz poświęcać czasu ani wysiłku na infrastrukturę lub architekturę, która nie jest wymagana do odpowiadania na bieżące pytania.
W fazie eksploracji należy zoptymalizować szybkość, koszty i elastyczność. Szybkość oznacza, jak szybko można rozwijać i realizować pomysł lub przechodzić do kolejnego pomysłu. Koszt polega na tym, ile wydajesz na uruchomienie infrastruktury. Opcjonalnie opisano, jak szybko można zmienić kierunek, biorąc pod uwagę bieżącą architekturę.
Ważne jest, aby równoważyć koszty, szybkość i opcjonalność. Zbyt duże skupienie na kosztach ogranicza szybkość i opcjonalność. Zbyt duży nacisk na szybkość może prowadzić do zwiększenia kosztów i mniejszej liczby opcji. Projektowanie zbyt wielu opcji zwiększa złożoność, co zwiększa koszty i zmniejsza szybkość.
Rozważ użycie sugerowanego pierwszego stosu technologii. Ta architektura korzysta z usług PaaS w celu ułatwienia implementacji, można rozpocząć od minimalnej skali i używać technologii kontenerów i open source, które można łatwo wdrożyć na różnych stosach technologicznych w miarę dojrzewania.
Rozwiń
Kiedy twój startup znajdzie dopasowanie produktu do rynku i dalszy wzrost przez eksplorację, przechodzisz do fazy ekspansji. Koncentrujesz się na usuwaniu wszelkich blokad do ciągłego wzrostu produktu i firmy. Z perspektywy technicznej można rozwiązywać problemy ze skalowaniem infrastruktury i zwiększać szybkość programowania. Celem jest spełnienie potrzeb nowych klientów i opracowanie planu rozwoju produktu.
Rozszerz swoją architekturę
W miarę jak rozwijasz swój produkt, nieuchronnie znajdziesz obszary, w których twoja architektura wymaga rozszerzenia. Może być konieczne ukończenie długotrwałych zadań w tle lub obsługa częstych aktualizacji z urządzeń internetu rzeczy (IoT). Może być konieczne dodanie wyszukiwania pełnotekstowego lub sztucznej inteligencji do produktu.
Może być konieczne wprowadzenie zmian architektury, aby uwzględnić elementy w harmonogramie działania. Oprzyj się pokusie wprowadzania tych zmian zbyt wcześnie. Rozszerzenia mogą dodawać złożoność do architektury i koszty infrastruktury do bilansu.
Na wczesnych etapach uruchamiania każde rozszerzenie architektury powinno być wykonywane na czas. Rozszerzenie powinno zająć tylko tyle czasu i energii, ile potrzeba, aby przetestować następną hipotezę. Przygotuj się do usunięcia rozszerzeń, aby zmniejszyć złożoność. Poszukaj funkcji produktów, których klienci nie używają jako możliwości uproszczenia architektury i zmniejszenia wydatków na infrastrukturę.
Architekturę można rozszerzyć na wiele sposobów, takich jak:
- Dodawanie sztucznej inteligencji za pośrednictwem generacji wspomaganej wyszukiwaniem (RAG)
- Zwiększanie odporności przez wdrożenie strefowej redundancji
- Zwiększanie bezpieczeństwa za pomocą wzmocnionego technologicznie stosu sieciowego
Ekstrakt
W fazie wydobycia tempo wzrostu spowalnia, gdy osiągniesz granice szansy rynkowej. Ponieważ rozszerzyłeś się w poprzedniej fazie, teraz masz wiele do stracenia, więc podejmujesz bardziej ostrożne podejście. Zwiększenie marży, obniżenie kosztów i ulepszenia wydajności charakteryzują etap ekstrakcji. W fazie wyodrębniania należy zachować ostrożność, aby nie zaszkodzić produktowi dla klientów, których zdobyliście w fazie rozszerzania.
Zarządzanie rozwojem i dojrzewanie technologii
Gdy produkt osiągnie dopasowanie produktu do rynku, wiele wymagań wywiera wpływ na jego architekturę. Zwiększone użycie może wymagać skalowania infrastruktury w celu obsługi obciążenia. Nowe wymagania dotyczące zgodności przedsiębiorstwa mogą wymagać większej izolacji. Te zmiany są typowymi krokami dojrzewania pomyślnej aplikacji.
Zmiany wprowadzone w celu obsługi wzrostu i dodawania dojrzałości różnią się od rozszerzania architektury. Te zmiany nie są wymaganiami funkcjonalnymi, ale odnoszą się do umożliwienia zwiększenia skali. Zwiększona skala może pochodzić od zupełnie nowych klientów, zwiększonego użycia przez istniejących klientów oraz klientów z wyższymi wymaganiami prawnymi.
Oprzeć się pokusie przedwczesnego optymalizowania. Pamiętaj, aby wykonać kroki wzrostu i dojrzewania, które mogą pomóc w kontynuowaniu iteracji i ulepszaniu produktu.
Dalsze kroki
- Zobacz i wdróż przykładową architekturę stosu uruchamiania Core.
Powiązane zasoby
- Najlepsze rozwiązania w aplikacjach w chmurze
- Dziesięć zasad projektowania dla aplikacji Azure