Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
chp:algemeen [2018/08/30 15:55]
ferry [Cloud]
chp:algemeen [2020/03/06 07:53] (current)
Line 1: Line 1:
 ====== Community Hosting Platform ====== ====== Community Hosting Platform ======
 +Het op Community Hosting Platform is gebaseerd op OpenShift. Openshift Container Platform is gebouwd op Red Hat Enterprise Linux en Kubernetes en biedt een veiligere schaalbare multi-tenant omgeving voor (web-)applicaties en sites. Het stelt omroepen en hun ontwikkelaars in staat om zelfstandig sites en web-applicaties aan te maken, te deployen en te onderhouden. Het NPO Hosting en Streaming team is er ter ondersteuning en om te voorzien in de benodigde bouwstenen zoals templates en containers. ​
 +Dit nieuwe platform biedt een verdere scheiding van applicaties en toegangsrechten dan tot nu toe mogelijk was in het bestaande platform. Het biedt developers en web-redacteurs meer inzicht in hun eigen omgeving. ​
  
-Community Hosting Platform is een container platform tbv het hosten van omroep applicaties. \\ 
-Deze nieuwe omgeving wordt deels in de cloud gehost en deels op NPO eigen infrastructuur. \\ 
-De voordelen hiervan zijn dat we gebruik kunnen maken van de flexibiliteit en extra diensten die de cloud aanbied zoals Machine Learning, Big Data, etc. 
-Verder kunnen we met het aanbieden van een Static Asset CDN de traffic kosten omlaag brengen. 
  
-====== Wat zijn containers ? ====== 
-===== Geschiedenis ===== 
  
-{{:​chp:​algemeen:​old-cargo.jpg?​nolink&​300 |}}  +==== Containers en het huidige hostingsplatform ​(Appcluster) ====
- +
-Om uit te leggen wat containers zijn moeten we eerst een stukje de geschiedenis in. +
- +
-In het verleden werden goederen vervoerd in kratten, tonnen en kisten. Het probleem hiervan was dat ieder z'n eigen formaat had en hierdoor moeilijk te stapelen en vast te maken waren. Vooral bij schepen was dit een probleem omdat deze tijdens de tocht over zee en oceaan veel bewegen. \\ +
- +
- +
-De transport industrie heeft hier een oplossing voor bedacht in de vorm van (zee)containers die allemaal een standaard vorm en maat hebben. +
-De containers zijn door de klanten van de vervoers maatschappijen zelf in te pakken op de manier die voor hun het beste is en het enige waar de vervoers maatschappijen rekening moeten houden is het vervoeren van de container zelf. Hierdoor zijn de containers makkelijk te stapelen op schepen, gaan ze perfect achter een vrachtwagen en passen ze allemaal achter elkaar achter een trein. \\ +
- +
-{{:​chp:​algemeen:​container-vessels1-1024x683.jpg?​nolink&​200|}}  +
-{{:​chp:​algemeen:​510179304-612x612.jpg?​nolink&​200|}}  +
-{{:​chp:​algemeen:​container-train-3-2-696x461.jpg?​nolink&​200|}}  +
- +
- +
- +
-===== Applicatie Containers ===== +
- +
-{{ :​chp:​algemeen:​application-container.png?​nolink&​300|}}  +
-Bij applicatie containers gebeurt hetzelfde. De applicaties worden door middel van standaard linux tools en settings in een afgesloten container gestart. Aan de kant van het het platform zien deze er allemaal hetzelfde uit en zijn gemakkelijk te stapelen. +
- +
-Ontwikkelaars pakken de container in met alles wat ze nodig hebben voor het draaien van de applicatie, hier kunnen ze heel specifiek zijn in welke versies ze nodig hebben en zijn niet meer afhankelijk van wat er al op het systeem staat. +
- +
-Na het inpakken kunnen ze zelf de container testen op hun machine en vervolgens deze container "​shippen"​ naar het platform waar deze precies hetzelfde draait als  op de ontwikkelaars machine.  +
- +
-\\ \\ \\ +
- +
-====== Container Technieken ====== +
-FIXME +
- +
- +
- +
-=== Containers en het huidige hostingsplatform ===+
  
 {{ :​chp:​algemeen:​containers_vs_traditional.png |}} {{ :​chp:​algemeen:​containers_vs_traditional.png |}}
-In de basis zijn containers geisoleerde processen die naast elkaar op een systeem/​server draaien. Het huidige hostingsplatform werkt op een vergelijkbaren ​manier. Bijvoorbeeld:​ meerdere apache, nginx en mysql processen draaien naast elkaar. Daarnaast is er ook een zekere mate van isolatie zodat deze processen elkaar niet in de weg kunnen zitten. Bij ons draait Apache en Nginx met read-only storage voor alle code, data zoals plaatjes worden gescheiden en ergens anders weggeschreven. Dit concept zien we ook terug bij containers. \\+In de basis zijn containers geisoleerde processen die naast elkaar op een systeem/​server draaien. Het huidige hostingsplatform werkt op een vergelijkbare ​manier. Bijvoorbeeld:​ meerdere apache, nginx en mysql processen draaien naast elkaar. Daarnaast is er ook een zekere mate van isolatie zodat deze processen elkaar niet in de weg kunnen zitten. Bij ons draait Apache en Nginx met read-only storage voor alle code, data zoals plaatjes worden gescheiden en ergens anders weggeschreven. Dit concept zien we ook terug bij containers. \\
 Wat is dan het verschil en waarom zou je willen overstappen op een "​echt"​ container platform?\\ Wat is dan het verschil en waarom zou je willen overstappen op een "​echt"​ container platform?\\
   * Het huidige platform vereist (veel) handwerk om applicaties als losse "​instanties"​ te draaien.   * Het huidige platform vereist (veel) handwerk om applicaties als losse "​instanties"​ te draaien.
Line 62: Line 26:
 Kubernetes is een erg populaire container orchestrator en wordt door veel grote (IT) organisaties gebruikt. ​ Kubernetes is een erg populaire container orchestrator en wordt door veel grote (IT) organisaties gebruikt. ​
  
 +\\ \\ \\
  
 ===== OpenShift ===== ===== OpenShift =====
Line 78: Line 43:
 | Route | Openshift-specifiek:​ Dit is een __DNS entry__ die gekoppeld is aan een //service// zodat deze buiten het cluster toegankelijk is. In tegenstelling tot routes bij netwerkapparatuur gaat het hier niet om IP adressen maar om DNS entries. Bijvoorbeeld:​ mycms.project.example.com |  | Route | Openshift-specifiek:​ Dit is een __DNS entry__ die gekoppeld is aan een //service// zodat deze buiten het cluster toegankelijk is. In tegenstelling tot routes bij netwerkapparatuur gaat het hier niet om IP adressen maar om DNS entries. Bijvoorbeeld:​ mycms.project.example.com | 
 | Service| Een loadbalancer met een vast IP adress die verkeer naar dynamische IP adressen van pods kan sturen. | | Service| Een loadbalancer met een vast IP adress die verkeer naar dynamische IP adressen van pods kan sturen. |
- +|Replication (controler) | Dezelfde pod (definitie) meerdere keren tegelijk draaien. Dit wordt ook wel horizontaal schalen genoemd. ​Het horizontaal schalen gebeurt via de replication controller voor pods die daar geschikt voor zijn. | 
- +| Project | In kubernetes heet dit een namespace; dit is een geisoleerde omgeving waarin applicaties kunnen worden gedeployeerd. Projecten zijn afgeschermd op basis van gebruikersaccounts. Op deze manier kun je een (externe) ontwikkelaar toegang verlenen tot projecten.|
- +
- +
- +
-====== ​Het Platform ====== +
-FIXME+
  
 ===== Cloud ===== ===== Cloud =====
Line 93: Line 53:
 In de cloud omgeving is het mogelijk om verschillende diensten van AWS rechtstreeks af te nemen via de catalogus in OpenShift. In de cloud omgeving is het mogelijk om verschillende diensten van AWS rechtstreeks af te nemen via de catalogus in OpenShift.
  
-\\ \\ \\ \\+\\ \\ \\ \\ \\
 ===== Static Asset CDN ===== ===== Static Asset CDN =====
  
  • chp/algemeen.1535637312.txt.gz
  • Last modified: 2020/03/06 07:53
  • (external edit)