長年、私はクラウドやインフラの設計・構築に携わってきました。
IBMで勤務していた時は、大型サーバーからクラウドまで、世界最高レベルの技術に触れる機会があり、IBM のエンジニアとして多くのお客様を支援してきました。
IBMクラウドのテクニカルセールスを担当している時は、IBMほどの技術力を持つ会社なら、「ユーザーが本当に使いたいクラウド」を実現できるはずだと思っていました。しかし、実際には、利用するユーザー視点よりも、製品そのものや組織の事情が優先されていると感じる場面もありました。
もちろんIBM Cloudにも優れた技術は数多くあります。
それでも、
「もっとシンプルで、もっと楽しく、もっと気軽に使えるプライベートクラウドが欲しい。」
そんな思いは、ずっと心の中に残っていました。
その思いから開発を始めたOSSが Marmot(マーモット) です。
Marmotとは
Marmot は プライベート クラウド を目指して開発しているオープンソースソフトウェアです。
テスト、学習、開発環境を、できるだけ簡単に構築できることを目的としています。
仮想サーバー、ストレージ、そして、ネットワークを YAML で定義し、Linuxが持つ標準的な仮想化技術を利用して高速に環境を構築します。
主な特徴は次のとおりです。
- YAMLによるKubernetesライクな宣言的なインフラ定義
- KVM/Libvirtを利用した高速な仮想サーバー
- Open Network と Open vSwitchによる仮想ネットワーク
- etcdによる構成管理
- OpenAPI v3ベースのREST API
- CLIから簡単に操作可能
Marmotは「高機能な仮想化基盤」を目指すというより、
"必要なものを、すぐ作れる"
そんな開発者向けのクラウド基盤を目指しています。
なぜ「Marmot」という名前なのか
「Marmot」という名前には、少し思い入れがあります。
実験用の動物である「モルモット」は、かつて「Marmot」という呼び名で紹介され、その名称が「モルモット」として広まった歴史があります。本来の英語では「モルモット」は Guinea Pig、一方「Marmot」はリス科の別の動物を指しますが、この「モルモット」という呼び名は今でも多くの人に親しまれています。
私は、この「モルモット」のイメージに惹かれました。
小さな体でありながら、人間のために欠かせない存在であり、仲間と協調して生きる姿があります。
また、本来のマーモットは群れで生活し、周囲を警戒しながら仲間と協力して暮らす動物です。その姿は、複数のノードが協調して動作する分散システムにもどこか通じるものがあると感じています。
Marmotも、大規模で複雑なクラウドではなく、小さくても役に立ち、必要なときに頼りになる存在でありたい。
そんな思いを込めて、このOSSを Marmot と名付けました。
Marmotが目指すもの
私は長年、システム構築や検証環境を作る仕事をしてきました。
その中で感じてきた課題があります。
環境構築には時間がかかります。
クラウドサービスは便利ですが、
- 学習には少し大げさ
- テスト環境にはコストが高い
- オンプレミスでは構築が複雑
ということも少なくありません。
Marmotは、
「手元に、自分専用のクラウドを数分で作れる」
そんな世界を実現したいと思っています。
現在の開発状況
Marmotは現在も活発に開発を続けています。
すでに基本的な仮想サーバー作成やネットワーク構築などは利用できるようになっていますが、まだ Version 1.0以前 の開発段階です。
今後は次のような機能を追加していく予定です。
- Kubernetesとの連携
- Web GUIの充実
- Marmotクラスタ構築の簡素化
- より多くのストレージ・ネットワーク機能
- 品質向上とドキュメント整備
まだまだ改善点は多くありますが、一歩ずつ着実に育てています。
コントリビューターを募集しています
OSSは一人では育てられません。
もし、
- Goが好き
- LinuxやKVM、Libvirtなどの仮想化技術に興味がある
- Kubernetesやプライベートクラウドを学びたい
- OpenAPIやREST APIの設計に興味がある
- 生成AIを活用したソフトウェア開発を実践してみたい
そんな方がいらっしゃれば、ぜひ一緒にMarmotを育てていただけるとうれしいです。
Marmotは、生成AIを積極的に活用しながら開発を進めています。AIにコード生成やレビューを支援してもらい、人間は設計や品質、ユーザー体験に集中するという、新しい開発スタイルを実践しています。
「生成AIを使ってOSSを開発する経験を積んでみたい」という方にとっても、実践の場として参加していただければと思います。
もちろん、コードを書くことだけがコントリビューションではありません。
- ドキュメントの改善
- バグ報告や動作確認
- 新機能のアイデア
- サンプルやチュートリアルの作成
- テストの充実
- READMEやWebサイトの改善
など、どのような形での貢献も歓迎します。
また、「使ってみた感想」 を投稿していただけるだけでも、とても励みになります。
「ここが使いやすかった」「ここは分かりにくかった」「こんな機能が欲しい」といった率直な意見は、Marmotをより良いOSSへ育てていくための貴重な財産です。
QiitaやXへの投稿、GitHubのIssueやDiscussionなど、どのような形でも構いません。ぜひ、皆さんの声を聞かせてください。
まだ発展途上のプロジェクトですが、一緒にMarmotを育てていただける仲間との出会いを楽しみにしています。
GitHub
プロジェクトはこちらです。
Marmot
IssueやPull Requestはいつでも歓迎しています。
おわりに
Marmotは、巨大なクラウドサービスを目指しているわけではありません。
「もっとシンプルに。」
「もっと優しく。」
「もっと楽しく。」
そんな開発者目線のプライベートクラウドを目指しています。
まだ発展途上のプロジェクトですが、少しでも興味を持っていただけたら、GitHubでスターを付けたり、IssueやPull Requestで参加していただけるとうれしいです。
皆さんと一緒に、Marmotを育てていければと思っています。