Nexgen Software Solution Company
株式会社トレンドソリューションズ
TEL:03-3527-9423

GitLabプロフェッショナルサービス

提供サービス

株式会社トレンドソリューションズは、「GitLab認定プロフェッショナルサービスパートナー(PSP)」に認定されております。

これまでのシステムインテグレーション内で個別に適用してきた課題管理、スケジュール管理、コード管理にとどまらず、DevOpsを強力に推進するメインスイートとしてGitLabを位置付け、利用コンサルティング、運用体制整理、環境構築全般をお手伝いする専門体制を用意しています。

  • 方式設計コンサルティング
    • 現状アセスメント・移行システム検討
    • サーバ構築検討
    • テストランナー構築検討
    • 認証認可検討
    • 運用方式検討
    • 教育計画検討
  • セルフマネジメント環境の設計構築
  • GitLabのセキュリティ設定、認証認可設定
  • プロジェクトの移行支援
  • JIRA、Jenkins、Slackなど、ツールとの連携支援
  • コミッター教育、開発者への開発環境や整備やコード規約作成支援
  • GitLabの組み込み型アプリケーションセキュリティによるDevSecOpsプロセス、シフトレフトテストの導入(シフトレフトとは、これまで後工程で行っていたセキュリティ確認のプロセスを、開発工程の早い段階に組み込む考え方)
  • ワークショップや要員教育の実施

チケット制サポートサービス

Q&Aや作業依頼に対して時間ベースのチケットによりサービスを提供します。

作業別サポートサービス

  • GitLab Self-managedの導入
    • インストール
    • 個別設定変更(通知メール設定、データベース外だしなど)
  • GitLab Self-managedのアップグレード
  • GitLab Self-managedのバックアップ
  • GitLab移行サービス
    • GitLab Self-managed → GitLab SaaS
    • GitLab Self-managed → GitLab Self-managed
    • Bitbucket Server → GitLab SaaS
    • Bitbucket Server → GitLab Self-managed
    • GitHub Enterprise → GitLab SaaS
    • GitHub Enterprise → GitLab Self-managed
    • GitHub.com → GitLab SaaS
    • GitHub.com → GitLab Self-managed
    • SVN → GitLab
  • Runner構築
    • Docker
    • k8s
  • Jira、slackなどのintegration設定サービス

GitLab支援体制

弊社では大手SIerでGitLabによる大規模開発運用を経験した要員を中心に、GitLabとのコワークを開始しました。

最上位のパートナーとしてGitLab Certified Professional Services Partner (PSP)認定プロフェッショナルサービスパートナーとしてGitLabの利用ユーザを支援させて頂く体制を整えました。この認定はGitLab Certified Professional Services Engineer (PSE)認定プロフェッショナルエンジニアが規定人数以上在籍している会社に対して認められるものです。

これまでユーザとしてGitLabを利用しシステム開発を行ってきた要員、他のクラウドサービスのサーティファイド受けている要員をベースに、GitLabが提供する研修を受けて、GitLabサーティファイドエンジニアにするために教育投資を行っています。

これは単にGitLabについての知識だけを持ったエンジニアを提供するのではなく、プロフェッショナルサービスの視点をプロジェクトマネジメントやクラウドネイティブな運用基盤全体に広げる必要があるからです。

2022年5月末現在では

技術・運用コンサルティングが可能な最上位資格であるProfessional Services Engineer(PSE)資格認定者は5名在籍し、年内に10名以上の規模で教育投資をしています。

資格名資格内容
GitLab Certified Professional Services Engineer (PSE)顧客に実装、マイグレーション、コンサルティングサービス提供する能力を持つ。
GitLab Certified Implementation Services Engineer顧客にデプロイ、構成設定など、戦略コンサルティング提供する能力を持つ。
GitLab Migration Services Engineer顧客のデータをレガシーシステムからGitLabに正常に移行するために必要なスキルと知識を持つ。
GitLab Certified Security Specialist継続的なセキュリティテスト、スキャン、修復を通じて安全なソフトウェア開発のためにGitLabを使用する能力を持つ。
GitLab Certified Project Management SpecialistGitLabを使用し、DevOpsのライフサイクル全体を通して、Issue追跡からスクラムおよびカンバンスタイル活用でき、より柔軟で効率的にプロジェクト管理能力を持つ。
GitLab Certified CI/CD SpecialistGitLabの同時DevOpsプロセスとベストプラクティスを日常業務に適用する能力を持つ。
GitLab Certified Associate日常のDevOps作業にGitLabを適用する能力を持つ。

