Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Making Docker and Kubernetes a success at your Company

56 views

Published on

Don't miss this talk if you are critical about how Kubernetes can be helpful to you. We will talk about the benefits and downsides of using Kubernetes and how to take docker and kubernetes from theory to practice as your company.

Story of how we took Connected Cars from nothing to a full self-serving platform in one year.

Key takeaways:

How to tame the microservice hell

The best adoption starts from the developers

Repeatable builds

Docker and Continues Integration is the 20% effort with 80% gains

Kubernetes is complex but worth it, takes the scary out of deploying

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Making Docker and Kubernetes a success at your Company

  1. 1. Docker
 &
 Kubernetes
  2. 2. and how to make it a success at your company!
  3. 3. Kubernetes
 is
 Hard
  4. 4. Right choice 
 for everyone
  5. 5. There is the reason
  6. 6. Do not reinvent the wheel
  7. 7. x companies = x different setups
  8. 8. = lot of money to consultants
  9. 9. Nobody wants to work on old projects
  10. 10. unless..
  11. 11. they are paid a lot $$$
  12. 12. let us analyze!
  13. 13. why is it so nice to start from scratch?
  14. 14. new 
 framework?
  15. 15. you can actually find 
 the documentation
  16. 16. it starts quickly
  17. 17. inherit knowledge
  18. 18. Why don’t we start from scratch?
  19. 19. - you are not allowed - it is difficult - other teams - hardware - metrics - maintainability - scalability

  20. 20. My stories
  21. 21. IT consultants
 The bus-factor?
  22. 22. Danish Energy Provider Platform?
  23. 23. Ad agency
 Resource control?
  24. 24. Job Portal
 Maintainability?
  25. 25. Kubernetes
 =
 commodity
  26. 26. Kubernetes = ground layer
  27. 27. Initial problems: - not allowed - it is difficult - another team - hardware - metrics - maintainability - scaleability
  28. 28. They can be solved, once!
  29. 29. framework
 also building blocks
  30. 30. money
  31. 31. saving money by raising utilization
  32. 32. ghost resources?
  33. 33. Kubernetes give insights & commitments
  34. 34. Deployment: 10 replicas
  35. 35. You are not saying: 10 machines
  36. 36. Over-provisioning?! RAM
 CPU DISK
  37. 37. Kubernetes you don’t worry about resources
  38. 38. auto-scaling
  39. 39. how does autoscaling nodes work?
  40. 40. current load total capacity<
  41. 41. What else than saving money?
  42. 42. Metrics are hard?
  43. 43. Metrics = insights for scaling
  44. 44. ops devops/devs appdeploy
  45. 45. ops devops/devs app deploy inject
  46. 46. what can they inject? - prometheus - grafana
  47. 47. service-mesh - envoy - istio - conduit
  48. 48. inject trust?
  49. 49. How does it work? RBAC
  50. 50. kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: gitkube subjects: - kind: ServiceAccount name: gitkube namespace: kube-system roleRef: kind: ClusterRole name: cluster-admin apiGroup: rbac.authorization.k8s.io
  51. 51. micro-services 0 20 40 60 80 maintain create
  52. 52. Ingress
  53. 53. Ingress Easy micro-services
  54. 54. Ingress complex micro-services 500 200
  55. 55. Better monitoring Less coordination Save money
  56. 56. So much free time now?
  57. 57. Chaos Engineering?
  58. 58. Getting more responsibility with more tools
  59. 59. Azure Container Instances & AWS FarGate
  60. 60. Virtual Kube-let = Per sec billing
  61. 61. Reach a new level and moved beyond bare metal
  62. 62. but my boss wouldn’t let me!
  63. 63. Kubernetes is small - start on your own!
  64. 64. You are making less errors, focusing more on security and insights
  65. 65. Connected Cars on Kubernetes
  66. 66. Kubernetes New Types
  67. 67. apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: remotes.gitkube.sh spec: group: gitkube.sh version: v1alpha1 scope: Namespaced names: plural: remotes singular: remote kind: Remote shortNames: - rem
  68. 68. apiVersion: gitkube.sh/v1alpha1 kind: Remote metadata: name: sampleremote namespace: default spec: # Insert ssh-keys for allowing users to git push authorizedKeys: - "ssh-rsa your-ssh-public-key" # Provide registry details: https://github.com/hasura/gitkube/blob/master/docs/registry.md registry: url: "docker.io/user" credentials: secretRef: regsecret # Name of docker-registry secret # Define deployment rules deployments: - name: www # Name of K8s deployment which is updated on git push containers: - name: www # Name of container in the deployment which is built during git push path: example/www # Docker build context path in the git repo dockerfile: example/www/Dockerfile # Location of Dockerfile for the source code
  69. 69. Thank you! kevin.simper@gmail.com @kevinsimper

×