月別アーカイブ 5月 2021

投稿者:minoru61

SIerではないビジネスを選択した理由

ビジネスは他業界から学ぼう

「The Machine That Changed The World」という本を紹介しました(こちら)。今から約100年前の1908年のことです。FordのがModel Tと言う、20世紀を代表する車を作りました。これがMass Production(大量生産)の始まりです。それ以前はCraft Production(クラフト生産)と呼ばれており、熟練工が車を一台ずつ作っていました。この生産方式には自動車の普及段階では大きな問題がありました。(この生産方式は一部のクラシックカーで今でも続いております)

  • 生産するのに高いスキルの技術者が必要
  • 同じ設計図をもとに作っても一台ずつ品質が違う
  • 一つのモデルの年間の生産台数は1000台ぐらいが限度
  • 保守が難しいので顧客は保守のエンジニアを雇わざるを得ない
  • 裕福な人しか車を持てない

何かどこかで聞いた話ですね。ソフトウェア業界は今もほとんどがクラフト生産をしているのではないかと考えてしまいます。2つ目の会社としてSIerを選択しなかったのは、この本と深く関係しています。1つ目の会社は文字通りSIerでした。一番辛かったのは品質問題です。NTTの仕事をしていましたので、品質に厳しかったのです。よく、「テスト不足なので品質が悪いのだ!」と言う人が多いですが、テストの項目については「どれくらいの規模のプログラムでどれだけのテスト項目が必要」などという決まりは当然あり、その通りに項目数を増やしてテストをしておりました。

自慢ではありませんが、私はテスト項目を思いつくのには自信がありました。まさか、ユーザはこんなオペレーションをしないだろう!と言うような項目まで入れておりました。それでも品質は良くならないのです。私は直感的に何かやり方が悪いのだろうと考えておりました。そして、大学の授業でオブジェクト指向などを積極的に取りました。一度社会経験があるので、授業の選択の仕方もその方向に進みます。主に、ソフトウェアエンジニアリング系とAI(当時はエキスパートシステムと呼んでいた)の授業を取りました。米国の大学はMajorとMinorという考え方があります。”What is your Major?”と聞かれると、”My Major is Computer Science.” と答えます。そして、”Minor is Expert System.” となります。

リーン生産方式とは?

少し話が逸れたので、もう一度Lean Production(リーン生産方式)の話に戻ります。「The Machine That Changed The World」の本にはFordが成し遂げたイノベーションである「大量生産方式」を、日本の小さな企業がぶち壊して「リーン生産方式」というイノベーションを行ったことが書いてあったのです。そのリーンの始まりは、トヨタ自動車の若い技術者がFordの工場を訪問することから始まります。

ここからは正確に伝えた方がいいと思いましたので英文と併記して説明します。この本には以下のように書いてありました。

The Japanese were developing an entirely new way of making things, which we call lean production.

日本語訳:日本人は、リーン生産方式と呼ばれるまったく新しい物作りの方法を開発していました。

1950年の春にトヨタの豊田英二氏がFordを訪問しております。本には以下のように書かれております。

In the spring of 1950, a young Japanese engineer, Eiji Toyoda, set out on a three-month pilgrimage to Ford’s Rouge Plant in Detroit.

日本語訳:1950年の春、日本の若いエンジニア、豊田英二は、デトロイトにあるフォードのルージュ工場への3か月の巡礼に出発しました。

トヨタは創業から1950年までに2,685台の自動車を生産しましたが、ルージュ工場では1日で7,000台を生産していたそうです。そして、デトロイト訪問後リーン生産方式への厳しい道のりが始まりました。

Eiji was not an average engineer, either in ability or ambition. After carefully studying every inch of the vast Rouge, then the largest and most efficient manufacturing facility in the world, Eiji wrote back to headquarters that he “thought there were some possibilities to improve the production system.