なぜGitLabが必要か

  • コーポレートITのコスト削減
  • これまでオンプレミスの環境で構築されてきたシステムは主にコーポレートITの為に作られたもので、モノシリックなシステムを外部システムファイルIFによるバッチ処理、MOM(メッセージオリエントミドルウェア)でのリアルタイム分散処理などで徐々に分割することで、なんとか維持されてきました。しかしHWやミドルウェアのサポート切れによるEOSLが数年おきに発生することから、高機能化するというより、障害なく動かすという維持に重点が置かれ、そこに多額のコストがかかっていました。クラウドへのLIFTやSHIFTはある意味、最後のEOSLをもたらすと言えます。また別の方法としてクラウド上のSaaSを選択する企業も多いでしょう。その場合でも社内周辺システムは同じ変遷をたどると言えるでしょう。LIFT、SHIFTについては大規模プロジェクトとなり、これまでと同じようにウォーターフォールでのシステム開発が必要になります。GitLabはPremium版を用いればこれまでのスケジュール管理に相当する機能も提供されています。プロジェクト管理、ソース管理の統合スイートとしてGitLabは力を発揮します。また、災害対策などシステム構成を変更したり、災害対策のサブリージョンへの展開の自動化などにも利用可能です。
  • 運用や保守コストの低減
  • クラウドにコーポレートITがLIFTされ、時間をかけてSHIFTされていく状況のなかで、一番問題となるのはテストのコストです。もう一つは障害監視、運用監視を含めたOperationです。クラウドは環境を前提にした場合、これまでのようにクラウドのインフラやサービスの切り替えはIT部門の都合を数年単位のタームでは待ってはくれません。なので、運用・開発分離が求められるコーポレートITでもCI/CDの連携やテストの低コスト化は待ったなしの課題と捉えなくてはなりません。ITMSツールやAPF、セキュリティ監視ツールといった運用システムとのインシデントやアラートの連携なども今後考えていかなくてはなりません。SRE(Site Reliability Engineering) といった観点からもGitLabの利用を考えてくことが必要となっていきます。
  • ビジネスITの課題
  • マイクロサービス化やDDDの目的の1つがサービスのカプセル化にあることは明確で、データソースを個別IFにより隠ぺいすることで、リリースに対するソフトウェアの障害の危険性を減らし、少人数の判断でリリースができるようにすることにあります。レガシーシステムという言葉がありますが、どんなに最新の言語やインフラを元に作られたシステムでも、ビジネスITではUXの向上を目的にしたインプット(KPIは売上や利用者数、滞在時間など、離脱ポイント改善等)を元に対策のための開発を行い、リリースというサイクルを繰り返さなければ、同じようにレガシー化します。従来のウォーターフォール開発では、そのメリットを十分に引き出すことができません。そのために「アジャイル」や「DevOps」「BizDevOps」といった開発手法の導入が必要になります。
  • ただし、実際のアジャイル開発の現場では様々なカオスが展開されています。DevOpsと言っても単に内製化やアジャイルといった開発方法論を変えただけではうまくいくはずがありません。これまでSIerに仕事を投げていた人たちが内製化と言われても、システムの方式設計や非機能要件、エンジニアへの指示のノウハウをいきなり知っているものではないからです。また、SIerは自身が追い出される状況のなかで、このようなノウハウを展開することも考えられません。
  • 内製化の問題は様々なバックグランドの人が寄せ集められ、ガバナンスが効いていないことにあります。それは管理ツールにも表れていて、Sprintの管理はMiroとかMondayで、Issue管理は実体はGitHubでその内容をMondayにも転記するとか、プロジェクト管理はRedmineとかBacklogとかGitHub discussionとかが工程毎に別々に使われていたり、ドキュメントの格納先もGoogle DriveとかBoxとか様々で、結局、ウォーターフォールの時の、課題表のEXCELやドキュメントをファイルサーバで管理して時よりプロジェクトの状況を理解する事が大変ということすらあります。まずはGitLabを情報のSingle Source of Truthの起点としてコラボレーションの追従性を上げることが第一歩です。
  • プログラミングに関してもドキュメントを書かずに直線的にアウトプットを目指すことで、それぞれエンジニアが勝手に好きな方式・実装言語を選択してしまうことがあります。我々が実際にサポートしたプロジェクトでは開発量や障害解析のクリティカル度といった非機能面での要件を考慮せず、品質も作り方もバラバラで、サーバサイドのクリティカルな部分までスクリプト言語で実装してしまい、実際の運用に入って障害スタックすら出ずに障害分析やメンテナンスもままならないといった状況を目の当たりにしてきました。最悪なのはコードレビューや方式が甘く、セキュリティ問題を引き起こすことです。このような場合、GitLabのコードレビューの機能に対してレビュワにレビューの観点を与えたり、開発者にチェックポイントを与えたりするテンプレートを適用することでコードのガバナンスを掛けていくといった取り組みを行いました。またGitLabにはDevSecOpsの機能がありソースコードレベルでのセキュリティ統制の仕組みを提供する事が可能です。前の工程(レフト)からコードに対してセキュリティー統制を掛けていくことをリフトレフトと呼びます。
  • このようなビジネスIT開発の開発状況において必要になるのはCoE(Center of Excellence)という組織体で、開発方式や実装方式、運用方式についてガバナンスを効かせる必要があります。こういった、クラウドシステム開発に対する統制といった観点からも弊社の知見とDevOpsを中心とする統合管理スイートとしてGitLabはお役に立てると考えています。


適用事例

弊社は以下のようなGitLabの適用要件を主導したメンバーを元にGitLabサポート組織を立ち上げました。

  • オンライン取引システムアプリ開発プロジェクトの開発適用

AWSにセルフマネージのGitLab環境を構築し、AWS上にVPN接続させるセキュアな環境を構築して、日本での開発組織やデザイン組織、複数の海外オフショア開発ベンダを結んだ開発管理、ソース管理、CIによる自動テスト環境を提供しました。

金融系オンライン取引アプリ、対向するサーバAPI基盤やバッチシステムの開発において顧客要件の整理としてGitLabの利用促進の役割としてPMO組織への支援、またコミッターに向けてのソースレビュー方針やルールの策定、コミッターとの伴走サービスを実施しました。

  • 基幹系システムのクラウドリフトプロジェクトへの適用

小売り量販店システムのクラウドリフトプロジェクトにおいて、Confluence、JIRA、GitLab、Kubernetesでのサービス定義やアプリケーションのデリバリ、DR発動時のサブリージョンへの切り替えオペレーションの構築を担当しました。


問い合わせ先

GitLab に関するご相談は、こちらよりお気軽にお問い合わせください。