Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Sustainability in der deploy pipeline

132 Aufrufe

Veröffentlicht am


Natürlich können wir als Entwickler noch immer nicht auf genaue Zahlen aus der Wissenchaft berufen. Ein Tool, welches uns den Energieverbrauch eines Jobs in der CI sichbar macht scheint derzeit noch nicht möglich. Doch allein mit gesunden Menschnverstand lassen sich schon Regeln aufstellen, wie ich die Jobs zusammenführe um mir als Entwickler die Sicherheit meiner Tests zu gewährleisten, aber auch um am Ende nicht unzählige Docker Images umsonst gebaut zu haben. Darum lasst uns gemeinsam auf eine Reise vom Aufbau eines Docker-Images bishin zum fertigen Build antreten, um die CI - Lösungen in der Entwicklung bereits mit zu hohen C0_2-Werten konfrontiert zu sehen. Denn das ist ein Teil, den wir selbst in der Hand haben.

Veröffentlicht in: Umweltschutz
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Sustainability in der deploy pipeline

  1. 1. NACHHALTIGKEIT IN DER DEPLOY PIPELINENACHHALTIGKEIT IN DER DEPLOY PIPELINE CONTINUOUS LIFECYCLE 2019CONTINUOUS LIFECYCLE 2019
  2. 2. CONTINUOUS DELIVERYCONTINUOUS DELIVERY CONTINUOUS INTEGRATIONCONTINUOUS INTEGRATION
  3. 3. CONTINUOUSCONTINUOUS DELIVEERYDELIVEERY TESTINGTESTING
  4. 4. CONTINUOUS DELIVERYCONTINUOUS DELIVERY AUTOMATISMAUTOMATISM
  5. 5. CONTINUOUS DELIVERYCONTINUOUS DELIVERY AGILE DEVELOPMENT PROCESSAGILE DEVELOPMENT PROCESS
  6. 6. SUSTAINABILITYSUSTAINABILITY
  7. 7. SUSTAINABILITY -SUSTAINABILITY - RESOURCESRESOURCES
  8. 8. RESOURCESRESOURCES DEVELOPERSDEVELOPERS
  9. 9. RESOURCESRESOURCES MASHINESMASHINES
  10. 10. RESOURCESRESOURCES ENERGYENERGY
  11. 11. RESPONSIBILITYRESPONSIBILITY
  12. 12. 3% GLOBAL GREENHOUSE GAS EMISSIONS3% GLOBAL GREENHOUSE GAS EMISSIONS
  13. 13. 10% OF GLOBAL ELECTRIC POWER CONSUMPTION10% OF GLOBAL ELECTRIC POWER CONSUMPTION
  14. 14. 2.5 KG CO_2 FOR EVERY GB DATA2.5 KG CO_2 FOR EVERY GB DATA
  15. 15. WHAT TO DO?WHAT TO DO?
  16. 16. FIRST: AWARENESSFIRST: AWARENESS
  17. 17. SECOND: AVOID LAZY EMISSIONSSECOND: AVOID LAZY EMISSIONS
  18. 18. BARE METALBARE METAL VS.VS. DOCKER IMAGEDOCKER IMAGE
  19. 19. BARE METALBARE METAL Systemresourcen unausgelastet sperrig sharred Hos ng? One fits it all - Solu ons Zeit beim Bau
  20. 20. BUILD DOCKER IMAGESBUILD DOCKER IMAGES
  21. 21. FIRST EXAMPLEFIRST EXAMPLE FROM node:13 # install chrome for protractor tests RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key. echo "deb http://dl.google.com/linux/chrome/deb/ stable main" > apt-get update && apt-get install -y google-chrome-stable && rm -rf /var/lib/apt/lists/* # install and cache app dependencies COPY ./ . # add `/app/src/node_modules/.bin` to $PATH ENV PATH /app/src/node_modules/.bin:$PATH
  22. 22. FIRST EXAMPLEFIRST EXAMPLE
  23. 23. MULTISTAGE EXAMPLEMULTISTAGE EXAMPLE FROM node:13 as builder COPY ./ . ENV PATH /app/src/node_modules/.bin:$PATH WORKDIR /app/src RUN npm install && npm install -g @angular/cli FROM node:13 RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key. echo "deb http://dl.google.com/linux/chrome/deb/ stable main" > apt-get update && apt-get install -y google-chrome-stable && rm -rf /var/lib/apt/lists/* COPY ./ . COPY --from=builder /app/src/node_modules /app/src/ # add `/app/src/node modules/.bin` to $PATH
  24. 24. MULTISTAGE EXAMPLEMULTISTAGE EXAMPLE
  25. 25. SECOND EXAMPLESECOND EXAMPLE FROM node:13 # install chrome for protractor tests RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key. echo "deb http://dl.google.com/linux/chrome/deb/ stable main" > apt-get update && apt-get install -y google-chrome-stable && rm -rf /var/lib/apt/lists/*
  26. 26. SECOND EXAMPLSECOND EXAMPL
  27. 27. SECOND EXAMPLESECOND EXAMPLE FROM second/base # install and cache app dependencies COPY ./ . # add `/app/src/node_modules/.bin` to $PATH ENV PATH /app/src/node_modules/.bin:$PATH WORKDIR /app/src RUN npm install && npm install -g @angular/cli # start app CMD ng serve --host 0.0.0.0 --watch
  28. 28. SECOND EXAMPLESECOND EXAMPLE
  29. 29. THIRD EXAMPLETHIRD EXAMPLE FROM node:13 # install chrome for protractor tests RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key. echo "deb http://dl.google.com/linux/chrome/deb/ stable main" > apt-get update && apt-get install -y google-chrome-stable && rm -rf /var/lib/apt/lists/* RUN npm install && npm install -g @angular/cli
  30. 30. THIRD EXAMPLETHIRD EXAMPLE
  31. 31. THIRD EXAMPLETHIRD EXAMPLE FROM third/base # install and cache app dependencies COPY ./ . # add `/app/src/node_modules/.bin` to $PATH ENV PATH /app/src/node_modules/.bin:$PATH WORKDIR /app/src # start app CMD ng serve --host 0.0.0.0 --watch
  32. 32. THIRD EXAMPLETHIRD EXAMPLE
  33. 33. PIPELINESPIPELINES
  34. 34. CONCLUSIONCONCLUSION CI/CD ist nachhal g für So ware aber auch Resourcen Images Bau hat Einfluss auf den Footprint meiner Dev-Arbeit Pipelines ausgewogen und durchdacht
  35. 35. - DEARDEAR SCIENTISTS/ENGINIERSSCIENTISTS/ENGINIERS WE NEED NUMBERS!WE NEED NUMBERS!
  36. 36. LINKSLINKS DevelopersForFuture
  37. 37. THANKSTHANKS

×