日本語訳:豊田英二氏は、能力的にも野心的にも、平均的なエ​​ンジニアではありませんでした。当時世界最大かつ最も効率的な製造施設であった広大なルージュ工場の隅々まで注意深く研究した後、英二氏は本社に次のように返信しました。「生産システムを改善する余地があると思う」

But simply copying and improving the Rouge proved to be hard work. Back at home in Nagoya, Eiji Toyoda and his production genius, Taiichi Ohno, soon concluded—for reasons we will explain shortly—that mass production could never work in Japan. From this tentative beginning were born what Toyota came to call the Toyota Production System and, ultimately, lean production.

日本語訳:しかし、ルージュ工場を単にコピーして改良することは大変な作業であることがわかりました。名古屋に戻った英二氏と生産の天才である大野耐一氏は、すぐに、後で説明する理由から、日本では大量生産は不可能であると結論付けました。この暫定的な始まりから、トヨタがトヨタ生産方式と呼ぶようになったもの、そして最終的にはリーン生産方式が生まれました。

日本では大量生産が難しいという理由は以下です。ここは長いのサマリー情報だけ記載します。

  • 大量生産をしても国内市場は小さすぎて売れない
  • 海外には自動車メーカが多く、輸出して販売する力はまだない
  • 一方、国内の市場では高級者から農家のミニトラックまで多様な車種が求められている
  • 多様な車種の自動車を作るためには部品の金型を頻繁に変更しなければならないが、世界最先端の自動車工場でもその技術がない

大野氏はその後何年もかけてこの金型を簡単に誰でもが変更することができるようにする方法を開発しました。そして、ついに1950年代終わりごろにその方法を開発しました。そして、その方法を利用することで、大量の部品を一度に作成するよりは、バッチサイズを小さくして少量の部品を作成する方がコストが安くなることを発見します。これがトヨタ生産方式の始まりでかつ世界を唸らせたリーンプロダクション方式の始まりでもあります。

バッチサイズを小さくするという考え

当時(1992年ごろ)、米国にいた私は車がないと話にならない地域に住んでいたので、知り合いと頻繁にディーラーに出向いておりました。不思議なことに米国には新車の在庫がいっぱいあったのです。その頃日本では、新車はディスプレイの1台だけおいてありました。米国の新車の在庫は一台ずつ違うスペックでした。オートマチックのものマニュアルのもの、パワーステアリングが付いているもの、ついてないもの。エンジンのサイズの違いなど。米国では、自分が気に入った車を乗ってみて、大丈夫だと思ったら購入します。一方日本では、試乗車がおいてあって、その車が気にいると、パンフレットに書いてあるタイプやオプションを加えたり削ったりしながら見積もりを作ってもらい、顧客は多少のスペックを変更して予算と好みが合うとその車を発注します。そして、1ヶ月後に本当に新品の車が納品されます、ディーラーの人はそれにリボンなどを貼って写真を撮り納品のセレモニーを行います。

もちろん車に関する意識が多少米国と日本では違います。米国は他人がいい車だ!と言っているのはあまり信用しないで、自分でいい車かどうかを確認します。また、多少のオプションの違いは気にしません。一方日本は、誰かの推薦でいい車だ!というのを信頼するし、品質の問題はほとんどありません。一方で、細かいオプションの違いで自分の車であるということを誇るところがあります。なので、米国と日本の顧客の買い方の違いでこのようなディーラーになっていると思います。しかし、日本の場合は同じ車種でも名前の違う車がいっぱいありました。日本の顧客はその頃から多品種少量生産出ないと満足しない状況になっていました。そのため日本の自動車メーカーはバッチサイズを小さくして顧客のニーズに応えていたところが大きいと思います。

この本を読んだ後に、私は、SIerのビジネスはクラフト生産方式であり、パッケージのビジネスは大量生産方式であると考え始め、SIerに戻ることを考えませんでした。いつかSIerのビジネスは縮小する時があるのだろうと考えました。そしてパッケージビジネスを選択したのですが、長い間、リーン生産方式に当たるものはソフトウェア業界ではどういうものなのか?を考え追求してきました。この先はまた別途書きたいと思います。

