こんにちは。GMOインターネットの新里です。
グループ会社でもあるワイン屋さんのシステム開発に関わることになりました。色々なシステム・開発を行ってきましたが、インターネットだけで閉じた世界ではなく、ワインという物が絡む世界は初めてで、なかなか面白いですね。その一部をご紹介します。
目次
大量のワイン
数十万種のワインが世界中にはあるようです。僕自身、普段は近くの酒屋さん・スーパーでデイリーワインをたまに飲むくらいで、実際に関わるまでワインにはこんなに種類があるとは思いもしませんでした。そもそも、ワイン向けのシステムというのも関わったことが無いので、在庫管理・倉庫・ワインセラー…etc 初めて知ることで、興味津々です。
ワイン屋さんでは「置きワイン」というシステムを提供していて、保有している数千種類ものワインを管理しています。そのシステムに関わる事になりました。

ワインって名前だけじゃないの?
普段はIPA(India Pale Ale)のビールばかり飲んでいて、ワインについては全くの無知でした。フランス・チリ・西海岸・イタリア…が主な生産地なのかな?くらいに思っているくらいです。こういう物理的な商品・在庫は何か一意になる商品コードや名前で管理するのが普通で、ワインは名前だけで一意になると思っていましたが大間違いだったのが最初の驚きポイントでした。
例えば…Mazis Chambertinでも、Armand Rousseau, Olivier Bernstein, Bernard Dugat-Py, Faiveleyなどの生産者で全く違うワインになることは驚きでした。実際にラベルを見てみると、全く別物であることが分かります。




他にも生産年でも異なっていたりします。つまり、「生産年・名前・生産者」でどうやら一意にワインを特定できそうです。使っているブドウ・土壌はもちろん、畑の場所(緯度・軽度・高度)・斜面といった光の当たり具合などによっても味わいが異なると教えて貰ったり、なかなかワインの世界は深そうです。
レガシーシステム
ワインリストをメニューとしてお客さま(レストランさんなど)が見れるシステムを運用しているものの、古くから放置されていて、困ったことにほぼ手つかずの状態でした。各社、こういったレガシーのサービス・放置されて誰が管理者なのか?分からないシステムがある所は多いでしょう。ここではザックリ次のような状態でした。
サーバ:Cent OS 6.4
Ruby:1.9 (Ruby on Rails)
MySQL:5.5
RoRは、RoRというより素のRubyな感じで、他のミドルウェアのバージョンも非常に古い状態です。もちろん、スマホでWebとして見ることは出来ません。資料らしき物も無いので、コードを読んで中身を理解するしかありませんね。
Bootstrap/jQueryは使っていましたが、これも非常に古いバージョンであったり、DBには主キーがなかったり、そもそもコードの管理もない…と「これは一体どういうことだ?」といった感じでした。前述したワインの一意性はどこにあるのか?と最初に思ったものの、DBは主キーも無い野ざらしの状態でした。
何かをOS上のパッケージ類をアップデートすると止まってしまう可能性もあるので、なかなかセンシティブな感じです。
新バージョンに改定
皆さんだったら、こういったシステムをどうするでしょう?
このまま気合で古い・デバッグも難しい環境のままメンテナンスすることも不可能では無いですが、負の遺産を先延ばしているに過ぎません。もちろんセキュリティ的なリスクもあります。システムは生き物と一緒と僕は考えていて、ちゃんと相手をしないと腐って使い物にならなくなります。
そこで、思い切ってシステムを丸ごと作り変えることにしました。

