Wanneer u Kubernetes gebruikt

Voltooid

De beslissing om een containerindelingsplatform als Kubernetes te gebruiken, is afhankelijk van bedrijfs- en ontwikkelingsbehoeften. Laten we eens kijken naar de architectuur op hoog niveau van de oplossing voor het traceren van drones.

De oplossing is ontwikkeld als microservices die zijn ontworpen als losse gekoppelde services voor samenwerking. U implementeert deze services onafhankelijk van elkaar om het ontwerp en onderhoud van de oplossing te vereenvoudigen. Hier volgt de huidige configuratie van uw oplossing.

Diagram of the high-level architecture that describes the drone tracking solution.

  • Webfront-end: toont kaarten en informatie over getraceerde drones.
  • Cacheservice: slaat vaak aangevraagde informatie op die op de website wordt weergegeven.
  • RESTful API: wordt gebruikt door bijgehouden drones om gegevens over hun status te verzenden, zoals een GPS-locatie en acculadingsniveaus.
  • Wachtrij: bevat niet-verwerkte gegevens die zijn verzameld door de RESTful-API.
  • Gegevensverwerkingsservice: haalt gegevens op uit de wachtrij en verwerkt deze.
  • NoSQL-database: slaat verwerkte traceringsgegevens en gebruikersgegevens op die zijn vastgelegd op de website en de gegevensverwerkingsservice.

Deze services zijn ontwikkeld en eigendom van afzonderlijke teams in uw bedrijf. Elk team gebruikt containers om hun service te ontwikkelen en te implementeren. Met deze nieuwe strategie kunnen ontwikkelteams blijven voldoen aan de vereisten van moderne softwareontwikkeling met betrekking tot automatisering, testen en de algehele stabiliteit en kwaliteit.

De wijziging in de vereisten voor ontwikkelaars heeft geleid tot verschillende proces- en bedrijfsvoordelen voor het bedrijf. Zo worden gehoste rekenresources beter gebruikt, worden nieuwe functies sneller geïntroduceerd en is het bereik van de klant verbeterd.

Verschillende uitdagingen met containerbeheer hebben uw bedrijf echter geleid tot het onderzoeken van oplossingen voor containerindeling. Uw teams hebben geconstateerd dat het schalen van de tracerings-app naar een aantal implementaties relatief eenvoudig was, maar dat het schalen en beheren van veel instanties moeilijk was.

Er zijn verschillende andere aspecten waarmee u rekening moet houden. Voorbeelden hiervan zijn het omgaan met mislukte containers, opslagtoewijzing, netwerkconfiguratie en het beheren van app-geheimen.

Zoals u eerder hebt geleerd, biedt Kubernetes ondersteuning voor al deze uitdagingen als indelingsplatform.

U wilt Kubernetes gebruiken als uw bedrijf:

  • Apps ontwikkelt als microservices.
  • Apps ontwikkelt als cloud-eigen apps.
  • Microservices implementeert met behulp van containers.
  • Containers op schaal bijwerkt.
  • Gecentraliseerd containernetwerk en opslagbeheer vereist.

Wanneer u Kubernetes niet gebruikt

Niet alle toepassingen hoeven worden uitgevoerd in Kubernetes. Kubernetes is daarom misschien niet de juiste oplossing voor uw bedrijf.

De inspanningen voor het gebruik van containers en de implementatie van een monolithische app kunnen bijvoorbeeld zwaarder zijn dan de voordelen van het uitvoeren van de app in Kubernetes. Een monolithische architectuur kan niet eenvoudig gebruikmaken van functies zoals het schalen van afzonderlijke onderdelen of updates.

Kubernetes kan veel zakelijke voordelen opleveren voor softwareontwikkeling, implementatie, beheer en het stroomlijnen van processen. Kubernetes heeft echter een steile leercurve. Het modulaire ontwerp van Kubernetes introduceert mogelijk nieuwe concepten die van invloed zijn op teams binnen uw bedrijf.

Uw ontwikkelteams moeten moderne ontwerpconcepten omarmen bij het ontwikkelen en ontwerpen van apps. Deze concepten omvatten het gebruik van microservices en het containeriseren van deze services. Teams moeten ook experimenteren met container- en indelingsomgevingen om optimaal gebruik te maken van alle beschikbare opties.

Als uw bedrijf nog niet toe is aan deze verandering, is Kubernetes mogelijk niet geschikt voor uw bedrijf.