När kubernetes ska användas
Beslutet att använda en containerorkestreringsplattform som Kubernetes beror på affärs- och utvecklingskrav. Här är en genomgång av arkitekturen på hög nivå för drönarspårningslösningen.
Lösningen är byggd som mikrotjänster som är utformade som löst kopplade samarbetstjänster. För att förenkla lösningens design och underhåll distribuerar du dessa tjänster separat från varandra. Här är den aktuella konfigurationen av din lösning.
- Webb-frontend: Visar kartor och information om spårade drönare.
- Cache service: Lagrar information som efterfrågas ofta på webbplatsen.
- RESTful API: Används av spårade drönare för att skicka data om deras status, till exempel en GPS-plats och batteriladdningsnivåer.
- Queue: Innehåller obearbetade data som samlats in av RESTful-API:et.
- databehandlingstjänst: Hämtar och bearbetar data från kön.
- NoSQL-databas: Lagrar bearbetade spårningsdata och användarinformation som samlas in från webbplatsen och databehandlingstjänsten.
Separata team i ditt företag utvecklar och äger dessa tjänster. Varje team använder containrar för att skapa och distribuera sin tjänst. Den här nya strategin gör det möjligt för utvecklingsteamen att följa kraven för modern programvaruutveckling för automatisering, testning och övergripande stabilitet och kvalitet.
Ändringen av utvecklarkraven har resulterat i flera process- och affärsfördelar för företaget. Exempel är bättre användning av värdbaserade beräkningsresurser, nya funktioner som har förbättrat tiden till marknaden och förbättrad kundåtkomst.
Flera utmaningar med containerhantering ledde dock till att företaget undersökte lösningar för containerorkestrering. Dina team fann att det var relativt enkelt att skala spårningsprogrammet till en handfull distributioner, men det var svårt att skala och hantera många instanser.
Det finns flera andra aspekter att tänka på. Exempel är hantering av misslyckade containrar, lagringsallokering, nätverkskonfiguration och hantering av apphemligheter.
Som du lärde dig tidigare ger Kubernetes stöd för alla dessa utmaningar som en orkestreringsplattform.
Du vill använda Kubernetes när ditt företag:
- Utvecklar appar som mikrotjänster.
- Utvecklar appar som molnbaserade program.
- Distribuerar mikrotjänster med hjälp av containrar.
- Uppdaterar containrar i stor skala.
- Kräver centraliserat containernätverk och lagringshantering.
När du inte ska använda Kubernetes
Alla program behöver inte köras i Kubernetes. Därför kanske Kubernetes inte passar ditt företag.
Till exempel kan arbetet med att containerisera och distribuera en monolitisk app vara mer än fördelarna med att köra appen i Kubernetes. En monolitisk arkitektur kan inte enkelt använda funktioner som enskild komponentskalning eller uppdateringar.
Kubernetes kan introducera många affärsfördelar för programutveckling, distribution, hantering och effektivisering av processer. Kubernetes har dock en brant inlärningskurva. Kubernetes modulära design introducerar potentiellt nya begrepp som påverkar team i hela företaget.
Dina utvecklingsteam måste ta till sig moderna designkoncept när de utvecklar och utformar appar. Dessa begrepp omfattar användning av mikrotjänster och containerisering av dessa tjänster. Teams måste också experimentera med container- och orkestreringsmiljöer för att kunna använda alla tillgängliga alternativ på bästa sätt.
Om ditt företag inte är redo att anta den här ändringen kanske Kubernetes inte passar ditt företag.