"1st GitHub Enterprise User Conference" report

2018/03/01 (Thu)

GitHub Enterprise users gather in Shibuya! A collaborative day sharing real on-site know-how and knowledge

On March 1st, the 1st GitHub Enterprise User Conference was held at TECH PLAY SHIBUYA in Shibuya, Tokyo, and ended with great success.

GitHub Enterprise, the on-premises version of the software development platform GitHub, is attracting attention as one of the most desirable development environments for engineers involved in coding at companies, and its use is rapidly expanding. This was the first user meeting held by Macnica, which plays the role of the company's primary domestic distributor, and the venue was packed with engineers. In an enthusiastic atmosphere of like-minded people, sessions like lightning talks were held one after another, making it a very informative four hours. This time we will introduce the overview.

70 people came to the venue, TECH PLAY SHIBUYA in Shibuya, Tokyo.

Original T-shirts were provided by GitHub and distributed to all participants.
Unlimited stickers of the popular GitHub character "Octocat"!

Nearly three years have passed since GitHub Enterprise was fully deployed in Japan

At the opening of the meeting, Tatsuya Nemoto, Manager of the 4th Section, Application Sales Department, Sales Division, Macnica, gave a speech and said, ``It has been nearly three years since we became a primary distributor in Japan in June 2015, and we have been working with over 100 companies to date. We are using GitHub Enterprise.With this in mind, we have been receiving many questions from our customers about how other companies are using GitHub Enterprise and how they are managing operations. "We wanted to create a place where people could exchange information, so we decided to hold a user meeting for the first time," he said.

“We are very excited to host the first GitHub Enterprise user meeting.”
Macnica 's roots speak with

Expectations for new functions that further improve developer productivity and security

Mr. Paterson, a solution engineer from GitHub head office, came to Japan for this user conference. In the opening session, the latest roadmap for further enhancement of management and security functions of GitHub.com Business / GitHub Enterprise, enhancement of functions and expansion plans to realize the best of breed will be presented only to the participants at the venue. released.

Mr. Patterson from GitHub headquarters also made an emergency visit to Japan

Unfortunately, we are unable to share this information in this report as it is still confidential, but Macnica will be providing information in the near future, so please look forward to it.

DMM.com Unveils Its Deployment Automation Methodology

The number of domestic companies using GitHub Enterprise is rapidly increasing. At the user conference, we also had case study sessions given by companies that Macnica has supported. The first speaker was Hironori Sato of DMM.com.

Mr. Sato of DMM.com

DMM.com, which operates a comprehensive entertainment site "DMM.com" with 2.5 billion page views per month and more than 28 million members, introduced GitHub Enterprise and CircleCI at almost the same time. It enables DevOps and social coding, improving development efficiency through automation and realizing rapid service delivery.
This time, Mr. Sato used his own company's operations as a case study and explained mainly the automation of deployment. “The deployment infrastructure of DMM.com is not only the application, but also the infrastructure is coded and hosted on GitHub Enterprise. Terraform updates the infrastructure configuration on AWS,” explains Sato.

Figure 1 DMM.com achieves deployment automation by linking GitHub Enterprise and CircleCI

Deploying an application involves committing changes on the feature branch and pushing them to GitHub Enterprise, which triggers static analysis and testing on CircleCI. If there is no problem after review by the reviewer, the CircleCI job is executed by merging the branch targeted for the pull request, and Packer registers the AMI on AWS.

Infrastructure deployment follows a similar flow, but since infrastructure is not updated as often as apps, deploy the application and register the latest AMI on AWS. After that, update the AMI of the application pool that is not running (Blue-Green Deployment) to the latest, and switch the target group of the load balancer to the new one.

Mr. Sato says, "Since the infrastructure deployment is all automated in this way, we can update the application to the latest state simply by rebuilding the repository."

Finally, I also mentioned ChatOps powered by CircleCI. Deployment by ChatOps is used by sending a message to Hubot through Slack and hitting the CircleCI API. Regarding the reason for choosing ChatOps, Mr. Sato says, "In addition to being able to execute jobs from anywhere at any time, the point is that we can efficiently develop and operate by consolidating job execution and result notifications."

Ricoh has built a development platform for high-speed, high-quality software development, which is becoming increasingly complex.

