How people build software ! ! Introduction 3 • Joined Dec. 2015 • At my previous company I • Developed Web applications, platform systems • Managed tools like GitHub Enterprise
How people build software ! ! How many companies are using GitHub Enterprise 5 1500 companies are using GitHub Enterprise. About 10% of them are Japanese companies.
How people build software ! ! Limitation of Access to repositories 12 A repository limited to only a company A repository limited to only specific person in your company There's a difference for limitation of access to repositories between GitHub.com and GitHub Enterprise
How people build software ! ! Limitation of Access on GitHub.com 13 To limit access, you must: • Use private repositories in an organization. • Add specific users to the repository or organization. • Or, add users to organization teams.
How people build software ! ! Limitation of Access on GitHub Enterprise 14 •You can use public repositories to give access to all company users. • Add specific users to private repositories or organizations. •Or, add users to organization teams.
How people build software ! ! Authentication methods 15 • Built-in • CAS • LDAP • SAML • Azure AD • Okta • OneLogin • PingOne • Shibboleth It’s easy to use an existing authentication system to manage users on your instance.
How people build software ! ! SNMP 20 https://help.github.com/enterprise/2.9/admin/articles/monitoring-using-snmp/ GitHub Enterprise supports a standard SNMP so that you can monitor the system status using monitoring tools like Nagios.
How people build software ! ! collectd 22 GitHub Enterprise collects system data with collectd and can send them to an external collectd server • RRD files • CSV files
How people build software ! ! Log forwarding 24 GitHub Enterprise uses syslog-ng to forward system and application logs to a server. e.g) Logstash, splunk, etc. https://help.github.com/enterprise/2.9/admin/articles/log-forwarding/
How people build software ! ! Backup Utilities 30 • Our product •https://github.com/github/backup-utils •The official way to do backups •You can recover from corrupted data.
How people build software ! ! Backup Utilities 31 •Complete GitHub Enterprise backup and recovery system via two simple utilities: • ghe-backup • ghe-restore • You can make a backup when the GitHub Enterprise instance is running. • Incremental backup of Git repository data. • Recommend scheduling the backup hourly using a cron job:
How people build software ! ! High Availability replication 35 • Active/Passive configuration • One-way, asynchronous replication of all datastores (Git repositories, MySQL, Redis, and Elasticsearch)
How people build software ! ! Recovery from system disaster 38 Backup Utilities •Data loss •Data corruption High Availability replication •Network trouble •Hardware trouble
How people build software ! ! Support 40 Web Support for GitHub.com • https://github.com/support • Users of GitHub.com Enterprise Support for GitHub Enterprise • https://enterprise.github.com/support • System administrators of GitHub Enterprise
How people build software ! ! Support 41 Web Support for GitHub.com • https://github.com/contact • Users of GitHub.com Enterprise Support for GitHub Enterprise • https://enterprise.github.com/support • System administrators of GitHub Enterprise
How people build software ! ! Support time 43 https://help.github.com/enterprise/2.9/admin/guides/enterprise-support/ Standard ticket, •24 hours a day, 5 days a week in English Urgent ticket, •24 hours a day, 7 days a week in English
How people build software ! ! How customers communicate with us 52 • Email address • Subject • Description • Severity • Urgent • High • Moderate • Low • GitHub Enterprise Series • Attachments (logs, screenshot of a page)
How people build software ! ! Tickets 53 A customer opens a ticket: • System disaster • Bug report • Feature request • Questions • How to upgrade • Explain features • etc.
How people build software ! ! 54 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 • Check if we can reproduce the issue • Fix the bug • If appropriate, provide a workaround Investigation
How people build software ! ! How customers communicate with us 56 Diagnostics • an overview of a GitHub Enterprise instance's settings and environment. Support Bundle • a compressed archive that contains logs and other important information from your instance.
How people build software ! ! We provide Japanese language support 58 Standard ticket, •24 hours a day, 5 days a week in English •8 hours (9:00am-5:00pm) a day, 5 days a week in Japanese Urgent ticket, •24 hours a day, 7 days a week in English
How people build software ! ! System spec 64 https://help.github.com/enterprise/2.9/admin/guides/installation/provisioning-and-installation/ A low spec instance can be the cause of many system problems. You should configure enough resources like memory, CPUs, and storage.
How people build software ! ! Poor IO 66 Poor IO has the potential to cause problems on a busy instance IO throughput • 45 MB/sec ŋŋŋ our minimum recommendation. • 100MB/sec ŋŋŋ our recommendation.
How people build software ! ! Polling 68 Excessive polling causes traffic or high load on a GitHub Enterprise instance which can lead to resource contention and potentially DOS the instance. Instead use webhooks to avoid unnecessary traffic to the GitHub Enterprise instance.
How people build software ! ! Recovery from system disaster 70 To recover the GitHub Enterprise instance from system disaster quickly, we recommend configuring Backup Utilities and High Availability replication.
How people build software ! ! Specific issues in Japan 72 •Japanese characters •The file/directory name •A double-byte space •A Shift_JIS encoded file •Character corruption If you run into a problem or if you have any requests, please give us a bug report or a feature request.
How people build software ! Don’t hesitate to open a ticket when you have any questions or if you have any concerns or problems. 74 https://enterprise.github.com/support
How people build software ! Don't change the settings without guidance from Enterprise Support to avoid making the problem worse. 76 https://enterprise.github.com/support
How people build software ! ! The required skills 80 Technical skills • System Administrator experience. • Being a user of GitHub or GitHub Enterprise.
How people build software ! ! The required skills 82 Communication skills •with your internal engineers (e.g. LDAP administrator) •with GitHub •with users on the GitHub Enterprise