投稿者:minoru61

AppleのM1 Macはなぜ注目されるのか?(1)

DXを実現するためには自社のソフトウェアの技術ノウハウだけではなく、世の中の製品やサービスがどの方向に向かっているのかに注目をしなければなりません。昨年度に発表されたApple Silicon M1を搭載したMacbook、Mac miniと4月に新しく販売されたiMacに注目されるのは、今後のコンピュータのアーキテクチャがどのようになっていくのかを多くの人が興味を持っているからです。

最近、多くの業界でSDG’sが話題になっています。IT業界での最大の問題は、DXが進むと世界の電力のかなりの部分がデータセンターで必要になってくることです。GAFAと呼ばれている会社はサーバをクラウドに置いていますが、データセンターを自ら開発しています。多くは水力発電などを作ってその近くにデータセンターを構築しています。もちろん、電力の供給がそのままビジネスに影響していることもありますが、それ以上にエコな環境を整備して行きたいからと言うこともあります。

昨年の末に発売されたM1 Mac Miniを購入して色々作業をしておりますが、M1 Macの冷却ファンが回っている音を聞いたことがないです。最近、リモートワークが多く、Google MeetやWebexなどでミーティングする機会が多いのですが、油断をしていると直ぐに冷却ファンが回り出します。以前、自分の部下とミーティングをしている時に相手のファンが回り出してうるさかったので、高速道路の近くに住んでるのかと思い、窓開けているのか聞いてみました。そしたら、いいえ開けていませんと言ったので、その次に、洗濯物でも回しているのか?と聞いたのですが、それもありませんでした。実は、コンピュータの冷却ファンがミーティングが始まるとともに回り出していたのです。

コンピュータはCPUが回ると熱を持ちます。そして、その熱はコンピュータの誤動作にも繋がりますので冷却ファンが回り始めます。現在では、自動車の中にもCPUが入る時代になりましたが、このコンピュータの熱はいろんな業界で問題になっております。Appleが独自開発したApple Silicon M1は、iPhoneやiPadで10年以上も経験をした結果として作られておりますが、ベースのCPUはARMというアーキテクチャを元に作られております。このARMアーキテクチャはAndroidのスマホでも利用されているCPUですが、スマホはバッテリーの容量に直接影響するのでエコなCPUが必要となります。実際にM1はARMをベースとしたSoC(System of Chipの略、CPU以外に色々なコンポーネントを一つにしたチップ)なので、Apple独自ですが、CPUの命令セットはARMの共通のものを使っています。つまり、ARMをベースとしたCPUはインテルやAMDのCPUよりも、電力を食わないことで有名です。AppleのCEOであるティムクックはこれをperformance per wattの優れたCPUと呼んでいます。

以前から、このCPUを使ったクラウドというのが大きなテーマになってました。電力を食わないことからエコなデータセンターが作れると言うことです。しかし、いくつかの問題がありました。一つ目は色々なソフトウェアがインテルベースで作られていることです。なのでそのソフトウェアが動かないと使えないのです。二つ目はパフォーマンスです。スマホのCPUであるARMを使って、大規模なコンピュータを使えるのかどうかと言う点です。この2つが最近クリアされつつあります。

2つ目の課題を先に話しますが、富士通の富岳というスーパーコンピュータがARMベースのCPUを使っており、ご存知の通りスパコンの世界で成功しております。スパコンはCPUだけで勝負が決まるわけではないので、それだけで他のCPUよりもARMが優秀だ!とは言えませんが、少なくとも他のCPUと肩を並べたわけです。しかし、スパコンは一般に使われるコンピュータではないので、スパコンで使うソフトウェアだけを移植してしまえば言い訳ですが、一般のデータセンターではいろんなソフトウェアが動かないと使えません。そこで、1番目の課題である、ARMでソフトウェアが使えるのか?という課題が重要になります。