現状のシステム構成はDocker上にDB・Web(nginx)・App(Python)・DB(MySQL)・ワインラベルのメディアデータを別途管理・コード&デザインをgithub上で管理が出来るように、全て最新にして入れ替え&スクラッチで制作しました。もちろんPC・モバイル・iPad/Androidに対応するようフロント側も全て使えるように入れ替えですね。一気に構成が現世に近づいてきました。
開発はデザイナーチームとシステム側は僕が1人で対応した感じです。
ちなみに、レガシーなシステムの入れ替えは、システムサイドからの十分な説明が必要になると考えています。
例えば、古いシステムであっても利用者が居ない場合やコストだけで価値を産まない物は、そのまま放置するかクローズするという判断もあるでしょう。逆にこれからも利活用する場合は、現状の問題点・将来的な可用性について説明を行って、コストをかけて入れ替えるという説明が必要になるという訳です。
システム入れ替えにおいて、必ずしも新しい物が良いわけではなく、明確な理由と説明が必要になるという訳ですね。
次は…
このワインの管理の他にも色々と着手はしていますが、「ワインのラベル画像が大量にある」ということに気づきました。提供するワインのラベルの写真を撮っておいてあるので、この画像類を使って「スマホでワインの写真を撮ったら、どういうワインなのか?特定する」といったことが出来そうです。
次は実験的にワインのラベルを機械学習して特定してみたいと思います。
ブログの著者欄
採用情報
関連記事
KEYWORD
CATEGORY
-
技術情報(596)
-
イベント(237)
-
カルチャー(60)
-
デザイン(70)
TAG
- 5G
- AI
- AI TALK
- AI 機械学習強化学習
- AI/機械学習
- AIエージェント
- AIコーディング
- AI人財
- AI駆動
- Behind the Scenes
- BIT VALLEY
- blockchain
- ChatGPT
- ChatGPT Team
- Claude Team
- cloudflare
- cloudnative
- CNDO
- CNDT
- CODE BLUE
- ConoHa
- ConoHa VPS
- CSS
- CTF
- Designship
- developer
- DevRel
- DevSecOpsThon
- Docker
- DTF
- Engineering Journey
- expert
- EXPERT CROSS
- GMO AI&ロボティクス商事
- GMO AIR
- GMO DESIGN AWARD
- GMO Developers Day
- GMO Developers Night
- GMO Flatt Security
- GMO GPUクラウド
- GMO Hacking Night
- GMO kitaQ
- GMO SONIC
- GMOアドパートナーズ
- GMOアドマーケティング
- GMOインターネット
- GMOインターネットグループ
- GMOインターネットグループ陸上部
- GMOグローバルサイン
- GMOコネクト
- GMOサイバーセキュリティ byイエラエ
- GMOデジキッズ
- GMOブランドセキュリティ
- GMOペイメントゲートウェイ
- GMOペパボ
- GMOメディア
- GMO大会議
- GMO天秤AI
- Go
- GPUクラウド
- GTB
- Hack-1グランプリ
- IETF
- iOS
- IoT
- ISUCON
- Japan Drone
- JapanDrone
- Java
- JJUG
- K8s
- Kaigi on Rails
- Kids VALLEY
- LLM
- MCP
- MetaMask
- MySQL
- NFT
- OpenStack
- Perl
- PHP
- PHPcon
- PHPerKaigi
- Python
- RFC
- RPA
- Ruby
- SECCON
- Selenium
- Spectrum Tokyo Meetup
- splunk
- SRE
- Takumi byGMO
- Terraform
- TypeScript
- UI/UX
- vibe
- VPN
- VS Code
- XSS
- ZTNA
- アドベントカレンダー
- インターンシップ
- インハウス
- お名前.com
- クリエイターインタビュー
- クリエイティブ
- コンテナ
- サイバーセキュリティ
- サマーインターン
- スクラム
- スペシャリスト
- セキュリティ
- ソフトウェアサプライチェーン
- チームビルディング
- デザイン
- ネットのセキュリティもGMO
- ハーネスエンジニアリング
- バックエンド
- ヒューマノイド
- ヒューマノイドロボット
- プログラミング教育
- ブロックチェーン
- フロントエンド
- ペアリング暗号
- ゆめみらいワーク
- リモートワーク
- レンタルサーバー
- ロボット
- 京大ミートアップ
- 国際ロボット展
- 国際標準化
- 基礎
- 多拠点開発
- 宮崎オフィス
- 応用
- 技育プロジェクト
- 技術広報
- 技術書典
- 新卒
- 新卒研修
- 映像
- 映像クリエイター
- 暗号
- 業務効率化
- 機械学習
- 決済
- 生成AI
- 耐量子暗号
- 脆弱性診断
- 開発者
PICKUP
-
【EXPERT CROSS #2】暗号技術の可能性を未来につなぐ、「暗号のおねぇさん」の歩み(後編)
技術情報
-
【EXPERT CROSS #2】「暗号のおねぇさん」が国際標準化の場で残していく、インターネットへの「爪痕」(前編)
技術情報
-
デザインカンファレンス「Yoitoi Summit 2026」をGMOYours・フクラスにて開催!
デザイン
-
攻撃者優位の時代に問われる「使命感」 GMO Flatt Security&GMOサイバーセキュリティ byイエラエが描く、AI時代のセキュリティ構想(後編)ーEngineering Journey
技術情報
-
頂上と裾野の両方から「底上げ」 GMO Flatt Security&GMO サイバーセキュリティ byイエラエが支える、日本のサイバーセキュリティ(前編)ーEngineering Journey
技術情報
-
【開催レポート】八幡小学校 社会科見学 at GMO kitaQ
カルチャー