Då ska du använda Kubernetes
Beslutet att använda en containerorkestreringsplattform som Kubernetes är avhängigt av affärs- och utvecklingskrav. Nu ska vi gå igenom den övergripande arkitekturen i drönarspårningslösningen.
Lösningen är uppbyggd på samma sätt som mikrotjänster, som är utformade som löst sammankopplade samarbetstjänster. För att förenkla lösningens utformning och underhåll distribuerar du tjänsterna separat. Här är den aktuella konfigurationen för din lösning.
- Webbklientdel: Visar kartor och information om spårade drönare.
- Cachetjänst: Lagrar ofta begärd information som visas 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.
- Kö: Innehåller obearbetade data som samlas 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.
Dessa tjänster utvecklas och ägs av separata team i företaget. Varje team använder containrar för att bygga och distribuera sin tjänst. Den nya strategin gör det möjligt för utvecklarteamen att hålla koll på kraven inom modern programvaruutveckling för automatisering, testning samt övergripande stabilitet och kvalitet.
Ändringen av utvecklarkraven har resulterat i flera process- och affärsfördelar för företaget. Till exempel bättre användning av värdbaserade beräkningsresurser, nya funktioner som har förbättrat tiden till marknad och bättre kundräckvidd.
Flera utmaningar med containerhantering ledde dock till att företaget undersökte lösningar för containerorkestrering. Dina team upptäckte att det var relativt enkelt att skala spårningsprogrammet till ett fåtal distributioner, men det var svårt att skala och hantera många instanser.
Det finns flera andra aspekter att ta hänsyn till. 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 bör använda Kubernetes när ditt företag:
- Utvecklar appar som mikrotjänster.
- Utvecklar appar som molnautentiska program.
- Distribuerar mikrotjänster med hjälp av containrar.
- Uppdaterar containrar i skala.
- Kräver centraliserad nätverks- och lagringshantering för containrar.
Då ska du inte använda Kubernetes
Alla program behöver inte köras i Kubernetes. Då kanske Kubernetes inte passar ditt företag.
Till exempel kanske arbetsinsatsen för att skapa containrar och distribuera en monolitisk app överstiger fördelarna med att köra appen i Kubernetes. En monolitisk arkitektur kan inte använda funktioner som skalning eller uppdatering av enskilda komponenter på ett enkelt sätt.
Kubernetes kan ge 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. Teamen måste också experimentera med container- och orkestreringsmiljöer för att få största möjliga nytta av alla tillgängliga alternativ.
Om ditt företag inte är redo att införa den här ändringen kanske Kubernetes inte passar er.