Yuta Nakane of RICOH COMPANY,LTD. Digital Promotion Division took the podium in another case session.

Mr. Nakane of RICOH COMPANY,LTD., Ltd.

"Ricoh's main product, MFPs, have different functions depending on the region and industry, and the combination of embedded software is very complicated due to the intertwining of various requirements. In addition, product support is required for five to ten years after the end of production. So we have to keep the software,” explains Nakane.

Since we have a large product lineup, we develop software and hardware separately, combine them in the QA (product evaluation) phase, and ship them. In addition, the software is divided into modules to design functions and streamline development. In recent years, products have become more multi-functional, and combination patterns have become more complex.

“Therefore, at the module development stage, the Company wanted to change the process to a reliable quality check process, such as building, reviewing, and static analysis, and transferring only those that passed to the combined environment of the product. We introduced Enterprise,” says Nakane.

Figure 2 Ricoh uses GitHub Flow to check the quality of modules before putting them into the master branch

Specifically, we leverage the GitHub Flow feature to check the quality of module development feature branches before putting them into the master branch leading to the production environment. However, unlike general software development, MFPs have a repository for each module, so it is necessary to check each product that uses the module together with other affected modules.

Therefore, GitHub Enterprise must be able to manage which products combine which modules, and control so that pull requests cannot be merged unless reviews and checks for each product pass.

“The add-on features include a function to trace which modules and products a change affects, a function to run a build/static analysis for each change, and a function to automatically create a pull request checklist. We are now able to see when and to which product the change was made, and we can also identify the change in the pull request from the source code,” says Nakane.

In the second half of the session, there will be detailed examples of using GitHub Enterprise APIs (Issue API, Timeline API, Status API) for module x product quality checks, and the configuration and scale of GitHub Enterprise according to the development unit of multifunction devices. Was introduced.

Mr. Nakane said, "Introducing Pull Request for product development with a complex product line on GitHub Enterprise, making full use of WEB API and WEB Hooks, and successfully modernizing the development environment, the complexity has increased. We have completed a development platform that enables high-speed, high-quality software development.”

Sega Games' smartphone game development decided to fully introduce GitHub Enterprise

This was followed by relatively short 15-minute Lightning Admin sessions.
The top batter is Mr. Nobuo Ueda, Development Support Department, Development Division, SEGA Games Co., Ltd. Under the theme of "What to do when expanding the scale of GitHub Enterprise implementation," he spoke candidly about the process leading up to the utilization of GitHub Enterprise.

Mr. Ueda of Sega Games Co., Ltd.

In SEGA Games' smartphone game development department (a total of 400 to 500 people including programmers, designers, and planners), everyone used to use Subversion (SVN), but after various conflicts and twists and turns, says that about 300 people are now using GitHub Enterprise.

To introduce GitHub Enterprise, in January 2016, we set up an introduction committee with just three people, and worked with a small development team based on the evaluation version. After that, we succeeded in persuading the new project and expanded the number of users to 50. Support such as briefing sessions for users has also been started, and as the scale of the project used increases, the number of users will increase to 100, and one of the three members of the committee will be dedicated to GitHub.

Looking back, Mr. Ueda says, "We realized that the introduction would be smoother if we increased the number of users within the project rather than increasing the number of projects that could use GitHub Enterprise." While proposing formal introduction to the company, it is said that countermeasures against negative opinions were also prepared.

For example, in response to the question "Is SVN bad?", I showed comparative data from Google Trends and explained how SVN was behind. In addition, in response to the opinion that "I don't really understand the value of reviews," we made a trial calculation of the cost reduction effect by reducing man-hours and disclosed it.

As a result, in January 2017, it was decided to fully introduce GitHub Enterprise. All new projects have a policy of managing code on GitHub Enterprise.

"However, it is also true that there are still opinions such as 'Git is difficult', 'Operation is troublesome', and 'I don't feel the benefits'. We have created an original support tool (GitHub client "Pengit") and actively educated people. We are promoting measures such as implementing activities and disseminating information between usage projects,” says Mr. Ueda.

Figure 3 Screenshot of Sega Games' "Pengit".
Features a TortoiseSVN-like UI, intuitive conflict resolution, and concise work with Pull Requests