AppleのMacOSと言うオペレーティングシステムは以前はPowerPCと言うCPUで動いていたものを2000年代になって、Intelに置き換えており、さらに今回ARMに置き換えました。この過程で、AppleはソフトウェアがCPUのアーキテクチャの違いでうごかいない問題を経験しております。そこで、インテルのCPUで書かれたソフトウェアを移植する仕組みを実装してM1 Macが2020年末に販売を開始しました。

Apple Silicon M1搭載のPCはこれから2年かけて、IntelからM1に変更されて行きますが、多くの人がこのアーキテクチャが様々なクラウドサービスを動かす基盤となることに期待をしています。マイクロソフトもGoogleもARMアーキテクチャのコンピュータを開発中であることが噂されていますが、AppleのこのCPUの変更が成功するかどうかで今後のデータセンターやクラウドで採用されるコンピュータのアーキテクチャが決まってきます。

投稿者:minoru61

DXに必要な運用技術〜 Dockerコンテナ(1) 〜

DXに必要な運用技術はどのようなものがあるでしょうか?AWSのようなクラウドのインフラやVMWareのようなインフラ技術も必要になりますが、既に多くのDXを成し遂げているソフトウェアの運用チームはコンテナを使っています。コンテナ技術は多くのことを教えてくれるのでコンテナについて話しましょう。

Dockerというソフトウェアを聞いたことがあると思います。Dockerはコンテナを管理するツールです。コンテナはLinuxで古く使われている仮想化の仕組みなのですが、Dockerはそのコンテナを管理してくれます。なので、コンテナとは何か?がわからないとDockerというソフトウェアを使いこなせません。それではコンテナとは何でしょうか?仮想化の仕組みなので、VMWareやAWSなどの仮想マシンと比べるとわかりやすいと思います。

以下の図は、youTubeなどでDockerの仕組みを説明する時によく使われています。

大きな違いはOS(オペレーティングシステムズ)が仮想マシン(バーチャルマシン)ごとに存在するかそれとも一つのOSの上で仮想化されているかというところです。コンテナの場合は一つのOSの上に仮想化されています。これのどこか良いのでしょうか?今風に言うとエコなんですよね。コンピュータの中で動くソフトウェアはOSの様々な機能を使って動きます。例えば、あるプログラムに「CPUを割り当てる」ことやあるプログラムから「ファイルに書き出す処理をする」などです。OSはいろんなプログラムから使われるのですが、仮想マシンの場合はそのOSが複数立ち上がります。正確に言うと仮想マシンごとに立ち上がります。ハードウェアの上に、10個の仮想マシンがあれば10個のOSが立ち上がりますが、その10はほとんど同じ仕事を任されているのです。

OSを一つにするとなぜエコになるのでしょうか?まずは、ディスクスペースです。ディスクスペースをOS10個分持つと大きなスペースが必要です。一つ数GB必要としても、10個の仮装マシンを立ち上げると、数十GBは最低でも必要になります。これがクラウドなどで大量の仮想マシンを立ち上げると、計算できないぐらい多くのディスクスペースが必要になります。

次に必要なのはCPUです。CPUは通常仕事をしていない時は動いていないのですが、そのCPUが余っている時に他のソフトウェアで使えるようにできれば良いのですが、いざ必要だ!と言う時のために少し余裕を持ってCPUを用意することになってしまいます。なのでこれもエコのためには仮想マシンよりもコンテナの方がいいのです。

そして3つ目はメモリです。メモリはOSごとに確保しますので、使っても使わなくても一応取っておきます。そのため、メモリはかなり使うことになります。ましてや、OSが複数立ち上がると言うことはOSで利用できるメモリは無駄の中の無駄ですね。

