はじめに
時間が経つのは早いもので、もう 2020 年が終わろうとしています。
この記事には、2020 年末の時点で自分が感じている IT トレンドについて書いていきます。
IT トレンドに関する書籍やガートナーのハイプサイクルなどには身近に聞かない単語が結構多いですが、この記事にはあくまで自分のまわりで感じられるトレンドについて書こうと思います。
自分はサーバサイドやインフラを中心としたエンジニアなので、視点はそちらに偏っています。ご了承ください。
また、今年に限ったトレンドという訳でもなく、ここ数年くらいで感じる動きくらいのものになります。
要するにポエム記事なので、気軽にお読みいただければ幸いです。
目次
以下の分類で 18 個のテーマについて書いていきます。
- データ分析
- 機械学習全般
- AutoML
- エッジ AI
- ソフトウェア設計
- モジュラモノリス
- DDD
- 技術要素
- NewSQL
- React vs Vue.js
- Netlify
- GitHub Actions
- インフラ
- サーバレス
- MLOps
- ゼロトラスト
- XaaS
- SaaS
- iPaaS
- その他
- VR
- 仮想通貨
- デジタル庁
- M1 Mac
データ分析
機械学習全般
やはり IT トレンドの話といえば、機械学習は外せないと思います。
機械学習自体は全然新しい話ではないですが、最近は AI やディープラーニングといった単語が、どんどん一般に認知されるようになっていると思います。
しかし、以前からよくある話ではありますが、機械学習ありきでプロジェクトを開始してうまくいかない例を引き続きよく耳にします。
自分が機械学習関係の話で難しいと思うのは、機械学習を使って費用対効果がプラスになる場面が、一般に想像されているより少ないことだと思います。
多くの時間・お金をかける必要がある機械学習は、まだまだどの会社でも使うほどの技術にはなっていないように感じます。
また、個人的に、機械学習ブームは少し前よりは落ち着いてきたのではないかとも感じています。
ビジネスにデータを使うこと自体は今後も発展していくと思いますが、今は一時期ほどの盛り上がりではなくなっているかもしれません。
AutoML
機械学習関係で特筆すべきは、AutoML 系の発展だと思います。
実際にやってみたら非常に低コストで想像よりはるかに良い精度が出て驚いた、という話をよく耳にします。
個人的には、AutoML 系の技術は今後さらに発展していくと考えており、気軽に使えるようになっておくと良いのではないかと思っています。
もちろん、どこまで発展しても第一線のプロが手でチューニングした方が優れた結果を出せるとは思います。
ですが、AutoML で非常に安価にある程度の成果を得るのと、プロを雇ってより良い成果を得るのと、費用対効果で前者が勝る場面がどんどん増えていくと思います。
機械学習は、そもそものコンセプト的にも自動化する方向で発展しやすいと思います。
場合によっては、モデリング要素が大きく自動化しにくい統計などの分析手法のほうが、人間に残された仕事として流行する可能性もあるのかもしれません。
エッジ AI
機械学習まわりで追加で挙げるとすると、エッジ AI が比較的トレンドかもしれません。
よくある、学習はクラウドで行い推論をエッジで行うという分担以外にも、エッジで学習するケースが登場しているようです。
といっても、これはまだ登場したばかりの手法のようで、民主化されるのはまだしばらく先だと思います。
エッジの推論としては、Firebase の MLKit などもどんどん整備されていっているようです。
ソフトウェア設計
モジュラモノリス
この数年、マイクロサービスへの反発からモジュラモノリスが好まれる風潮が始まっている気がします。
たしかにマイクロサービスには様々なデメリットがあるため、モジュラモノリスの設計を学ぶと生かしやすい場面が多いかもしれません。
モジュラモノリスについては、まだ定番の設計などが確立されていないと思いますが、今後どんどん記事などが増えていきそうな予感を感じています。
モジュラモノリスを意識したフレームワークなども登場したら面白いかもしれません。
ただ、結局、マイクロサービスというほどではなくても適切な規模・コンテキストでサブシステムに分割していく必要はありますし、マイクロサービスで培われたエコシステムはそういった場面などで引き続き使われていくと思います。
マイクロサービスと関連して、この数年流行していた Observability については、今年は少し落ち着いた気がします。
DDD
個人的に、DDD などの設計やモデリングを重視する手法がどんどん盛り上がっているように感じています。
一時期は Ruby on Rails などで素早く実装して価値を届けることがスタートアップの王道のような風潮がありましたが、そういったシステムが年を重ねて大きな負債になってきたことの反動かもしれません。
これと関連して、言語として Ruby を学んで次に Go を学ぶという流れが増えているように感じます。
よくある話ですが、技術などのトレンドはぐるぐる回りながら発展していくという考え方があります。
設計やモデリングを重視する流れの反発として Ruby on Rails などで高速に開発する手法が流行し、その流行が一段落して再度設計やモデリングを重視する流れになってきているのではないかと思います。
技術要素
NewSQL
データベースまわりでは、NewSQL という単語を時々聞くようになりました。
自分は NoSQL の設計は RDB より遥かに難しいと思っているので、RDB 寄りの技術が発展するのは嬉しいです。
AWS の RDS Proxy なども、RDB ベースの技術の発展として注目したいところです。
NoSQL も、気軽にさわり始められると見せかけて実は上手に使うのが難しい技術なので、大きな技術負債になっているケースが少なくないのかもしれません。
React vs Vue.js
他のテーマと比べて非常に小さい話題かもしれませんが、React vs Vue.js は、この数年で React に大きく傾いたように感じます。
また、一時期全然聞かなくなっていた Angular についてまた少し聞くようになりました。
React が Vue.js より使われるようになったのは、TypeScript と Vue.js の相性が悪いことが一番大きな原因ではないかと思います。
(Vue 3 である程度改善されたようではあります)
TypeScript を使うことは、この数年でどんどん一般的になっているように感じます。
非常に小規模かつ学習コスト低く始めるには Vue.js が適しているものの、本当に小規模の場合を除けば React の方が使いやすくなっていくイメージがあります。
フロントエンドのエコシステムは、以前の混沌状態から比べるとかなり変化のスピードが落ち着いてきたように感じます。
フロントエンドつながりですが、Web デザイン界隈では「ニューモーフィズム」というものが登場してトレンドのワードになっているようです。
Netlify
2015 年に公開されたばかりの Netlify ですが、今や静的サイトのホスティングサービスとして非常に有名です。
GitHub と連携して非常に簡単にホスティングが可能で、CMS などの機能も豊富です。
類似サービスである Vercel もよく見かけます。
静的サイトのホスティングサービスがよく使われるようになった背景としては、Let's Encrypt などを使って SSL 証明書を簡単に取得できるようになったこともあります。
以前は「Let's Encrypt の証明書は信用ならない」といった声を聞くことも多かったですが、もはやそういった批判ができないほど多くのサイトで Let's Encrypt が使われています。
GitHub Actions
2019 年末に GA されたばかりの GitHub Actions は、急速に CI サービスの筆頭候補になりました。
GitHub Actions は GitHub さえ使っていれば追加のアカウント登録なども不要であり、CircleCI よりもさらに簡単にセットアップ可能です。
今後もどんどん使われるようになっていくと思います。
私は仕事でたくさんの CI サービス・ツールをさわってきましたが、CI サービスを何か 1 つ身に付けるなら GitHub Actions がオススメです。
まださわったことがない方は、ぜひ一度さわってみることをおすすめします。
インフラ
サーバレス
今年はサーバレスまわりが非常に盛り上がっているのを感じました。
RDS Proxy などのサーバレスのためのサービス・機能が大量に登場し、どんどん使いやすい技術になっています。
Serverless Community(JP) による Serverless Meetup も非常に頻繁に開催されています。
また、以前からよく使われていた Firebase はさらにどんどん使われるようになっています。
これもサーバレスエコシステムの発展の 1 つだと思います。
アプリケーションのプラットフォームとしては、サーバレスコンテナである AWS Fargate と Google Cloud Run もどんどん新機能が出たり、エコシステムが発展したりしています。
一時期は Kubernetes の採用が流行していましたが、現状アプリケーションのプラットフォームとしては、AWS Lambda などの FaaS (Firebase などの BaaS を含む)、Fargate などのサーバレスコンテナ、Heroku などの PaaS の 3 つが主な選択肢となっています。
関連して、コンテナやサーバレスと相性の悪い JVM 言語が苦しんでいるのを感じます。
個人的には、静的型付けで有力だった JVM 言語がコンテナやサーバレスと相性が悪いことが、Go 言語流行の理由の 1 つだと思っています。
MLOps
この数年で聞くようになったインフラまわりのトレンドワードと言えば、1 つは「MLOps」だと思います。
多くの会社で機械学習への取り組みの最初の段階が終わり始め、技術検証ではなく実運用するフェーズになったことで注目されているのだと思います。
AutoML などの発展もあり、AutoML などの簡単にできる分析技術を駆使しつつ MLOps 的なスキルも使って、機械学習を利用した機能・サービスをスピーディに構築できる、ということがデータ分析を扱うエンジニアには大きな価値になるのではないかと思います。
といっても、実は自分が今年の初めに想像していたよりは MLOps というワードの流行は弱かったです。
その分、来年以降さらに盛り上がっていくのではないでしょうか。
余談ですが、関連するワードである「DevOps」については最近目にする機会がかなり少なくなり、死語に近くなっているように思います。
ゼロトラスト
インフラまわりのトレンドワード 2 つ目は「ゼロトラスト」です。
リモートワークが普及する中、セキュリティ製品を売るのにも便利な言葉なので、バズワード的に使われ始めている気がしなくもないです。
実際の内容は結構しっかりしたものだと思うので、着実におさえておきたい技術要素の 1 つです。
XaaS
SaaS
今更ですが、SaaS 界隈の発展は本当にものすごいです。
多くの業務的な要請が SaaS で解決できてしまいます。
例えば、ホームページ作成の SaaS である Wix は、この数年で非常に使いやすくなりました。
3 年前にさわったときは「まあこんなものか」という印象だったのですが、今や簡単なホームページを作るには十分以上のサービスとなっています。
今後も SaaS エコシステムは発展していくはずです。
エンジニアであっても、自分で作ることだけでなく、すでにあるサービスを使うことも身につけて、効率よくビジネスを進められるようにすることが重要だと思います。
また、先日発表された AWS SaaS Boost はまさに SaaS エコシステムの発展を加速させるものになりうると思います。
自分も SaaS の開発に関わる中で「SaaS を気軽に作れるようにする」というコンセプトは絶対に需要があると思っていたので、非常に注目しています。
iPaaS
XaaS の中で最近非常によく耳にするのは、IFTTT や Zapier に代表される iPaaS です。
まだ身近にある程度規模のある活用事例を聞いたことはないのですが、試してみた記事などを見かけることは非常に多くなりました。
SaaS と同じく、こういったサービスを生かすことでエンジニアも本来するべき仕事に集中できると思うので、注目しておくと良いのではないかと思います。
その他の XaaS では、少し前は MaaS という単語をよく耳にしましたが、最近はあまり聞かなくなった気がします。
その他
VR
これは完全に個人的な話ですが、今年は VR というか、VTuber を見て非常に驚きました。
(VTuber を VR に分類していいかは微妙なところです)
これほどリアルタイムでぬるぬる動くようになっている思っておらず、想像以上のスピードで世界が進化していることを感じました。
もはや特別な知識がない一般人でも VTuber として活動できるようになっているようで、実際の体ではなくアバターで交流するような世界が非常に近くなっていると思います。
個人的に、こういうバーチャルな世界観はすごく面白いと思います。
哲学的ゾンビのような話など、考えると色々思うところもありますが、自分はこの方向で技術が発展していく世界を見届けたいです。
また、このあたりは現状の日本における数少ない得意分野だと思うので、生かしていけると良いのではないでしょうか。
VTuber に限らず、YouTube などのプラットフォームを利用とした動画関係 (特にライブ配信) のエコシステムは今後もどんどん発展していくと思います。
関連して、自分のまわりでは、もはやテレビは持っていないという人も多くなってきています。
仮想通貨
今年は技術的な理由というよりも経済的な理由で仮想通貨について耳にすることが多かったです。
コロナ禍での新興国の通貨への不安や、各種政策によって今後各国の法定通貨がインフレするという懸念により仮想通貨が値上がりしている、といった話を聞くことが非常に多かったです。
通貨としては LINE の LINK について聞くことが少しありましたが、少なくとも自分のまわりでは大きく盛り上がるほどではありませんでした。
個人的には、数年前からビックカメラなどがビットコインの決済に対応していたことを最近まで知らなかったので、今年初めて知って驚きました。
デジタル庁
IT トレンドと言っていいのか分かりませんが、デジタル庁はやはり話題になることが少なくありませんでした。
正直日本政府の IT は非常に遅れていると感じる方が多いと思うので、これを期に改善していくといいなと思います。
関連して、今年個人的にエストニアの電子政府について調べて
- KSI ブロックチェーン
- X-Road
という技術を知り、なかなか面白かったです。
電子政府に興味がある方は是非一度調べてみてください。
M1 Mac
まさに最近盛り上がっている話題としては、M1 Mac があると思います。
まだ使えないツールなどもたくさんあると思いますが、それでも購入しようという人が自分のまわりでは結構多いです。
実際に使ってみた感想としても、非常に高速で驚いたという声が多いです。
Mac 繋がりで言えば、AWS の EC2 Mac インスタンスの登場はかなり衝撃でした。
今まで iOS 向けの開発には Mac の物理端末が必須だったのが、これで変わっていくのかもしれません。
イマイチ盛り上がりを感じなかったもの
技術トレンドの話題でよく出る以下のものについては、自分のまわりではあまり盛り上がりを感じませんでした。
- 量子コンピュータ
- IoT
- RPA
- ブロックチェーン
- PWA
- 5G
少しずつ発展したり身近になったりしているとは思うので、今後大きな変化があればキャッチアップしていきたいところです。
総括
DDD や TypeScript の盛り上がりなど、ソフトウェア設計は気軽に素早く作る風潮からある程度丁寧に作る方向に切り替わり始めているのを感じます。
また、今に始まったことではありませんが、ソフトウェア開発全般としてビジネスのコアに集中する環境がどんどん整っているように思います。
例えばサーバレスや AutoML もそうですし、SaaS や iPaaS などによって各社が開発すべきものがどんどん小さくなっていっています。
技術トレンドというのは難しいもので、今まさに盛り上がり始めているものに気付くのはかなり難しいですし、来年何が盛り上がるのかも全然分かりません。
ここに書いたものが一年後にどうなっているかも楽しみです。