Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DevOpsPorto Meetup17: The Return of the Dull Stack Engineer by Kris Buytaert

DevOpsPorto Meetup17: The Return of the Dull Stack Engineer by Kris Buytaert

Talk delivered by Kris Buytaert

DevOpsPorto

June 19, 2018
Tweet

More Decks by DevOpsPorto

Other Decks in Technology

Transcript

  1. The Return of the Dull
    The Return of the Dull
    Stack Engineer
    Stack Engineer
    Kris Buytaert
    @krisbuytaert

    View Slide

  2. Kris Buytaert
    Kris Buytaert
    ● I used to be a Dev,
    I used to be a Dev,
    ● Then Became an Op
    Then Became an Op
    ● CTO and Open Source Consultant
    CTO and Open Source Consultant
    @
    @inuits.eu
    inuits.eu
    ● Everything is a freaking DNS
    Everything is a freaking DNS
    Problem
    Problem
    ● Evangelizing devops
    Evangelizing devops
    ● Organiser of #devopsdays,
    Organiser of #devopsdays,
    #cfgmgmtcamp, #loadays, ….
    #cfgmgmtcamp, #loadays, ….

    View Slide

  3. C(L)AMS
    C(L)AMS
    ● Culture
    Culture
    ● (Lean)
    (Lean)
    ● Automation
    Automation
    ● Measurement
    Measurement
    ● Sharing
    Sharing
    Damon Edwards and John
    Damon Edwards and John
    Willis

    View Slide

  4. A global movement to improve the
    A global movement to improve the
    quality of software delivery leveraging
    quality of software delivery leveraging
    Open Source experience, started in Gent
    Open Source experience, started in Gent
    in 2009
    in 2009

    View Slide

  5. Because the old days:
    Because the old days:
    ● “
    “Put this Code Live, here's a tarball”
    Put this Code Live, here's a tarball”
    NOW!
    NOW!
    ● What dependencies ?
    What dependencies ?
    ● No machines available ?
    No machines available ?
    ● What database ?
    What database ?
    ● Security ?
    Security ?
    ● High Availability ?
    High Availability ?

    View Slide

  6. 10 days into operations
    10 days into operations

    View Slide

  7. Topic Evolution : Culture
    Topic Evolution : Culture
    ● Agile, Kanban, Lean
    Agile, Kanban, Lean
    ● Startups as examples
    Startups as examples
    ● Unicorns
    Unicorns
    ● Poster Childs
    Poster Childs
    ● Agile, Fake Agile, Less,
    Agile, Fake Agile, Less,
    Safe,
    Safe,
    ● Enterprises as
    Enterprises as
    examples
    examples
    ● Engage management
    Engage management
    ● Burnout
    Burnout

    View Slide

  8. Topic Evolution : Automation
    Topic Evolution : Automation
    ● Cfengine, Puppet, Chef
    Cfengine, Puppet, Chef
    ● Mcollective, Noah,
    Mcollective, Noah,
    Rundeck
    Rundeck
    ● Hudson, Jenkins
    Hudson, Jenkins
    ● EC2, OpenStack,
    EC2, OpenStack,
    Cloudstack,
    Cloudstack,
    Eucalyptus,OpenNebul
    Eucalyptus,OpenNebul
    a, openQRM
    a, openQRM
    ● Bash in Yaml “Basic”
    Bash in Yaml “Basic”
    ● Ansible, Rundeck,
    Ansible, Rundeck,
    Choria
    Choria
    ● Jenkins, GitlabCI,
    Jenkins, GitlabCI,
    CircleCI, TravisCI
    CircleCI, TravisCI
    ● EC2, GCE, Azure,
    EC2, GCE, Azure,
    OpenStack,
    OpenStack,

    View Slide

  9. Topic Evolution : Automation
    Topic Evolution : Automation
    ● Xen, KVM, openVZ, lxc
    Xen, KVM, openVZ, lxc
    ● Vagrant
    Vagrant
    ● Linux-HA, CoroSync
    Linux-HA, CoroSync
    ● Ceph, Gluster, DRBD,
    Ceph, Gluster, DRBD,
    ● Docker , Docker,
    Docker , Docker,
    Docker, Docker, Moby,
    Docker, Docker, Moby,
    Rkt, lxc
    Rkt, lxc
    ● CR-IO
    CR-IO
    ● Docker , Docker,
    Docker , Docker,
    Dockrer,Mesos,
    Dockrer,Mesos,
    Kubernetes
    Kubernetes
    ● NFS
    NFS

    View Slide

  10. Topic Evolution : Monitoring
    Topic Evolution : Monitoring
    ● Nagios
    Nagios
    ● Cacti
    Cacti
    ● Munin
    Munin
    ● RRD
    RRD
    ● Zenoss, Zabbix
    Zenoss, Zabbix
    ● #monitoringsucks
    #monitoringsucks
    ● Icinga
    Icinga
    ● ELK
    ELK
    ● Graphite + Grafana
    Graphite + Grafana
    ● Collectd
    Collectd
    ● Prometheus
    Prometheus
    ● #monitoringlove
    #monitoringlove

    View Slide

  11. Culture vs Tools
    Culture vs Tools

    View Slide

  12. These Days
    These Days
    ● “
    “Put this Code Live, here's a Docker
    Put this Code Live, here's a Docker
    Container ”
    Container ”
    ● No machines available ?
    No machines available ?
    ● What database ? Where to store the
    What database ? Where to store the
    data ?
    data ?
    ● Security ? What distro is this even ?
    Security ? What distro is this even ?
    Bad Cows ?
    Bad Cows ?
    ● How do we monitor his ?
    How do we monitor his ?
    ● Backups ?
    Backups ?
    ● How did you build this ?
    How did you build this ?

    View Slide

  13. Tools will not fix your
    Tools will not fix your
    broken culture
    broken culture
    Tooling hype is not helping
    Tooling hype is not helping

    View Slide

  14. Hype Season
    Hype Season
    ● Conference Visitors numbers skyrocket
    Conference Visitors numbers skyrocket

    OpenStack 3000+ marketeers
    OpenStack 3000+ marketeers

    DockerCon : 1000+ devs & unicorns
    DockerCon : 1000+ devs & unicorns

    Kube Con : 1500+ unicorns & vendors
    Kube Con : 1500+ unicorns & vendors
    ● Everybody claims to be doing it , nobody
    Everybody claims to be doing it , nobody
    is actually doing it.
    is actually doing it.

    View Slide

  15. Why adopt shiny new stuff ?
    Why adopt shiny new stuff ?
    ● Attention Span ?
    Attention Span ?
    ● Resume building ?
    Resume building ?

    0.5 year = novice in 20 techs
    0.5 year = novice in 20 techs
    vs
    vs

    7 year = expert in 4 techs
    7 year = expert in 4 techs

    View Slide

  16. Works on My Machine
    Works on My Machine

    View Slide

  17. New != Better
    New != Better
    ● It’s called Bleeding edge for a
    It’s called Bleeding edge for a
    reason
    reason
    ● Missing Features
    Missing Features
    ● Operatability
    Operatability
    ● Stability
    Stability

    View Slide

  18. Hello world today
    Hello world today
    ● Micro service architecture
    Micro service architecture
    ● Displaying content in a file
    Displaying content in a file
    ● Kubernetes 2.6+ Storage
    Kubernetes 2.6+ Storage
    ● OpenStack
    OpenStack

    View Slide

  19. Complexity is the
    Complexity is the
    enemy of reliability
    enemy of reliability

    View Slide

  20. U are not facebook
    U are not facebook

    View Slide

  21. U are not Linkedin
    U are not Linkedin
    ● Kafka is awesome
    Kafka is awesome
    ● But you have 100 messages an hour
    But you have 100 messages an hour

    View Slide

  22. Welcome to Europe
    Welcome to Europe

    View Slide

  23. Why don’t ops adopt ?
    Why don’t ops adopt ?
    ● They do ..
    They do ..

    It just takes more time
    It just takes more time

    More worries
    More worries

    More care
    More care

    View Slide

  24. Improve your sleep
    Improve your sleep
    Put your {devs,managers,qa}
    Put your {devs,managers,qa}
    ON CALL !
    ON CALL !

    View Slide

  25. Why don’t ops adopt ?
    Why don’t ops adopt ?
    ● We already fixed that problem
    We already fixed that problem
    ● We have a different use case
    We have a different use case
    ● That won’t work because
    That won’t work because

    A
    A

    B
    B

    C
    C
    ● Cool lets try it ..
    Cool lets try it ..

    View Slide

  26. Puppet Adoption
    Puppet Adoption
    ● Focus on the wrong part
    Focus on the wrong part

    Expert in Puppet
    Expert in Puppet

    Doesn’t understand apache config
    Doesn’t understand apache config

    View Slide

  27. Operations trying to adopt
    Operations trying to adopt

    View Slide

  28. $$$$$$$$$$$$$$$
    $$$$$$$$$$$$$$$
    ● We don’t have time
    We don’t have time
    ● Initial Budget was too low,
    Initial Budget was too low,
    unrealistic
    unrealistic
    ● Existing Technical Debt
    Existing Technical Debt
    ● Firefighting
    Firefighting
    ● Time pressured project
    Time pressured project

    View Slide

  29. Operations
    Developers
    Security

    View Slide

  30. Workload is inverted
    Workload is inverted
    ● X devs work on 1-2 concurrent
    X devs work on 1-2 concurrent
    projects
    projects
    ● X/20 ops/security work on all the
    X/20 ops/security work on all the
    projects the devs touched over the
    projects the devs touched over the
    past 5 years
    past 5 years
    ● AND need to build the next gen
    AND need to build the next gen
    platform
    platform

    View Slide

  31. ● Grumpy
    Grumpy

    Woken up one
    Woken up one
    to many times
    to many times
    for the wrong
    for the wrong
    reason
    reason
    ● Old , aka
    Old , aka
    Experienced
    Experienced
    Typical Ops Dude
    Typical Ops Dude

    View Slide

  32. View Slide

  33. View Slide

  34. Devops = Cool
    Devops = Cool
    ● All the cool kids are doing this
    All the cool kids are doing this
    ● We want to be cool
    We want to be cool
    ● People only want to work for cool
    People only want to work for cool
    companies
    companies
    ● Banks etc are boring
    Banks etc are boring

    View Slide

  35. FOMO
    FOMO
    ● We need to do something Cool
    We need to do something Cool

    Docker Docker Docker
    Docker Docker Docker

    Bi Modal
    Bi Modal

    View Slide

  36. Broken Strategies
    Broken Strategies
    ● Hiring Devops Engineers
    Hiring Devops Engineers
    ● Building Devops Teams
    Building Devops Teams
    ● Docker Docker Docker => VM’s as
    Docker Docker Docker => VM’s as
    Containers
    Containers
    s/ops/oops/g;
    s/ops/oops/g;

    View Slide

  37. Tools will not fix your
    Tools will not fix your
    broken culture
    broken culture
    Tooling hype is not helping
    Tooling hype is not helping

    View Slide

  38. View Slide

  39. YOLO
    YOLO
    ● Startup
    Startup
    ● VC
    VC
    ● Exit Strategy
    Exit Strategy
    ● Business
    Business
    ● Customer
    Customer
    ● Survival
    Survival

    View Slide

  40. Late Adoption
    Late Adoption
    ● You need to do IAC
    You need to do IAC
    ● We don’t need IAC
    We don’t need IAC
    ● You really need to do IAC
    You really need to do IAC
    ● IAC is too difficult for us ..
    IAC is too difficult for us ..
    ● Really you need to do IAC
    Really you need to do IAC
    ● We’re doing Ansible now …
    We’re doing Ansible now …

    View Slide

  41. View Slide

  42. 0 day software
    0 day software
    0900: “Whow Hashicorp released
    0900: “Whow Hashicorp released
    Consul X.Y”
    Consul X.Y”
    Let’s have this in prod by this
    Let’s have this in prod by this
    afternoon
    afternoon
    Ego driven development
    Ego driven development

    View Slide

  43. R&D vs Prod
    R&D vs Prod
    ● Schedule time to Research new topics
    Schedule time to Research new topics
    ● Not all of them are irrelevant
    Not all of them are irrelevant
    ● But limit the number of patterns you need to manage
    But limit the number of patterns you need to manage
    ● e.g Limited number of OS Variants, Deployment
    e.g Limited number of OS Variants, Deployment
    Patterns, Storage Backends
    Patterns, Storage Backends

    View Slide

  44. Stop Dreaming
    Stop Dreaming
    There is no way your 3 person ops team can manage
    There is no way your 3 person ops team can manage
    and scale VMWare, EC2, Azure, OpenStack, RHEV,
    and scale VMWare, EC2, Azure, OpenStack, RHEV,
    Gluster, DRBD, LibVirt,NFS, Ceph, Mongo, MySQL,
    Gluster, DRBD, LibVirt,NFS, Ceph, Mongo, MySQL,
    PgSQL, Cassandra, mcollective, Rabbit, collectd,
    PgSQL, Cassandra, mcollective, Rabbit, collectd,
    dhcpd, sonar, aptly,ActiveMQ, Kafka, Nomad,
    dhcpd, sonar, aptly,ActiveMQ, Kafka, Nomad,
    zookeeper, haproxy, iptables, Consul, Etcd, Puppet,
    zookeeper, haproxy, iptables, Consul, Etcd, Puppet,
    Cacti, corosync, Docker Distribution, vault, bind,
    Cacti, corosync, Docker Distribution, vault, bind,
    owncloud, openswan,Nexus, Redmine, diamond,
    owncloud, openswan,Nexus, Redmine, diamond,
    Jenkins,Mule, GoCD, Chef, memcached, foreman, PHP,
    Jenkins,Mule, GoCD, Chef, memcached, foreman, PHP,
    Java,Ruby, nextcloud, Kubernetes, pulp, Spring Boot,
    Java,Ruby, nextcloud, Kubernetes, pulp, Spring Boot,
    Ansible, Django, Apache Storm, redis, Nginx, Apache
    Ansible, Django, Apache Storm, redis, Nginx, Apache
    httpd, Jboss, Jetty, Hadoop, Elastic, Graphite, Grafana,
    httpd, Jboss, Jetty, Hadoop, Elastic, Graphite, Grafana,
    freeswan, Graylog, Apache Spark, Bamboo, Jira
    freeswan, Graylog, Apache Spark, Bamboo, Jira

    View Slide

  45. Stop Dreaming
    Stop Dreaming
    There is no way your 3 person ops team can manage
    There is no way your 3 person ops team can manage
    and scale
    and scale VMWare,
    VMWare, EC2,
    EC2, Azure,
    Azure, OpenStack,
    OpenStack, RHEV,
    RHEV,
    Gluster, DRBD, LibVirt,
    Gluster, DRBD, LibVirt,NFS,
    NFS, Ceph, Mongo, MySQL,
    Ceph, Mongo, MySQL,
    PgSQL,
    PgSQL, Cassandra,
    Cassandra, mcollective, Rabbit, collectd,
    mcollective, Rabbit, collectd,
    dhcpd, sonar, aptly,ActiveMQ,
    dhcpd, sonar, aptly,ActiveMQ, Kafka
    Kafka,
    , Nomad,
    Nomad,
    zookeeper, haproxy, iptables, Consul, Etcd, Puppet,
    zookeeper, haproxy, iptables, Consul, Etcd, Puppet,
    Cacti,
    Cacti, corosync,
    corosync, Docker Distribution,
    Docker Distribution, vault, bind,
    vault, bind,
    owncloud, openswan,Nexus, Redmine,
    owncloud, openswan,Nexus, Redmine, diamond,
    diamond,
    Jenkins,
    Jenkins,Mule, GoCD, Chef, memcached,
    Mule, GoCD, Chef, memcached, foreman, PHP,
    foreman, PHP,
    Java,Ruby, nextcloud, Kubernetes, pulp,
    Java,Ruby, nextcloud, Kubernetes, pulp, Spring Boot,
    Spring Boot,
    Ansible, Django, Apache Storm, redis, Nginx, Apache
    Ansible, Django, Apache Storm, redis, Nginx, Apache
    httpd,
    httpd, Jboss, Jetty,
    Jboss, Jetty, Hadoop,
    Hadoop, Elastic, Graphite, Grafana,
    Elastic, Graphite, Grafana,
    freeswan, Graylog, Apache Spark, Bamboo, Jira
    freeswan, Graylog, Apache Spark, Bamboo, Jira

    View Slide

  46. Full Stack Engineer
    Full Stack Engineer
    ● Knows the MEAN Stack
    Knows the MEAN Stack
    ● Is still confused about
    Is still confused about
    the Javascript
    the Javascript
    framework he wants to
    framework he wants to
    use yesterday
    use yesterday
    ● Is familiar with all the
    Is familiar with all the
    previously mentioned
    previously mentioned
    tools
    tools
    ● Understands the Linux
    Understands the Linux
    Kernel
    Kernel
    ● Debugs Java Code
    Debugs Java Code
    ● Understands Networking
    Understands Networking
    and Security
    and Security
    ● Understands deployment
    Understands deployment
    ● Tunes Databases
    Tunes Databases

    View Slide

  47. Dull Stack Engineer
    Dull Stack Engineer

    View Slide

  48. Dull Stack Engineer
    Dull Stack Engineer
    ● Knows the stack in depth
    Knows the stack in depth
    ● Invests in people
    Invests in people
    ● Knows his coworkers in depth
    Knows his coworkers in depth
    ● Is there for the business, not for the
    Is there for the business, not for the
    fun of the new tool
    fun of the new tool

    View Slide

  49. $value
    $value
    ● Devops is about generating value
    Devops is about generating value
    for your organisation , together
    for your organisation , together
    ● What’s the value of shiny $tool vs
    What’s the value of shiny $tool vs
    boring tool ?
    boring tool ?

    View Slide

  50. Back to the roots
    Back to the roots
    ● Collaborating for a better platform
    Collaborating for a better platform
    ● Open Source
    Open Source
    ● Empathy
    Empathy
    ● Common Sense
    Common Sense

    View Slide

  51. Contact
    Contact
    Kris Buytaert [email protected]
    Kris Buytaert [email protected]
    Further Reading
    Further Reading
    @krisbuytaert
    @krisbuytaert
    http://www.krisbuytaert.be/blog/
    http://www.krisbuytaert.be/blog/
    http://www.inuits.eu/
    http://www.inuits.eu/
    Find Inuits in
    Find Inuits in
    Brasschaat,Ghent
    Brasschaat,Ghent
    ,
    ,
    Rotterdam,Pragu
    Rotterdam,Pragu
    e,
    e,

    View Slide