Developers Summit 2019

【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール

2019/04/04(金)

現代のソフトウェア開発においては、DevOpsの実践や高度な開発プラットフォームの構築が必要不可欠になっている。その体制を支える屋台骨となるのが、バージョン管理ツールやCI/CDツールといった優秀なプロダクトの数々だ。本セッションの前半パートでは株式会社セガゲームスの上田展生氏が、「モバイルゲーム開発に『GitHub Enterprise』を導入することで開発体制をどう変えたのか」を、後半パートでは株式会社マクニカの根本竜也氏と廣田華代氏が、「各種ツールの導入によりDevOpsがどう進化するのか」を解説した。

「GitHub Enterprise」の導入から定着まで

株式会社セガゲームス 開発推進統括本部 第三管理部 テクニカルリサーチ課 課長 上田 展生氏

セガゲームスのスマートフォンゲーム開発では、もともとバージョン管理ツールとしてSubversionを使用していた。だが、よりモダンな開発環境に刷新するため、2016年から「GitHub Enterprise」の試験的な導入を開始した。

「2016年5月ごろに、3名で導入委員会を立ち上げました。この時点では50ライセンスを購入し、まずは新規プロジェクトにGitHubを導入。この方針は正解でした。利用者に向けて説明会も開催し、スムーズなスタートを切ることができました」(セガゲームス 上田氏)

数カ月後、ライセンス数を50から100に拡大した。導入委員会の3名のうち1名はGitHub普及の専任メンバーとなり、インフラの整備やトラブル対応を実施。2016年12月ごろには、社員からGitHubに対するポジティブな声が寄せられるようになった。

「この時点で、全社的な導入を進めるために会社への説得を行いました。ただ、『なぜ導入する必要があるのか?』というネガティブな意見もいくつか出て。よく指摘された3点と、どう説得したかをご紹介します。

まず、『Subversionのままではダメなのか?』ということ。この意見に対しては、Google検索トレンドの傾向を紹介しました。Subversionの検索数は下降しており、GitHubの検索数は上昇している。多くの企業はSubversionからGitHubに乗り換えていることを明示しました。

次に、『レビューの価値がよくわからない』という意見。これに対しては、Pull Requestベースによるレビューを行うことで作業の手戻りを減らせるため、経済的なメリットが大きいことを解説しました。

『無料のGitHubクローンではダメなのか?』という意見もありましたが、GitHubはデファクトスタンダードであるため情報が得やすいこと、Enterprise版ならばマクニカさんから有益なサポートを受けられることなどを説明していきました」(セガゲームス 上田氏)

その結果、会社からの承認を得て2017年から本格導入を開始。新規プロジェクトを開始する際は必ずGitHubでリポジトリ管理するように運用を変えた。導入委員会はさらにサポートを強化し、ドキュメントの拡充や社内ハンズオン、トラブル対応などを実施。その結果、徐々に賛同者は増えていったという。

だが、まだ課題は残っていた。ゲーム開発において、ファイル管理を行うのはエンジニアだけではない。当然ながら、デザイナーやプランナーもファイルを扱う。すべてのファイルを統合的にGitHub管理する過程で、エンジニア以外のメンバーから「Gitの操作が大変だ。Subversionに戻してほしい」という意見があがったのだ。

その課題に対し、「Pengit」というGitHubクライアントを作成することで対応した。このツールはGUI上で簡単に操作できるため、Gitの学習コストが大幅に軽減可能だ。こうした施策を続けたことで、2018年の秋にはGitHub Enterpriseが全社的に浸透。GitHub導入による成果も、明確に表れてきたという。

現在セガゲームスでは、もう一歩進んだ活用方法を2つの軸で推進している。1つは「CircleCI」など、ほかのツールとの連携。もう1つは、GitHub Enterpriseのデータを収集することで、うまくいっているプロジェクトに共通して見られる傾向を分析することだ。

