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

support engineer night

pnsk
February 07, 2018

support engineer night

The slides I talked at the Support Engineer Night event https://techplay.jp/event/651515

pnsk

February 07, 2018
Tweet

More Decks by pnsk

Other Decks in Technology

Transcript

  1. How people build software
    !
    "
    Fun working as a GitHub Enterprise Support Engineer

    View Slide

  2. How people build software
    !
    Introduction
    2
    !
    apnsk

    View Slide

  3. How people build software
    !
    Introduction
    3
    !
    Enterprise Support Engineer
    Joined in Dec. 2015

    View Slide

  4. How people build software
    !
    Introduction
    4
    !
    Japanese language Support

    View Slide

  5. How people build software
    !
    Introduction
    5
    !
    Chako

    View Slide

  6. How people build software
    !
    What is GitHub Enterprise?
    6
    !

    View Slide

  7. How people build software
    ! 7
    On-premise version of GitHub

    View Slide

  8. How people build software
    !
    Hosting options
    8
    !
    • AWS
    • Google Cloud Platform
    • VMWare
    • Azure
    • OpenStack KVM
    • XenServer
    • Hyper-V

    View Slide

  9. How people build software
    !
    System design of GitHub Enterprise
    9
    !
    API
    Admin
    User
    MySQL
    Elasticsearch
    Redis
    Rails Application

    View Slide

  10. How people build software
    !
    User features
    10
    !
    •Collaboration features
    •Issues/Pull Requests
    •Projects
    •Teams
    •Integrations
    •Wikis
    •GitHub Pages

    View Slide

  11. How people build software
    !
    Git LFS
    11
    !
    https://github.com/git-lfs/git-lfs
    • Git extension for versioning large files
    • Open sourced
    • Golang

    View Slide

  12. How people build software
    !
    Authentication methods
    12
    !
    •Built-in
    •CAS
    •LDAP
    •SAML
    •Azure AD
    •Okta
    •OneLogin
    •PingOne
    •Shibboleth

    View Slide

  13. How people build software
    !
    Recovery from system disaster
    13
    !
    • Backup Utilities
    • High Availability replication

    View Slide

  14. How people build software
    !
    Migration
    14
    !
    • ghe-migrator
    • Easy to migrate from GitHub.com/GitHub Enterprise
    to GitHub Enterprise

    View Slide

  15. How people build software
    !
    GitHub Enterprise releases
    15
    !
    We aim for:
    1 patch release per 2 weeks,
    1 feature release per 3 months

    View Slide

  16. How people build software
    !
    How does an Enterprise
    Support Engineer work?
    16
    !

    View Slide

  17. How people build software
    !
    Enterprise Support teams
    17
    !
    •Asia-Pacific
    •Europe
    •America

    View Slide

  18. How people build software
    !
    Where do we work?
    18
    !
    Office Cafe Home

    View Slide

  19. How people build software
    ! 19
    Work from anywhere,
    Communicate very often.

    View Slide

  20. How people build software
    !
    Collaboration
    20
    !
    Chat Video Chat
    GitHub

    View Slide

  21. How people build software
    !
    Communication on Slack
    21
    !
    • Casual chat
    • Technical discussion
    • Share information
    • Ask and answer questions

    View Slide

  22. How people build software
    !
    Collaboration on GitHub
    22
    !
    Share knowledge
    • Knowledge Base articles
    Ask questions
    • Open an issue on the Enterprise Support
    repository
    Bug reports
    • Open an issue on the appropriate repository

    View Slide

  23. How people build software
    !
    Meetings on Zoom
    23
    !
    • Team meeting
    • Technical pairing
    • 1-on-1
    etc.

    View Slide

  24. How people build software
    !
    Mini-summits
    24
    !
    Las Vegas Melbourne Kyoto

    View Slide

  25. How people build software
    ! 25

    View Slide

  26. How people build software
    !
    Tickets
    26
    !
    A customer opens a ticket:
    • System disaster
    • Bug report
    • Feature request
    • Question
    • How to upgrade
    • Explain a feature
    • etc.

    View Slide

  27. How people build software
    ! 27
    We can’t access the customer instance.

    View Slide

  28. How people build software
    !
    How we get information from our customers
    28
    !
    Output of commands
    • e.g.
    • Rails console
    • MySQL queries

    View Slide

  29. How people build software
    !
    How we get information from our customers
    29
    !
    Diagnostics
    • an overview of an instance's settings and environment, and a
    snapshot of its health
    Support Bundle
    • an archive that includes diagnostics and important logs from the
    instance
    Use our own tools that we ship on the GitHub Enterprise instance:

    View Slide

  30. How people build software
    !
    Investigation
    30
    !
    To help our customers when they have problems we:
    • See if there is an existing internal issue about the problem
    • Get instance logs from the customer and investigate
    • Try to reproduce the issue
    • Fix the bug
    • If appropriate, provide a workaround

    View Slide

  31. How people build software
    ! 31
    Swarming

    View Slide

  32. How people build software
    ! 32
    Purposes
    • Collaboration
    • Knowledge sharing
    • Faster response to customers
    Three Swarms
    1. Priority
    2. Triage
    3. Backlog

    View Slide

  33. How people build software
    ! 33
    To work efficiently

    View Slide

  34. How people build software
    ! 34
    ;es;ghe GitHub Enterprise
    ;link;rl https://enterprise.github.com/releases/
    ;es;link;sb
    [Support Bundle](https://help.github.com/enterprise/
    2.12/admin/guides/enterprise-support/providing-data-
    to-github-enterprise-support/#support-bundle)
    ;sh;ghe;version
    grep 'RELEASE_VERSION' /etc/github/enterprise-
    release
    ;es;ask;question
    Please let me know if you have any further questions
    about this.
    ;jes;ask;question
    ͦͷଞෆ໌఺΍࣭໰ͳͲ͋Γ·ͨ͠Βɺ͓ؾܰʹ͝࿈
    བྷ͍ͩ͘͞ɻ

    View Slide

  35. How people build software
    ! 35
    Writing scripts

    View Slide

  36. How people build software
    ! 36
    ghe-migrator add /
    ghe-migrator export
    ghe-migrator prepare
    ghe-migrator conflicts
    ghe-migrator map
    ghe-migrator import
    ghe-migrator unlock
    On the source instance:
    On the target instance:

    View Slide

  37. How people build software
    ! 37
    sh halogen /,/

    View Slide

  38. How people build software
    ! 38
    Scan a support bundle.

    View Slide

  39. How people build software
    ! 39
    Fix bugs

    View Slide

  40. How people build software
    ! 40
    • Launch GitHub Enterprise
    application on my local machine.
    • Check the change on it.
    • Deploy the change using chatops in
    Slack.
    • Open a pull request
    • With the bug fix
    change.
    • With a unit test.

    View Slide

  41. How people build software
    !
    How much fun it is to work as an
    Enterprise Support Engineer
    41
    !

    View Slide

  42. How people build software
    ! 42
    Learn many technical areas:
    • By working on tickets
    – Requires various technical skills
    • By discussing with other engineers
    – Learn knowledge from co-workers
    • By debugging code
    – Get good feedback about code

    View Slide

  43. How people build software
    !
    "

    View Slide