Vytvorenie flexibilnej a opakovateľnej aplikácie v krátkom čase môže byť náročné. Známe cloudy ako AWS, Azure a GCP pomáhajú dodávať škálovateľné webové aplikácie s nízkymi nákladmi v priebehu niekoľkých týždňov. Vyberte spravovanú databázu, presuňte kód aplikácie do kontajnerov Docker alebo back-end funkcií a nasaďte všetko na akékoľvek zmeny kódu. Takto vyzerá vývoj moderných aplikácií, že?
V tomto príspevku popíšem najdôležitejšie veci potrebné na vývoj a dodávku softvéru úžasným tempom. Aplikácia Next.js napísaná v TypeScript, nasadená cez Vercel a podporená databázou bez servera s názvom FaunaDB. Každú z týchto vecí podrobne vysvetlím a sem-tam pridám niekoľko príkladov. Vrelo odporúčam vyskúšať všetky. Všetky majú veľkorysé bezplatné úrovne a môže ich použiť malý trojčlenný vývojársky tím.
Využitie vývojárskych platforiem zameraných na vývojárov v kombinácii s ponukami bez serverov je zhrnuté ako Jamstack. „J-A-M“ znamená JavaScript, API a značky. Viac o Jamstacku nájdete na //jamstack.org/.
Nasadenie je detail implementácie
Počet služieb, ktoré môžem použiť v cloude, je ohromujúci. V tomto okamihu má AWS 250 rôznych služieb. Potrebujem definovať, ako sa pripojiť a nastaviť nasadenie pre moje nové funkcie, pre moje neprodukčné prostredie a pre moje produkčné prostredie
Ak pracujem na projekte s viacerými vývojármi súčasne, rád by som iba odovzdal adresu URL svojmu spolupracovníkovi, aby som mohol zdieľať svoju aktuálnu vetvu funkcií.
Ďalej musím nastaviť domény a subdomény, škálovať služby, prepojiť verejné koncové body, spravovať databázové pripojenia, nastaviť správu tajomstiev atď.
Platforma Vercel hladko nadväzuje na systémy riadenia verzií ako GitHub alebo GitLab. Jednoducho pripojím svoje úložisko a prispôsobím nastavenie názvu hostiteľa môjho servera mien a som hotový.
V mojom súčasnom projekte som definoval niekoľko užitočných úloh NPM, ktoré sa používajú v každom zostavení, aby sa zabezpečilo, že náš softvér funguje a spĺňa softvérové štandardy a osvedčené postupy:
{"skripty": {
"tsc": "tsc", // skontrolovať typovú bezpečnosť
"lint": "eslint", // vykoná statickú analýzu kódu
"lint: ci": "eslint --max-warnings = 0",
"lint: fix": "eslint --fix",
"test": "jest --watch", // vykonať testy
"test: ci": "jest --ci",
"test: coverage": "jest --coverage",
"checks": "npm-run-all lint: ci tsc test: ci",
"dev": "env-cmd next dev", // spustí miestne prostredie dev
"start": "next",
"start-port": "ďalší štart -p $ PORT",
"build": "ďalšie zostavenie",
"now-build": "npm-run-all checks build", // zostavenie CI
"serve": "ďalší štart",
}
}
Vercel štandardne spúšťa teraz stavaj
úloha na každom zostavení. To spustí niektoré ďalšie úlohy, ktoré staticky skontrolujú náš kód, spustia všetky testy a zostavia náš softvér.
Vďaka tomu, že všetko jednoducho funguje, mám z krabice veľa funkcií platformy nasadenia. Mám úžitok z pripravovaných vylepšení bez toho, aby mi v budúcnosti spôsobovali problémy.