Degenen die de waarde begrijpen van het veiligstellen van een concurrentievoordeel door gebruik te maken van moderne tools om het softwareontwikkelingsproces efficiënter te maken, zijn altijd op zoek naar innovatieve oplossingen en aarzelen niet om deze in hun workflow te integreren als de voordelen die ze bieden aantrekkelijk genoeg zijn.
RedHat OpenShift belooft ontwikkelaars in staat te stellen te innoveren en sneller te verzenden en is een van de toonaangevende tools voor het ontwikkelen en implementeren van moderne applicaties in verschillende omgevingen, en dit artikel introduceert de concepten erachter.
Introductie van OpenShift
Het doel van OpenShift is om veel van de vermoeiende en foutgevoelige taken die verband houden met applicatie-ontwikkeling te vereenvoudigen, zoals het implementeren van applicaties en het beheren van de dagelijkse activiteiten. Om dit doel te bereiken, biedt OpenShift een geïntegreerd applicatieplatform waarmee ontwikkelaars zich kunnen concentreren op het schrijven van hun beste code, en het stelt IT-activiteiten in staat door superieure controle, zichtbaarheid en beheer te bieden.
OpenShift werd voor het eerst uitgebracht door Red Hat in 2011 nadat het bedrijf Makara had overgenomen, een startup die zich richtte op het leveren van een cloudplatform voor Java- en PHP-applicaties op zowel publieke als private clouds. Het duurde echter tot de release van OpenShift 3.0 toen het Platform as a Service (PaaS)-aanbod van Red Hat zijn huidige vorm aannam, met Docker als zijn containertechnologie en Kubernetes als zijn containerorkestratietechnologie.
Nu kunnen we zeggen dat OpenShift een PaaS is die werkt rond Docker-geformatteerde containers die worden beheerd met het open-source Kubernetes-containerorkestratieplatform. Voordat we enkele van de functies en mogelijkheden nader bekijken, geven we eerst een kort overzicht van Docker en Kubernetes, zodat duidelijk wordt hoe de afzonderlijke onderdelen in elkaar passen tot een in elkaar grijpend, coherent en consistent geheel.
Docker
Zoals je misschien al weet, is Docker een van de meest populaire containertechnologieën voor Linux. Het stelt ontwikkelaars in staat om applicaties met alle afhankelijkheden in een draagbaar formaat te distribueren voor afbeeldingen die op alle systemen draaien.
Docker werd voor het eerst uitgebracht in 2013 en is sindsdien op grote schaal geadopteerd door grote en kleine ontwikkelaars. Met Docker kunnen ontwikkelaars efficiënter gebruik maken van systeembronnen, software sneller verzenden en minder beveiligingsproblemen oplossen.
Deze en andere redenen zijn waarom Red Hat besloot om OpenShift te bouwen rond Docker-containers. Er is echter maar zoveel dat je kunt doen met een enkele Docker-container, en dat is waar Kubernetes van pas komt.
Kubernetes
Kubernetes is een open-sourceoplossing voor containerorkestratie. Het biedt de mogelijkheid om gemakkelijk verder te gaan dan een enkele container, en zorgt voor load balancing, montage, enzovoort. Kubernetes bundelt containers in logische eenheden, zodat applicaties eenvoudig op aanvraag kunnen worden beheerd en geschaald.
Hoewel de Kubernetes in 2014 werd uitgebracht, is zijn populariteit niet beperkt tot de vroege gebruikers. Uit het laatste onderzoek van de Cloud Native Computing Foundation (CNCF) blijkt dat de overgrote meerderheid (78%) van de bedrijven die containers gebruiken in productie, deze beheert met behulp van Kubernetes.
Kenmerken van OpenShift
OpenShift heeft een lange weg afgelegd sinds de release van de eerste versie, en het kan nu een groot aantal voordelen en opwindende functies bieden. Hier zijn vijf functies die u moet kennen:
- Webconsole: Om de ontwikkeling en implementatie van applicaties zo eenvoudig mogelijk te maken, bevat OpenShift een webgebaseerde ontwikkelaarsinterface met een responsief gebruikersinterfaceontwerp. Deze interface is toegankelijk vanuit elke moderne webbrowser en kan worden gebruikt om moeiteloos applicaties en gerelateerde bronnen te beheren.
- Opdrachtregelprogramma's: Naast de webgebaseerde ontwikkelaarsinterface biedt OpenShift ook een reeks opdrachtregelprogramma's. Deze tools zijn beschikbaar en u kunt ze rechtstreeks downloaden vanuit de webinterface. Deze tools kunnen worden gebruikt om OpenShift-applicaties en -projecten te maken en te beheren vanaf een terminal. Windows, macOS en Linux worden ondersteund en een stapsgewijze zelfstudie voor elk platform is online beschikbaar.
- IDE-ondersteuning: In de geest van open-sourcesoftware streeft OpenShift ernaar ontwikkelaars zoveel mogelijk vrijheid te geven om hun workflow te kiezen, door integratie met Visual Studio, Eclipse en JBoss Developer Studio.
- Applicatiesjablonen: Inbegrepen in OpenShift zijn vooraf gemaakte snelstarttoepassingssjablonen, die bedoeld zijn om ontwikkelaars in staat te stellen met een simpele klik aan de slag te gaan, ongeacht of ze een toepassing willen ontwikkelen met Java, Python, PHP of een andere taal.
- Continue integratie: Ook gewoon bekend als CI, continue integratie draait om het frequent samenvoegen van codewijzigingen in een centrale repository, en OpenShift maakt het gemakkelijk omdat het Jenkins omvat, de toonaangevende open source automatiseringsserver. Jenkins is eenvoudig in te stellen en ondersteunt honderden plug-ins en integraties van derden.
OpenShift-smaken
OpenShift is beschikbaar in drie smaken, die allemaal worden aangedreven door dezelfde open-source kerncomponent, genaamd OKD:
- OpenShift-containerplatform: Tot juni 2016 stond OpenShift Container Platform bekend als OpenShift Enterprise, en zo noemen sommige OpenShift-gebruikers het nog steeds. Deze PaaS is bedoeld voor organisaties die volledige controle willen over hun on-premises of public cloud-omgeving.
- Toegewijd OpenShift: Sommige organisaties geven misschien de voorkeur aan het gemak van een volledig beheerde oplossing, en dat is waar OpenShift Dedicated in past, door de mogelijkheid te bieden om een OpenShift-omgeving met één huurder in een openbare cloud te draaien.
- OpenShift Online: Ontwikkelaars en teams die applicaties in de openbare cloud bouwen, kunnen OpenShift Online gebruiken om moeiteloos gecontaineriseerde apps te bouwen, implementeren en schalen vanuit elke webbrowser, met behulp van hun tools naar keuze.
Er is ook OpenShift.io, ook bekend als Red Hat CodeReady Toolchain, een gratis, end-to-end, cloud-native ontwikkelomgeving geleverd als een Developer Preview SaaS-oplossing met OpenShift Online. Met OpenShift.io, is het mogelijk om met gemak cloud-native applicaties te plannen, bouwen en implementeren.
Conclusie
Tegenwoordig wordt van organisaties verwacht dat ze applicaties en functies in een verbazingwekkend tempo leveren in steeds diverser wordende IT-omgevingen. OpenShift biedt grote waarde aan organisaties van elke omvang door ontwikkelaars en IT-afdelingen in staat te stellen efficiënter te werken en meer tijdige en kogelvrije applicaties en functies te leveren