An eyelet that simplifies and visualizes frequent update tasks

Next, Mr. Yohei Kawahara of Iret, Inc., Ltd.'s cloudpack division appeared on the topic of "A trial to improve the efficiency of GitHub Enterprise update work." The company provides operation and maintenance services when using AWS under the business name cloudpack. Mr. Kawahara works remotely from Fukuoka to build and operate AWS environments entrusted to us by customers, and GitHub Enterprise is one of them.

“GitHub Enterprise updates are very frequent, so we constantly monitor RSS notifications by linking them with Slack,” explains Mr. Kawahara. and reporting work) took a lot of man-hours, and most of the operation work was spent on updating GitHub Enterprise.

Therefore, in order to improve work efficiency, we can start coordinating schedules with customers by detecting the RSS of update notifications, comparing it with the running GitHub Enterprise version, and automatically creating a backlog if it is subject to update. I built a system.

In addition, we scripted the work of contacting update work → maintenance mode (using API) → stopping monitoring → backing up AMI → checking updates → restarting monitoring → reporting work completion.

“As a result, the update work can now be passed on to the operation team and the procedure has been simplified. In addition, by visualizing the progress of the work, we can respond to the update without time lag, and in the event of an emergency, We are now able to respond quickly,” says Kawahara. In the future, it is said that the idea is to promote the creation of a system that does not require human intervention.

Panasonic achieves efficient management in combination with an external cloud authentication platform

At the end of the admin session, Mr. Ryotaro Seno, Information Planning Department, Technology Innovation Headquarters, Panasonic Corporation, was in charge of "GitHub Enterprise introduction case studies - GitHub Enterprise environment construction on the Internet cloud -".

Mr. Seno of Panasonic Corporation

The purpose of introducing GitHub Enterprise is to consolidate and share source code (OSS) for the realization of open innovation as the software development field expands year by year. We aimed to accelerate rapid programming by making it open to external parties in the future,” says Mr. Seno.

For this reason, we intentionally placed GitHub Enterprise on a virtual machine in the external cloud (AWS) and made it public on the Internet to create an environment that can be accessed from outside the company. , backdoors and other security risks became a major issue.

Figure 4 Panasonic solution. In addition to measures on the GitHub Enterprise and construction platform side, more efficient management is realized by combining with an external cloud authentication platform

As a countermeasure, in addition to IaaS infrastructure control (enhanced authentication, access log/application operation log management, high-level authority log management/monitoring), more effective management is realized by linking with an external cloud authentication infrastructure (Azure AD). . Specifically, it includes the setting of passage restrictions by connection source IP, SAML linkage with Office365 (multi-cloud SSO), and the construction of a mechanism for collecting logs from high-ranking authorities.

As a result of this effort, 1) the security risk when using GitHub Enterprise in the cloud was resolved by combining it with another solution. 2) Through the SAML authentication federation, we were able to realize the federation of the authentication infrastructure that we have in place. 3) In addition to managing access logs for GitHub Enterprise alone, we were also able to implement log analysis and security risk detection. 4) Mr. Seno analyzes that he was able to gain knowledge that the release of the GitHub server has increased internal use and accelerated OSS operation with other companies.

Simplex realizes a stress-free and modern development environment with GitHub Enterprise

At this event, a special session was held by Mr. Tsugune Ito of Simplex Inc. titled "From the introduction of GitHub Enterprise to the spread of GitHub Enterprise within the company ~ Evangelist's efforts ~".

Mr. Ito of Simplex Co., Ltd.

The company's business is to provide major financial institutions in Japan with both financial and IT professionals who provide financial front-end solutions for both capital and retail, as well as consulting, system development, operation and maintenance. It is characterized by supporting Mr. Ito has served as a leader and supervisor at the site of system development, and has also served as an in-house evangelist and operations manager since the introduction of GitHub Enterprise.

Before the introduction of GitHub Enterprise, code management was centered on SVN, and Git-derived OSS clones, which were introduced grassroots by volunteers who wanted to do modern development as a matter of course, were unevenly distributed. “Instances were scattered and uncontrolled and unhealthy, so there were problems with auditing, and the cost increase was also a problem, such as instance administrators performing their own backups and resource monitoring,” says Mr. Ito. looks back.