このように、仮想化すれば柔軟に使えるととなると、無駄に使ってしまうものです。そして、このディスク、メモリ、CPUの無駄遣いは電力の無駄遣いになってしまうので、これ以上仮想マシンを増やさないことが、SDG’s的には重要となります。「自分はそんなにつかってないよ!」と言う人もいるかもしれませんが、それはペットボトルでも、レジ袋でも同じですよね。このまま放っておくと、地球環境は破壊されます。

投稿者:minoru61

テッキーズポッドを創業しました

2021年春、Techiespod(テッキーズポッド)を創業しました。日本のソフトウェア業界においてソフトウェア技術者の地位向上を目指したいと思いテッキーズポッドという名前の会社にしました。まだロゴもありません。ホームページもやっとできました。若いソフトウェア技術者と一緒に成長していきたいと考えております。これからIT業界に入りたいと考えている人たち、これまで大企業のシステムインテグレータで働いてきたが、もっと新しい働き方を目指したいと考える人たち、そんな人たちと一緒に成長できる会社を目指しております。

DXの時代を支えるのは誰だ!

昨今企業でのDXがうまくいってないと言われています。米国やヨーロッパからやってくる新しいビジネスを日本からも作っていくことが大事です。そんな時代にこれまでのように、ユーザが要件を話して、プロジェクトマネジャがその要件をまとめて、そしてソフトウェア技術者たちがそれを仕上げていくやり方ではDXの時代にはついていくことができないでしょう。経済産業省の「2025年の崖」ではエンジニアが不足しているといっております。しかし、どのようなエンジニアが不足しているのでしょうか?

「AIの技術者が不足している」と言われております。もちろんAIの技術者も不足しています。「いや、DevOpsの技術者必要なんですよ」という人もいます。確かにDevOpsの技術者も必要です。「いや必要なのはSRE(Site Reliability Engineer)なんですよ」といろんな人がいろんなことをいいます。もちろんSREも必要です。しかし、DXが進まない1番の原因はそこでしょうか?ソフトウェア技術者自体がこれから作るサービスが面白いと考えて作ることだと思います。ユーザがこんな物作って欲しいというものを淡々と作っていてもいいものは生まれません。AI技術者も、DevOps技術者も、SREも、フロントエンドエンジニアも、セキュリティエンジニアも、サービスをよくするためのアイデアを出し合って、ユーザとともに働く時代にやっとなってきました。そういう人たちがDX時代を支えるのです。

リーンスタイルは日本から生まれた考え方!

私が「リーン」という言葉を初めて聞いたのは1990代初頭でした。”The Machine that change the world(The Story of Lean Production)”という本を読んだときに顧客の買い方が変わっている時代に作り方を変えないのはおかしい!と思いました。この本はアメリカからみた日本の自動車業界の生産方法について書いた本です。そしてそのサブタイトルには、”How Japan’s Secret Weapon in the Global Auto Wars will Revolutionize Western Industry”と書かれておりました。当時は国際問題になるほど、日本の自動車業界は強かったのです。その強い理由がこの本には書いておりました。

エリック・リースが「リーンスタートアップ」という本を書いた時に、この本のことを思い出してもう一度読み直しましたが、日本の自動車会社がフォードやGMなど米国の自動車会社の足元にも届かないぐらいに小さかったころに考えたやり方が、数十年の時を経てもう一度必要になってきていると思います。そして、この考え方はソフトウェア技術者が必要とするものと同じです。「スタートアップ」という言葉は、フォードやGMに比べて、資本力のない日系の自動車会社のことを意味します。

DXはこれまでの「情報システム」とは違うと思うべし!

このことから考えて、DXとは従来の「情報システム」と呼ばれるものとは違うものと考えた方がいいでしょう。それは「作り方」も違うし、「作るもの」もちがうと考えなければなりません。同じAIでも基幹システムに必要なAIとDXに必要なAIは違います。インフラも、そして運用のやり方も違います。従いまして、最初の話に戻ると「ソフトウェア技術者達(Techies)の働き方」から変わらないとDXは成功しないと考えます。