株式会社 ディジティ・ミニミ / digitiminimi Inc. / ITインフラ部
位置情報系ゲームサーバの運用
位置情報系ゲームのインフラの運用を行った。利用した技術は Terraform, Packer, AWS, ECS, Node.js, MongoDB。
400万人が利用する会社訪問アプリ
株式会社 LegalOn Technologies / Site Reliability Engineer (SRE)
職歴については LinkedIn https://www.linkedin.com/in/takaaki-yamamoto/ を主に更新していますので、そちらも合わせて参照ください。
Google Workspace と Google Cloud の機能を効果的に用いたITシステムの設計と運用。
主に Google Cloud に関連する設計と構築と運用。
GKE上に機械学習系のアプリケーション(gRPC)の実行環境をTerraformで構築。認証はCloud Endpointで行い、ESPv2はCloud Runに配置した。上記のアプリケーションをCloud BuildのGitHubトリガーを用いてビルドとデプロイを行っている。その他、AI Platform(Vertex AI)環境の運用やMLFlowサーバの構築と運用などを行っている。現在運用中。
セキュリティの担保を必要とするアプリケーションの実行環境の設計と構築と運用。GKEを用いてアプリケーションの実行環境を作成し、Cloud StorageやCloud SQLやBigQueryなどのデータストアを作成し管理している。それらのセキュリティを担保するために、VPC Service Controls(VPC-SC)を導入した。 VPC-SCはプロジェクト単位での設定となるため、上記のアプリケーションの実行環境(GKE)とデータストアを配置するプロジェクトを分けて設計し、それらを共有VPCを用いて接続性を担保した。現在運用中。
Google Cloud には組織/フォルダ/プロジェクトといった階層構造があり、各プロジェクトに閉じない設定(フォルダ/プロジェクトの管理, Access Context Manager, VPC Service Controls, Google Groups, Cloud Asset Inventory, 監査ログ, ...) がある。それらの設定をコード化するための設計と作業を行った。具体的にはTerraformを用いて上記をコード化し、Cloud BuildのGitHubトリガーを用いて、承認フローの確立と自動適用を実現した。 現在も運用中。
- オンプレ環境とパブリッククラウド(Google Cloud)の相互運用。 - オンプレ環境に対する仮想化基盤Proxmoxの導入。 - オンプレ環境(Kubespray)とパブリッククラウド(GKE)のIstioを用いたKubernetesクラスタの相互運用。
オンプレミス環境で運用されていたXenによる仮想環境は、「コード化が難しいこと」や「ライセンスに関する問題」や「最新のOSイメージは一部改変しないと仮想マシンとして起動が不可能」といった運用面での問題が存在し、これらを解決する必要があった。様々な手段(OpenStack,VMwareo,Virt, LXD, ...など)を検討し、Proxmoxの導入を率先して行った。コード化は主にAnsibleを用いて行った。
オンプレミスのみで構築されていた環境に、パブリッククラウド(Google Cloud, 以下GCPとする)を導入した。 それにあたって、GCPとオンプレミス間で専用線(Dedicated Interconnect)を導入した。また、専用線が利用不可能になった場合にはVPNにフェイルオーバーするような設計にした。これらを構築するにあたってTerraform, Ansible, VyOSなどを利用してコード化を行った。 またオンプレミス環境とGCP環境において統一的な名前解決や相互接続性を担保するためにUnboundやHAProxyなどのリソースを独自に導入した。 (現在ではGCP側の機能が拡張され、これらを必要としない構成にすることができる。)
Kubernetesクラスタを複数の方法(CoreOS, RancherOS, kubespray, GKE)によってプロビジョニングしていた環境が存在し、それぞれの運用を行なった。(Kubernetes黎明期に作られたクラスタはしばしばetcdやiptablesやIPSecの設定が部分的に不整合が発生することがあったた。) またKubernetesにIstioの導入も行なっており、Istioのバグに関する対処なども多数行った。それらで得た経験をもとにソフトウェアエンジニアに対してKubernetes/Istioに関する技術支援を行なった。
- OpenStack環境の構築/管理。 - パブリッククラウド(AWS, Azure)管理。 - オンプレ環境のサーバおよびネットワーク構築/管理。 - Webサービス構築/管理。 - 業務系アプリケーション(Backlog, GitLab, Redmine)の構築/運用。 - オフィス環境(IP電話, 複合機, 無線AP)の構築/管理。
既存のOpenStackのストレージが逼迫していたことと、新しいOpenStackへのバージョンアップを行いたかったことから、OpenStack(Mitaka)クラスタの新規構築を行った。OpenStackのコンポーネントの導入はメンテナンス性を考慮し、Ansibleを用いて独自にコード化を行った。
Niftyクラウドを使ったメディア系のWebサイトをMicrosoft Azureに移行することを行った。Azure側の機能が充実していなかったという背景もあり、利用したマネージドサービスは仮想マシンとDNSに関する機能が主で、それらをもちいて配信サーバ(Varnish)とアプリケーションサーバととストレージサーバ(GlusterFS)とDBサーバ(MariaDB Galera Cluster)を構築し、運用した。
「計算過程の可視化」を研究。その成果として『算道』という体系を構成した。
分枝限定法によるグラフ分割問題の厳密解法の研究。
回生ブレーキを用いた自動車の制作
株式会社 ディジティ・ミニミ / digitiminimi Inc. / ITインフラ部
位置情報系ゲームのインフラの運用を行った。利用した技術は Terraform, Packer, AWS, ECS, Node.js, MongoDB。