エンジニアの視点から、クラウドネイティブ技術とどのように向き合い、学んでいくべきか

2021年8月27日(金)
赤井 誠

はじめに

国内外で「クラウドネイティブ」に取り組む企業やエンジニアが増え、クラウドネイティブ関連のイベントへの参加者も活況を呈しています。一方で「クラウドネイティブとは、なんでしょうか?」という疑問を持っている方々も多くいます。

そこで本連載では、クラウドネイティブについて解説するとともに、それを支える基本的なテクノロジーやソフトウェア、そして、特にエンジニア視点として、どのように学んでいくかを紹介していきます。

最終回となる今回のテーマは「クラウドネイティブ技術について、エンジニア視点として、どのように学んでいくか」です。まず、お伝えしておきたいことは、現時点ではすべてのクラウドネイティブテクノロジーを体系的に網羅するのは困難だということです。それはクラウドネイティブテクノロジーが広範囲におよび、発展途上であるためです。

ただ、そうは言っても、基礎的なテクノロジーやソフトウェアは定番化が進んでいます。そのため、基礎的な学習を行った後は、自分が興味のある分野や仕事で必要となる領域を学んでいく方法が良いと考えます。これは、サーバーテクノロジーやオープンソースを学ぶときなども共通です(なお、すべてが体系化されたときは違った分野で新しいテクノロジーも出現し、同じような話が展開されることになるでしょう)。

そこで、私がこれまでに行ってきた学習方法に加え、クラウドネイティブテクノロジーエキスパートの方々がどのように勉強したのかを紹介しようと思います。クラウドネイティブを学ぶための1つの指針となれば幸いです。

Webサイトの情報から知る

まず、定番となるのが、本サイト(Think IT)をはじめとするITメディアサイトからクラウドネイティブに関する記事を読み、分からないところをまずは単語から、そのあとは具体的に調査することです。

今のところ、この方法で掘り下げていくと、英語のオリジナルサイトにたどり着くことがほとんどです。つまり、「英語で読む」ことからは避けられなくなります。英語は勉強しておいて損はありません。

ほかにも、グローバル動向からテクノロジーを追いかける方法があります。Cloud Native Computing Foundation(CNCF)では、クラウドネイティブに関して定期的にサーベイを行っており、GitHubに過去のサーベイ結果が掲載されています。このサーベイでは、エンジニアが使っているツールや環境が網羅的に調査されています。

●CNCF Survey Data:https://github.com/cncf/surveys

例えば、サービスメッシュに関しては、現状の利用率と使っているツールや評価中のツールが紹介されています。

ここから、Istio、Linkerd、Consulが多く本番環境で利用されていることが分かります。ここから何か1つを学習するといったことが考えらます。

セミナーや展示会への参加から知る

クラウドネイティブ関係のイベントや展示会に参加して、最新動向を探ることも有効な学習方法です。

時節柄、昨今はセミナーもオンラインでの開催がほとんどです。そのため、オンラインで気軽に参加できて、また後で講演のアーカイブが提供されることが多くなっています。これを利用しない手はありません。

例えば、日本国内においては「CloudNative Days」がおすすめイベントの1つです。

●CloudNative Days公式サイト:https://event.cloudnativedays.jp/

また、CNCFとLinux Foundationが主催する「KubeCon+CloudNativeCon」は、この分野のフラグシップイベントと言えます。コロナ禍以前は、参加チケットが売り切れるほどの集客でした。こちらも、オンラインとオンサイトとのハイブリッドで開催されるようになってきています。2021年は10月に米ロサンゼルスで開催されますが、現状では日本から訪米するにはハードルが高い状況なので、オンラインで参加できることはうれしいですね。

●KubeCon+CloudNativeCon公式サイト:https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/

認定資格を取得する

クラウドネイティブテクノロジーのすべてを網羅することは難しいと前述しましたが、すでにデファクトスタンダートとなってきているテクノロジーがあります。例えば、「Cloud Native Trail Map」のステップ1でコンテナ化が取り上げられているように、コンテナの基礎知識を持つことが重要だと思います。さらに、オーケストレーション分野ではKubernetesを欠かすことはできません。

コンテナについては、書籍やWeb記事など多くのリソースが有償/無償で提供されています。例えば、Linux FoundationのKubernetes Fundamentalsでは、Kubernetesの基礎を学ぶことができます。

●Kubernetes Fundamentals(LFS258):https://training.linuxfoundation.org/training/kubernetes-fundamentals/

基礎から一歩を進めるには、Kubernetesにおいては、やはり「Certified Kubernetes Administrator(CKA)」の取得を目標とするのが良いでしょう。認定資格を取得するために勉強することは知識の整理につながり、また、最近ではハンズオン試験も多いので、机上だけの知識にはならないといった利点もあります。

●Certified Kubernetes Administrator(CKA)公式サイト:https://training.linuxfoundation.org/certification/certified-kubernetes-administrator-cka/

Linux Foundationが認定するCKAは、インストールから本番環境レベルのKubernetesクラスターの構成・管理までができることを証明する資格です。具体的には、Kubernetesのネットワーキング、ストレージ、セキュリティ、メンテナンス、ロギングとモニタリング、アプリケーションのライフサイクル、トラブルシューティングなどの主要な考えを理解していることを示します。

ここで、すでにCKAを取得しているエキスパートから、なぜCKAを取得しようと考えたのか、また、どのように勉強したのか、その勉強法や役に立ったことを聞いてみました。

MKTインターナショナル株式会社 代表取締役社長
日本HPに入社後、ソフトウェアR&D、事業企画、マーケティング部門を歴任。Linux事業リーダーとして日本HPをLinux No.1ベンダーに、HPC事業を立ち上げHPC No.1ベンダーへと導く。2011年4月MKTインターナショナルを起業し、現職。『できるPRO MySQL』(インプレス刊)等著書多数。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています