Definities

Om door te dringen tot de kern van de activiteiten die rand voorwaardelijk zijn voor het uitvoeren van devops zijn een paar definities nodig. Daar ontkomen we niet aan. Dit is niet alleen nodig voor het vervolg van het verhaal, maar ook om de bizar grote versnippering van een gemiddelde IT afdeling te begrijpen en dus ook de uitdaging die daarbij komt kijken.

De definities die ik wil hanteren zijn te doorgronden door verschillende brillen of doorsnedes te hanteren. De eerste heeft te maken met de technologische stack en ziet er zo uit:

Devops Stack

Een verticale doorsnede (stack) van de geleverde services geeft de diverse soorten functionaliteit weer die onderdeel zijn van een ontwikkelstraat. Van beneden naar boven betreft dit:

  1. Hardware, Server OS (en DBMS); Dit betreft de fysieke servers en/of PC’s die direct aangestuurd worden door een Operating System. Bij mijn klant betreft dit Windows en Linux servers. Indien een database hierop geïnstalleerd is volgt er geen bovenliggende stack, maar betreft het een database server.
  2. VM; dit betreft een virtuele instantie van een server. Het is mogelijk om een cluster aan virtuele servers te draaien op 1 fysieke server.
  3. Server OS (en DBMS); Dit betreft het operating system bij de VM-instantie, al dan niet geïnstalleerd met een database.
  4. Middleware; Dit betreft alle software die noodzakelijk is als tussenlaag tussen de applicatie en een database en/of Operating System. Voorbeelden zijn applicatie servers als Websphere, Weblogic of IIS, maar ook MQseries, een service bus of een webservice.
  5. Software; In het geval van een pakket installatie is dit de standaard (plain vanilla) installatie van de desbetreffende applicatie. Het betreft ook de configuratie van dit pakket (en de latere beheer activiteiten als patching & upgrading van dit pakket).
  6. Het maatwerk; de daadwerkelijk gebouwde toegevoegde functionaliteit (van een pakket). De reden waarom deze nog een gedeelte paars heeft komt omdat beheer verantwoordelijk is voor het plaatsen van deze functionaliteit. Ontwikkeling is uiteraard voor de bouw van deze fucntionaliteit.

 

En dan nu het simplificeren van de zaken: de eerste 5 zijn allemaal een onderdeel van provisioning en de laatste worden gezien als deployments. Hierbij is de laatste een verantwoordelijkheid van de desbetreffende ontwikkelteam. Dat kan een scrum team zijn, een change in een lijnteam of een waterval project. Hierbij assisteert beheer in het plaatsen van de software, het eventueel controleren van de software sources en het daadwerkelijk operationeel beheren van de software (bijvoorbeeld door het draaien van batches).

De eerste vijf zijn sinds kort de verantwoordelijkheid van mijn System Team.

Dit bericht is geplaatst in Blog. Bookmark de permalink.