皆さま、はじめまして。balconia株式会社 Security LABの技術顧問をしている松本亮介と申します。Security LABは2021年の10月に設立されたチームで、設立の経緯や活動については、「FinTech・金融業界のセキュリティ知識の普及とセキュリティ投資の適正化を目指すSecurity LABを設立」という記事や「Security LAB設立の背景セキュリティには翻訳が必要だ!」でも紹介されていますので、まずはそちらも御覧いただけると幸いです。
さて、本連載では、タイトルにある通り「大規模クラウドやWebホスティングサービスから学ぶ実践的なLinuxのセキュリティと仮想化技術」というタイトルで、Linuxのセキュリティやリソース制御、パフォーマンス、運用技術について解説していきます。
今回は第一回ということで、まずは本連載がどういうことを目的にして、どのような情報を解説をしていきたいか、ということについてご説明します。複数回に渡って解説が続きますので、どういうミッションやビジョンに基づいて解説しているかを、予め読者の皆さまにお伝えしておくことで、みなさまがより内容を理解をしやすくなると考えているからです。
■はじめに
・本連載の強み
まず最初に、本連載の強みや想定読者についてお話します。本連載は、大規模クラウドやWebホスティングサービスで提供される、汎用的で堅牢なWebアプリケーション実行環境のセキュリティやリソース制御、パフォーマンス、運用技術を取り上げます。
実際にクラウド・ホスティングサービス分野に関する研究開発で京都大学博士(情報学)を取得し、実務のビジネスで多くの企業の大規模のクラウド・Webホスティングサービスを設計・実装し、運用・保守も行ってきた、研究者兼エンジニアである松本が解説をすることが本連載の強みの一つです。
さらに、OSやミドルウェアのセキュリティや性能、仮想化技術といった学問的な理論と同時に、サービス事業者の観点からコストを下げて、低価格を実現するために必要な日々の運用技術やサービス設計といった実践も含めて、両方向の観点から解説します。
学問的、実務的な経験に基づき、実用上重要なポイントを重点的に学びつつも、学術的な理論に沿った解説をすることで、より実践的なLinuxのセキュリティと仮想化技術を深く学ぶことができるようになると考えています。
■想定する読者層
読者の皆さまが本連載を通じて学びを最大化できるように、簡単に想定読者についてまとめます。
- Linuxのコマンドや操作に関する基礎知識(数ヶ月触ったことがある程度)
- Webアプリケーションを実行するサーバ環境のセキュリティや運用技術に興味がある
- Webアプリケーションを実行するサーバ環境のパフォーマンスやリソース管理に興味がある
- クラウド・ホスティングサービスの内部技術において、特にOS・ミドルウェア技術や仮想化技術に興味がある
- クラウドのマネージド・サービスの使い方や仕様そのもの、というよりは、内部技術や基礎概念に興味がある
また、もう少し「学びたい」とか「困っている」という観点から、より詳細な課題意識を持っている方も歓迎します。例えば、具体的には以下のような人たちにとっても有用な連載になるのではないかと考えています。
- Webアプリケーション実行環境のセキュリティや性能要件に対する考え方に困っている方
- クラウド・ホスティングサービスのセキュリティや性能、運用技術に関する知識や内部の技術的な設計を学びたい方
- Linuxのセキュリティや仮想化技術についてWebサーバをテーマに深く学びたい方
- Linuxのセキュリティや仮想化技術について実践的な視点から重要なポイントを学びたい方
- 将来的にクラウドホスティングの基盤技術に関する研究開発やそのやり方に興味がある方
特に最後の要件は、自分がクラウド・ホスティングなどの分野で研究していることからも、関連する内容を解説できることが多いと考えます。また、Security LABという活動からも関連性が深い話であるかと思います。
■本連載のミッションとビジョン
・本連載のミッション
次に、連載というからには、本連載を通じてどういうことを読者が得られるか、本連載の「ミッションとビジョン」について簡単にまとめます。「ミッション」は、連載を通して筆者が読者の皆さんに提供したい価値と、そのための筆者の姿勢を示しており、箇条書きすると以下のような価値を提供することを筆者として目指します。
- 実践的なLinuxのセキュリティと仮想化技術を理論と実践の観点から深く学ぶことができる
- Webサーバのセキュリティを考慮した場合の性能とリソース管理の考え方について理解できる
- ご自身が開発しているWebアプリケーションを配置すべきクラウド・ホスティングサービスを選定できる
- Webアプリケーションの実行環境のセキュリティに関する深い知識がつく
- 当該分野の研究開発の取り組み方についてイメージが湧く
Security LAB(セキュリティ研究所)というからには、箇条書きの最後にあるように、研究開発の取り組みとは、どういうものであるのか、読者がイメージができるような状態になることを目指していきます。
また、読者が「セキュリティと仮想化技術を、研究動向も含めて学べるようにしたい」とも思っています。
これは目標全体にも含まれる話ではあるのですが、まず大規模クラウド・ホスティングサービスの設計に基づいて実践的なセキュリティ・仮想化・リソース管理・運用技術を学ぶことができるように解説します。
その上で、当該分野を専門としたエンジニアであり研究者でもある筆者が、関連研究や基礎概念を通じて関連技術を整理して解説し、最新の研究動向についても述べていきます。
これらの解説によって、実際のサービスや現場に近い最新の研究動向を知ることで、理論と実践を両立し、昨今の背景を反映した体系的で実効性のある知識を学ぶことができるようになります。特に、OSやミドルウェアに関する知識を習得するために大規模ホスティングサービスのアーキテクチャに着目することが多くなります。
・本連載のビジョン:教科書や技術書籍では学びにくい領域を自ら学び続けられるように
筆者はこれまで沢山の専門書や論文を読んだり、理論としての勉強をしてきたのですが、本連載のビジョンを考える中で、改めて運用技術やインターネット技術、Webサービスといった分野において、広範囲な基礎知識が記載された技術書籍等で重要なポイントや、実践的な領域を選択して、集中的に学習することは難しいと感じています。
また、学問としてはまだまだ歴史が浅いことから、実践したことを言語化したり一般化して体系的な情報に落とし込むことができていない領域が沢山あるように感じています。だからこそ、本連載を通じて「実際にサービスやシステムを運用していないから学習に自信を持てない」という気持ちをできるだけ減らすようにしたいのです。
そのような課題意識から、読者が技術書籍等から学ぶ理論と、現場で得られる実践的な知識をできるだけ結びつけて習得できるように解説していきます。
本連載を通読した後に、読者が不安なく実践的な領域を軸に、自信をもって更なる深い知識や幅広い理論の習得に気持ちよく自走し、学び続けられるようになると幸いです。
■開発・運用技術は研究になる:言語化の重要性
筆者自身は、エンジニアとしてのキャリアを積みながら、その取り組みを京都大学の博士課程で論文化しながら、最終的には京都大学博士(情報学)を取得しました。ちなみに、「京都大学博士(情報学)」と書いているのは、これは博士号の授与式の書類に、名刺や自己紹介で博士号を名乗るときはこのように正式名称で書きなさい、と書いてあったためです。
と、そのような蛇足は置いておいて、 筆者は博士号を取得する過程で、「Webサーバの高集積マルチテナントアーキテクチャに関する研究」というタイトルで博士論文を執筆しました。その論文作成の過程で、論文に落とし込むことで、正しさの議論が時として不明瞭になる開発・運用技術を、正しく定量的かつ継続的に学会と検証可能になることを実感できました。
また、論文を読めば検証可能な状態になるように言語化することが非常に重要であり、更にいうと、言語化という方法論によって科学は発展してきたともいえるわけです。その研究の手法や論文のフレームワークを活用して、「開発・運用」という言葉を具体化し、正しさと広がりを検証し、改善し続けることもできるのだと理解できました。
この考え方を図示すると、以下のようになります。
本連載を通じて、この分野の研究開発の方法論もお伝えすることができれば幸いと考えています。開発運用技術やシステム開発の新規性・有効性・信頼性の示し方も知ることができ、技術の論文化と学会発表のサイクルを回しながら、技術を育てる方法も知ることができるように解説していきたいです。
「技術の言語化」を理解することによって、例えば、ビジョンの中で示した通り、書籍などからは学びにくいような分野であったり、未だ世に存在しない技術であっても、自ら自信をもって道を切り開き、課題を解決し続ける人材育成の一端となり、学術と民間とで上手に連携して技術と人を育てられるようになればより良いと考えています。
そして、当該分野において、新技術の正しさと広がりを世界基準で検証し普遍的な技術に育てていくために、論文やトップカンファレンスのような国際会議に挑戦する方法もあります。それらの活動から得られる普遍的な技術は、一般化され、誰もが使える技術であるという意味で組み合わせが容易で、変化に強く進化させやすいとも言えるでしょう。
まだ学問として体系化されていない領域が多くある分野であると述べましたが、言語化を信じて検証と改善のサイクルを産学で連携して取り組むことによって、学問へと昇華できる分野であると筆者は信じています。そして、このような活動にも興味を持ってもらい、自ら新しい技術や関連する技術の体系化に取り組むエンジニアや研究者が増えれば、筆者としては非常に嬉しく思います。
■まとめ
本連載の第一回は、まずこの連載のミッションとビジョンをご説明しました。これらを理解頂くことで、部分的な技術を学ぶだけでなく、より大きな自分自身の目標と重ね合わせて御覧いただけると、筆者としても非常にうれしく思います。
次回は、各連載で解説する項目の紹介や、筆者の簡単な自己紹介、紙面が余れば技術的な話についても解説し始められるとよいかと考えています。
ぜひ、このエントリで興味を持っていただいた方は、次回以降も御覧いただけると幸いです。
■Security LAB情報提供ホワイトペーパー第1弾
「システムのフェーズ別リスク項目と効果的な対策案」
以下のURLから無償でダウンロードしていただけます。
URL:https://balconia.co.jp/service/securitylab/download/
■Security LABに関するお問い合わせ
Security LAB問い合わせメールアドレス:securitylab@balconia.co.jp