By introducing the most major GitHub Enterprise, 1) Fostering a corporate culture that emphasizes code review, 2) Creating a mechanism for sharing the knowledge of mid-career and senior engineers, 3) Establishing a stress-free and modern development environment, etc. I aimed.

Since the introduction of GitHub Enterprise, the development efficiency of the entire organization has improved, the review efficiency has improved dramatically, and the level of the development team has improved.

Mr. Ito says that as an engineer, he used GitHub Enterprise for all of his development projects, and wanted to prove that the project could proceed smoothly. In addition, as an evangelist, he states that he was conscious of clarifying the target to be propagated, expanding understanding to the early majority and crossing the chasm, and gaining understanding from both the management and engineering levels.

For example, for PMs who are not playing managers and who are closer to financial operations and management, we will start by explaining the terms of Git and GitHub, the characteristics of GitHub Enterprise, the various effects of introduction, and how it will lead to customer value. It is said that he simply filled in the gaps in technical understanding.

On the other hand, for engineers, as an evangelist, I devoted myself to lowering the hurdles when migrating and introducing from SVN. We provided migration and introduction support, cooperation support with peripheral services, provision of a standard set of development processes, and after-sales follow-up.

Figure 5 An example of a standard set of development processes. What is actually prepared and used in the project where Mr. Ito is in charge of development leader (effectiveness proven)

According to Mr. Ito, 1) having a passionate evangelist is necessary for the spread of GitHub Enterprise within the company. You don't have to do your best alone, you need the driving force to talk about a bright future with an evangelist team. 2) The evangelist must be persuasive. We must not be mere in-house service managers who do not understand the essence of on-site problems, but must be evaluated and respected by making organizations and projects successful. 3) The organization correctly evaluates evangelists. He mentioned that the key is how an organization can evaluate leadership, which is difficult to quantify and visualize, and that feedback that makes all engineers want to be evangelists is important.

Solutions from partner companies that support the use of GitHub Enterprise and CircleCI

Towards the end of the user conference, Macnica 's partner companies introduced development support tools to support the implementation of GitHub Enterprise.

ITOCHU Techno-Solutions Corporation(CTC)provides a site (https: //www.ignite.ci/) has been released. Once you have selected the type of application and generated the CI/CD pipeline, it will provision the execution environment and allow you to deploy the demo application as well. Ken Yoshida, Cloud Integration Department, Cloud Service Headquarters, CTC, says, "In order to accelerate DevOps, it is necessary to cultivate not only the technical domain but also the culture."

Mr. Yoshida of CTC

In addition, Agileware Inc., Ltd. provides a project management tool "Lychee Redmine" optimized for manager work. This product, which also works with GitHub Enterprise, has become a bestseller with nearly 300 installations in just three years since its launch. We also provide GIJI, an online meeting minutes creation and sharing service. Mr. Takashi Mizuguchi from Agileware Agileware Inc., Ltd. said, "Three wastes in meetings, such as sharing agendas, sharing minutes, and approving minutes, can be eliminated, and Lychee Redmine can be used to coordinate decisions. We will accelerate the policy reform.”

Mr. Mizuguchi of Agileware Inc., Ltd.

Furthermore, Macnica is focusing on expanding sales of the enterprise version of CircleCI, which is linked with GitHub Enterprise. General CI requires each developer to run and push tests on their local device, but CircleCI automatically runs integration tests as soon as they are pushed to GitHub Enterprise, and performs build, deployment, etc. Automatic execution is also possible.

“CircleCI.com (cloud version) and CircleCI Enterprise (on-premises version) basically provide the same functions. It is highly functional,” explains Hirokuni Kim, a development engineer at CircleCI.

Kim of CircleCI

As the primary distributor in Japan, Macnica provides a variety of services, including GitHub Enterprise and CircleCI (enterprise version) construction (instance construction, initial settings, backup, HA configuration), maintenance (free technical support in Japanese), operation (upgrades, training for administrators, ecosystem integration support), and adoption (hands-on training). We plan to further strengthen our support in order to serve as a bridge between each tool vendor and end-user companies/partner companies.

Inquiry/Document request

Macnica GitHub

Mon-Fri 8:45-17:30