Runtime processen

Dit zijn de processen die nodig zijn voor je applicatie. Wanneer je een applicatie toevoegt, als je het startcommando voor het webproces niet opgeeft, probeert Kinsta tijdens de eerste deployment automatisch het vereiste startcommando te detecteren. Het startcommando voor een Node.js applicatie kan bijvoorbeeld npm start of yarn start zijn. Dit kan niet worden verwijderd, en je kunt maar één webproces per applicatie hebben.

Je kunt in MyKinsta ook je eigen commando’s bewerken en definiëren in de sectie Processen van je applicatie. Een voorbeeld hiervan zie je in onze voorbeelddeployment.

Naast het webproces kun je achtergrondprocessen/workers toevoegen. Er is geen limiet aan het aantal processen dat je kunt toevoegen; elk proces heeft echter minstens één pod nodig om te kunnen draaien.

Je kunt de grootte van je pod veranderen (verticale schaling) en veranderen hoeveel pods tegelijkertijd draaien (horizontale schaling).

  • Verticaal schalen is geweldig om pods meer kracht te geven om resource-intensieve taken uit te voeren.
  • Horizontaal schalen is geweldig voor veerkracht en load balancing voor applicaties die veel verzoeken verwerken. Je zou bijvoorbeeld 3 versies van dezelfde pod kunnen draaien. De onderliggende technologie routeert verzoeken naar een van de drie pods, waardoor de belasting effectief over hen wordt verdeeld. Als één pod instabiel wordt, zullen verzoeken naar de andere twee gerouteerd worden totdat de derde pod weer gezond is.
Application runtime processes and build process in MyKinsta.
Application runtime processes en build process in MyKinsta.

Processen definiëren in MyKinsta

Bij het deployen van een applicatie, zoals hierboven beschreven, kun je een webprocescommando instellen, of je kunt Kinsta het standaardcommando laten instellen. Je kunt ook je eigen commando’s bewerken en definiëren in MyKinsta in de sectie Processen van je applicatie. Een voorbeeld hiervan zie je in onze voorbeelddeployment.

Om een nieuw proces toe te voegen, klik je op Proces aanmaken en vul je de velden als volgt in:

  • Naam: De procesnaam, bijvoorbeeld “Worker”.
  • Type: Achtergrondtaak.
  • Start commando: Het commando dat nodig is om het proces te starten, bijvoorbeeld npm run [process].
  • Pod grootte: Kies de CPU en RAM die aan het proces worden besteed.
  • Instanties: Het aantal benodigde instanties, tot een maximum van vijf. Elke instantie vertegenwoordigt één pod, en de instanties gebruiken allemaal dezelfde pod grootte. Je kunt niet voor elke instantie een andere pod grootte definiëren.

Je kunt de details van elk proces, inclusief de Pod grootte, op elk moment wijzigen. Elke wijziging die je aanbrengt, met uitzondering van de naam, activeert automatisch het uitrolproces voor de toepassing.

Build process

Dit toont je de buildmachine die het buildproces gebruikt. Door te klikken op Update build kun je de voor het bouwproces gebruikte bouwbronnen wijzigen.

Processen definiëren in een Procfile

Procfiles definiëren processen uit de code van je applicatie en moeten worden vastgelegd in je archief. Een Procfile bevat één proces per regel in het volgende format:

process_name: command

Om bijvoorbeeld een Laravel applicatie te draaien, zou je het volgende kunnen gebruiken:

web: php artisan serve --host 0.0.0.0 --port 8080

Als je een Procfile gebruikt, moet je een proces met de naam web definiëren om ervoor te zorgen dat de container webverzoeken zal vervullen.