Web業界のトレンドと今後の展望
今回は、Web業界の2020年後半現在におけるトレンドと、今後の展望についてまとめていきたいと思います。
これからエンジニアとしてWeb業界に飛び込もうとしている人は、現在のトレンドをしっかりと知って、Web業界では何が一体何が起きているかを理解しておきましょう。
Web業界は流行り廃りが早いので、現在のトレンドや未来の展望を知れば、もしかしたら、今一生懸命勉強していることが実は時代遅れで、もっと時間を割くべきことがあるかもしれないなんてことがあるかもしれません。
トレンドや展望を理解しておくと、現在最も勢いのある技術や将来性がある技術に、投資することができます。
適当に勉強するのではなく、Web業界全体の流れをしっかりと理解しながら、自分は一体どこにいて、何につながる勉強をしているのかを把握しながら前進していきましょう。
- スクールに言われたからとりあえず勉強してます。
- インフルエンサーがオススメしていたからとりあえず勉強してます
ではなくて、時代の流れを大局的に理解しながら、勉強をした方が楽しいし、より実用的なことを学べるようになります。
今回は、以前記事にもした勝又健太さんの「21世紀最強の職業」を参考に、現在のトレンドや今後の展望をまとめていきます。
量が結構あるので、全て紹介するために、一つ一つはそれほど掘り下げず、サクサク紹介していきたいと思います。
この現在のトレンドと今後の展望を紹介することによって、自分は勝又さんの本を動画4本で、営業妨害の勢いで完全解説することになります(笑)。
本当に自分の動画4本をみておけば、ほとんど本を買わなくてもいい状態になります(笑)。
こんなことを言ったら本当に営業妨害になるので、一応言っておきます。
「動画をみて本書が気になった人はぜひお買い求めください(笑)」。
さて、それでは早速現在のトレンドについて矢継ぎ早に紹介していきます。
2020年現在のWeb業界のトレンド
トレンド①:クラウド技術
トレンドの一つ目は、クラウド技術です。
ここ数年間の中でも一番のWeb業界の変化は、インフラとしてAWSやGCPのようなクラウドが使用されることが一般化したことです。
少し前までは、レンタルサーバやオンプレミスのサーバが使われていましたが、AWSやGCPの登場によって、バックエンドエンジニアやインフラエンジニアのスキルセットはかなり様変わりしましたよね。
クラウドエンジニアという言葉も、皆さんはもう普通に使っていますが、結構最近生まれたものです。
おそらく「マジ卍」とか「ぴえんを超えてパオン」と同じくらいの時期に誕生しました。
また、クラウドが登場して、様々な要素が抽象化したことによって、これまでインフラとバックエンドが明確に別れていたことが、両者の境界線が曖昧になりました。
今後も、IT業界の技術革新の中心は、このクラウドとその中心になると思われるので、これからWeb系エンジニアを目指す人は、クラウドの動向はしっかりとチェックしておきましょう^^
トレンド②:SaaS
トレンドの2つ目は、SaaSです。
ここからはクラウドサービス三連ちゃんです。
SaaSは「Software as a Service」の略で従来はパッケージとして提供されていたアプリケーションを、インターネット上で利用する提供形態です。
エンドユーザーにとっては、このSaaSが一番なじみのあるクラウドサービスかもしれません。
端末にアプリケーションをインストールすることなく、必要なサービスをインターネット経由で手軽に利用することができます。
現在では、さまざまな内容のサービスが数え切れないほどSaaSとして公開されていますが、代表的な例としては以下のようなものがあります。
中にはご自身がエンドユーザーとして利用したサービスもあるのではないでしょうか。
- Microsoft Office 365などのオフィスソフト
- GmailなどのWebメール
- Dropboxなどのオンラインストレージ
- サイボウズなどのグループウェア
トレンド③:IaaS
トレンドの3つ目は、IaaSです。
IaaSは、「Infrastructure as a Service」の略で「イアース」や「アイアース」と読まれることもあります。
アプリケーションを利用する環境も含めて一括で提供するSaaSとは異なり、IaaSはサーバーやストレージ、ネットワークなどのハードウェアやインフラまでを提供するサービスです。
現在、提供されている代表的なIaaSのサービスとして、
- Amazonが提供する「Amazon Elastic Compute Cloud (Amazon EC2)」
- マイクロソフトが提供する「Microsoft Azure」
- Googleが提供する「Google Compute Engine(GCP)」
などがあり、外資系メガクラウドベンダーとしてサービス展開しています。
トレンド④:PaaS
トレンドの4つ目は、PaaSです。
サービス対象が広範なSaaSや汎用用途であるIaaSと異なり、システム開発領域をターゲットにしているサービスがPaaSです。
「Platform as a Service」の略で「パース」と呼ばれています。
システム開発に必要なアプリケーションとOSをつなぐミドルウェアやデータベース管理システム、プログラミング言語、WebサーバーOSなどといったソフトウェア一式を提供してくれます。
トレンド⑤:コンテナ
トレンドの5つ目は、コンテナです。
特にDockerの広まりによって、Web系自社開発企業の開発スタイルや運用スタイルはここ最近で一気に変化しました。
Dockerの専門家ではないので詳しくは説明しませんが、Dockerを使用する主たるメリットとしては、
- 起動が高速である
- 開発環境と本番環境の差異を吸収できる
- デプロイやロールバックが簡単になる
- 構成管理やスケールの設定が容易になる
などがあります。
少し前までは、AWSであればEC2に直接アプリケーションをデプロイするような方式が取られていましたが、最近では、DockerとEC2のような何らかのコンテナ基盤を使う方式が多く採用されています。
そのため、これからWeb系エンジニアを目指す人にとっては、Dockerは必須のスキルの一つだと言えます。
トレンド⑥:マイクロサービス
トレンドの6つ目は、マイクロサービスです。
マイクロサービスとは、複数の規模の小さなサービスを組み合わせてひとつの大きなアプリケーションを構成する、ソフトウェア開発の技法のひとつです。
従来は、「すべての機能がまとまったひとつの大きな塊」としてソフトウェアを設計することが多かったのに対し、マイクロサービスはまず機能を分解していき小さなサービスを作ります。
それらを組み合わることでひとつの大きなソフトウェアを構成する。という考え方です。
従来のような巨大な「密結合の」アプリケーションだと、機能追加や改修のたびにコードが複雑化して修正を加える影響範囲が見極めづらくなります。
また、複数チームで並列で開発を進めたり、開発言語やフレームワークを変更することも難しくなります。
一方、一つ一つが疎結合の小さなアプリケーションを合体させていく形で開発を進めていくと、これらの問題が解消されるので、今このマイクロサービスという概念のもと開発が進めるチームが多いです。
トレンド⑦:CI/CDパイプライン
トレンドの7つ目は、CI/CDパイプラインです。
CI/CDとは「Continuous Integration/Continuous Delivery」の略で、日本語では継続的インティグレーション/継続的デリバリーといいます。
CI/CDは1つの技術を指すものでなく、ソフトウェアの変更を常にテストして自動で本番環境にリリース可能な状態にしておく、ソフトウェア開発の手法を意味します。
CI/CDを取り入れると、バグを素早く発見したり、変更を自動でリリースしたりできるようになります。
CI/CDには大きく分けてオンプレミス型とクラウド型があり、オンプレミス型としてはJenkins、クラウド型としてはTravis CIやCircleCIなどが有名です。
オンプレミス型は一般的に拡張性が高い一方、自分たちで構築・運用する管理コストが発生します。
クラウド型は拡張性が低いですが、サーバーなどを自前で用意する必要がなく、すぐに使い始めることができるのが大きな魅力です。
トレンド⑧:機械学習 / データサイエンス
トレンドの8つ目は、機械学習/データサイエンスです。
Web業界においても、機械学習やデータサイエンスはホットトピックであることは間違いありません。
Web系エンジニアが機械学習モデルを自分で構築したり、ビッグデータを解析することはほとんどありませんが、機械学習の機能を組み込んだサービス開発が広まっているので、Web系エンジニアと機械学習エンジニアが協業する機会が増えてきています。
また、データサイエンティストが分析を行うための分析基盤を、Web系エンジニアが構築するケースもあります。
トレンド⑨:SPA
トレンドの9つ目は、SPAです。
SPAとは「Single Page Application」の略で、単一のページでコンテンツの切り替えを行うWebアプリケーションのアーキテクチャの名称です。
SPAではブラウザによるページ遷移を行わずにコンテンツの切り替えなどを行うことで、ユーザー体験(UX)を大きく向上させることができます。
従来のWebページでは遷移時にページ全体が書き換わりますが、SPAでは JavaScriptを用いてページ内の HTMLの一部を差し替えてコンテンツを切り替えています。
これにより、ブラウザの挙動に縛られないUIの実現や、パフォーマンスの向上が可能になります。
⑩クロスプラットフォーム開発
トレンドの10つ目は、クロスプラットフォーム開発です。
例えば、iOSやAndroidなどのいずれかのOS向けに開発されたアプリケーションは、そのOS以外のプラットフォームで動作することはできません。
ただ、クロスプラットフォーム開発ツールを使用すると、一つのソースコードで複数のプラットフォームに対応するアプリケーションを開発することができるようになります。
最近では、FlutterやReact Nativeというクロスプラットフォーム開発ツールが人気でよく名前を聞きますよね。
モバイル用だけではなく、Windows用やMac用のクロスプラットフォームやアプリケーションが開発できるElectronというフレームワークも有名です。
まとめ
ここまでで、Web業界の最新技術トレンドについて10個紹介してきました。
トレンドだけあって名前は聞いたことがあるけど、その中身は知らなかったというものが多かったと思います。
今回は、紹介するものが多くて駆け足での紹介になったので、もっと詳細を知りたいという人は、個別でさらに調べてみてください^^
本記事の内容は、YouTubeでも解説しているので、動画の方も是非ご覧ください^^
今回もブログをお読みいただきありがとうございます😎 以下のLINE公式では、LINE限定の動画コンテンツやコラム、みなさん一人ひとりにパーソナライズした情報などを配信していますので、ぜひ友だち追加お願いします^^
(追加していただいた方だけに配布する限定動画もございます🎁)