「GitHubを活用することで、開発体制そのものを改善していける仕組みが整いつつあります」(セガゲームス 上田氏)

DevOpsを支援する、厳選ツールの数々

セッション後半ではマクニカの根本氏と廣田氏が登壇。同社の事業内容や、DevOpsを支援するソフトウェアリリースプラットフォームの「JFrog」について解説を行った。

マクニカは、バージョン管理ツールのGitHub EnterpriseやCI/CDを実現するCircleCI Server、前述したJFrogといったツールの国内一次販売代理店を担っている。これらのツールとエコシステムによって、ソースコードの管理から継続的アップデートに至るまで、開発ライフサイクルを全面的に支援することが可能だ。

株式会社マクニカ 営業統括部 AI&ソフトウェアビジネス部 第2課 課長 根本 竜也氏

「当社が提供しているソリューションは、ただのツール導入ではありません。検討から導入、運用、拡張に至るまで、専任のテクニカルサポートによるご支援をさせていただいております。

海外ベンダー製品のエンタープライズ版を導入する際、各ツールをバラバラに導入してしまうと、サポート窓口もバラバラですし企業ごとにサポートの質も異なるため不便です。私たちは、お客さまのソフトウェア開発の状況や制約、将来の追加変更の要望など全体を把握した上で安心してご利用いただけるサポート体制を構築しております」(マクニカ 根本氏)

海外で5000社超が購入しているソフトウェアリリースプラットフォームのJFrogは、日本での知名度はそれほどない。だが海外では、「DevOps Acceleration Innovators」や「Best DevOps Commercial Solution for 2018」「‘Best in Show’ in Software Development - DEVOPS」といった数多くの輝かしい賞を受けるなど、DevOpsの世界を牽引している。

バイナリファイルを高速に管理するユニバーサルパッケージマネージャ「JFrog Artifactory」、ライセンス違反のチェックや脆弱性スキャン、影響範囲の特定を行う「JFrog Xray」、各サイトやIoTデバイスなどへのアップデート配信を行う「JFrog Distribution」といったサービスが、「JFrog Enterprise+」というオールインワンのエンタープライズ向けパッケージとして提供されている。

株式会社マクニカ 営業統括部 AI&ソフトウェアビジネス部 第2課 課長 廣田 華代氏

「JFrogが掲げるビジョンは『Liquid Software』。開発したソフトウェアを流れる水のように継続的にアップデートさせるということです。つまり、SaaSに限らずIoTなどで使われるソフトウェアも絶えず更新されるべきだという思想。スピーディーなリリースのサイクルと継続的なアップデートを実現する仕組みが、JFrogのソリューションです」(マクニカ 廣田氏)

JFrogの各サービスを活用した、開発のライフサイクル

JFrogの各サービスを使うことで、開発のライフサイクルは上図のような流れになる。プロダクトに必要なライブラリの取得や依存関係の解決、コード修正やビルドを行った後の成果物管理もJFrog Artifactoryが担ってくれる。

後続ステップで登場するのがJFrog Xrayである。同ツールは10種類以上のセキュリティデータベースと連携しており、脆弱性情報を毎日アップデートし続ける。JFrog Xray単体でプロダクトのスキャンを行うことも、ほかのスキャン専用ツールと統合させることも可能だ。このように、既存の開発ライフサイクルを阻害することなく、自然な流れで組み込めるのがJFrogの各サービスの特徴である。

「DevOpsに必要な一連の作業は、ほぼすべて自動化できます。ぜひ、ツールを導入し、DevOpsの新しい世界観を構築してください」(マクニカ 廣田氏)

※本記事はCodeZine(コードジン)より許可を頂き転載したものです。

GitHub Enterpriseに関してのお問い合わせはお気軽に

電話でのお問い合わせ 045-476-2010

受付:月曜日~金曜日 8:45~17:15

お問い合わせ・資料請求

株式会社マクニカ  GitHub 担当

月~金 8:45~17:30