Slide 1

Slide 1 text

NEOS MEETUP INTRODUCTION TO CI/CD WITH GITLAB AND KUBERNETES

Slide 2

Slide 2 text

SNOWFLAKE OPS AG spin-off hosting departement snowflake productions gmbh whitelabel hosting for web agencies/developers high performance, heavy automated running ~1500 applications for ~30 customers

Slide 3

Slide 3 text

AGENDA Gitlab features "Idea to Production" (most of it shamelessly stolen from about.gitlab.com ) Current status Forecast/Conclusion

Slide 4

Slide 4 text

SETUP Docker Kubernetes GitLab-Omnibus Helm Chart Helm Chart related to the project

Slide 5

Slide 5 text

DOCKER CONTAINERS multiple options Docker Hub: 96 repositories for "neos" create own containers keep continuous updates in mind

Slide 6

Slide 6 text

WORKFLOW

Slide 7

Slide 7 text

IDEA (CHAT) chat notifications / commands

Slide 8

Slide 8 text

PLAN: ISSUE

Slide 9

Slide 9 text

PLAN: BOARD Milestones, Labels EE: Story Points, Burndown Charts

Slide 10

Slide 10 text

CREATE: COMMIT & MERGE REQUEST new feature branch new environmont for this feature automatically added

Slide 11

Slide 11 text

FEATURE BRANCH ENVIRONMENT http://neos-website-review-1-replacei-tu433m.neosmeetup01.opsserver.ch/

Slide 12

Slide 12 text

DEVELOPMENT conventional development on local system local container from Gitlab registry feature branch environment Kubernetes

Slide 13

Slide 13 text

SHELL ACCESS access to feature branch environment Kubernetes Development (?) Debugging (✓)

Slide 14

Slide 14 text

REVIEW check changes Git diff, code review, discussions automatated tests, e.g. Behat manual tests on feature branch environment

Slide 15

Slide 15 text

MERGE REQUEST

Slide 16

Slide 16 text

PRODUCTION DEPLOYMENT for the sake of simplicity, we deploy to production directly we could insert a staging environment we could deploy production manually we, or our customer, could deploy production through chat

Slide 17

Slide 17 text

PRODUCTION http://neos-website.neosmeetup01.opsserver.ch/

Slide 18

Slide 18 text

CURRENT STATUS Containers in production since January 2016 (Gitlab, Discourse, Mailserver, CI) Web applications: Container pipeline up to and including review, production still conventional

Slide 19

Slide 19 text

GATHER EXPERIENCE reasonable project size? running updates security

Slide 20

Slide 20 text

FORECAST Ops hosting platform v6 as container 3rd party services (Elastic, Solr, Redis, ...) as container Autoscaling

Slide 21

Slide 21 text

CONCLUSION highly flexible multitude of new, exciting options benefit vs. complexity/costs

Slide 22

Slide 22 text

THANKS https://twitter.com/andristeiner https://speakerdeck.com/andristeiner