IT・趣味関連

【2020年版】ITトレンド(押さえておきたい注目技術、キーワード)

SEとして、押さえておきたい注目技術、キーワードとなります。

SEをやっていれば、よく聞くキーワードで、なんとなく理解できているつもりですが、人には、上手く説明できないものです。

SEとして、お金をもらっている以上、最低限、人に説明できるレベルにはなりたいのものです。

ハイブリッドクラウドとは

クラウドコンピューティングの実現形態の一つで、「パブリッククラウド」と「プライベートクラウド」を組み合わせたもの。

また、仮想化システム上で実行されている仮想マシン(VM)をパブリッククラウドとプライベートクラウドを跨いで移行できるような運用形態のこと。

ソフトウェアやデータをネットを通じてサービスの形で利用するクラウドコンピューティング環境を構築する際に

自社で用意したサーバ群でソフトウェアを動作させる「プライベートクラウド」を利用する場合と、データセンター事業者が運用する「パブリッククラウド」をインターネットを通じて、遠隔から利用する場合の二通りがある。

ハイブリッドクラウドはシステムの特性に応じてこの二つを組み合わせたもの。

ハイブリッドクラウドのメリット

運用状況によって、使い分けることによって、運用費を削減することができる。

例えば、機密性が高いデータを扱うシステムは、「プライベートクラウド」で運用し、時期によって、処理量に大きな変動があるものについては、「パブリッククラウド」で運用することで、一定のセキュリティを担保しながら固定費を削減うすることができる。

マイクロサービスとは

ソフトウェア開発の技法の1つであり、1つのアプリケーションをビジネス機能に沿った複数の小さいサービスの疎結合された集合体として構成するサービス指向アーキテクチャ(Service-oriented architecture:SOA)の一種である。

簡単に表すと、システムを複数のサービスの集合体として構成し、サービス相互をRESTful APIのようなシンプルで軽量な手段で連携する手法。

全体として巨大なシステムを数多くの小規模チームで分割して開発・運営するための手法である。

マイクロサービス⇔モノリシック

 マイクロ:独立した機能、モノリス:大きな単一機能

マイクロサービスのメリット

用途・目的ごとに小さな(マイクロな)サービスを作っておくことで「変化に強くて柔軟性の高い、アプリケーション開発を行う」ことができる。

マイクロサービスアーキテクチャによって、APIベースの開発に移行することでマルチデバイス対応など副次的なメリットもある。

最後に、マイクロサービスとは、スピードが求められる現代において、小回りの効いた開発を行うことができます。

ただ、サービスをどの程度に分割するかなど、判断が難しい部分もあり、知見、ノウハウが必要不可欠となります。まだ現在稼働しているモノリシックアーキテクチャからマイクロサービスへ移行が必要かは多角的な検討が必要となります。

キーワードとして、よく耳にするが実態がよくわからなかったので、簡単に調べてみました。

RESTful APIとは

RESTful APIとは、Webシステムを外部から利用するためのプログラムの呼び出し規約(API)の種類の一つでRESTと呼ばれる設計原則に従って策定されたものです。

RESTそのものは適用範囲の広い抽象的なモデルだが、一般的にはRESTの考え方をWeb APIに適用したものをRESTful APIと呼んでいる。

RESTとは

REpresentational State Transferの略

分散型システムにおける複数のソフトウェアを連携させるのに適した設計原則の集合、考え方のこと。Roy Fieldingが2000年に提唱した。

RESTの原則

アドレス可能性(Addressability)

ステートレス性(Stateless)

接続性(Connectability)

統一インターフェース(Uniform Interface)

RESTful APIのメリット

URIに規律が生まれることで、APIを利用するサービス開発者が楽になる

実現方法、RESTful APIの条件

用途に応じて4つのHTTPメソッドを使い分けること

ステートレスであること

レスポンスとともにステータスコードが返ってくること

RESTful APIのまとめ

RESTful APIは現在のWeb開発において、必須の技術であり、誰でも開発しやすく・第三者がすぐに理解できる仕様にできる。

新しいWebサービスを作る際にAPI指向でサービス開発をしたり、外部のAPIをしたりすることが今後必要なスキルとなってくる。

急速に変化する世の中に遅れないためにも、IT業界としても、ユーザが求めるサービスを即座に提供するスピードが品質と共に求められています。

従来のウォーターフォール開発から変革していく必要があります。

DevOpsとは

DevOpsとは、ソフトウェア開発の一つです。

2009年にオライリーが開催した「Velocity 2009」というイベントにおいて、紹介されました。

DevOpsのメリット

スピード、迅速な配信、信頼性、拡張性、共同作業の向上、セキュリティを向上してくれる

DevOpsのツール、手法

Opscode:Chef

Puppet lab:Puppet

継続的インテグレーション、継続的デリバリー

マイクロサービス

DevとOpsの衝突

各々の役割が違うため、しばしば衝突を起こしがちとなります。

開発者:より良いものを作ること

運用者:安定的にシステムを稼働させること

DevOpsに必要なこと

衝突を解決するうえで重要なことは、

開発者は、権限がない(いちいち運用者に依頼しないといけない)

運用者は、いろいろな開発部隊から依頼が舞い込んでくる

上記の事柄をクリアするために「測定」、ポータル等を利用した「共有」、ツールを利用した「自動化」などが挙げられる。

最後に、DevOpsは、キーワードだけが必要に取り上げられ、テクニカルな部分をクリアすれば成功するわけでなく、そこで働く人のカルチャー、組織の文化を変えていかないと本当の意味での成功とはいえない。

Dockerとは

Dockerとは一種の仮想化技術である。

Dockerの利用用途

例えば、APの動作に必要な環境をパッケージングされたコンテナをLinux上で独立して動かすことができ、素早く環境を立ち上げたい。環境をコピーしたいときに利用されることが多い。

DockerとVPSとの違い

VPSとの違いは、仮想マシンを立ち上げる際に、ゲストOSが必要となるが、DockerはホストOSのプロセスの一つなので、ゲストOSが不要で、独立した一つのアプリケーションというイメージ

OSS-DBとは

オープンソースのRDBMSとして、主要なOSSのDBは、少なく、以下3つが挙げられる。

PostgreSQL

以下、PostgreSQLエンタープライズ・コンソーシアムが、しっかりと纏められていて、有効な情報が掲載されている。

https://www.pgecons.org/

MYSQL

最も普及している人気の高いDBMSの一つ。ただ、Oracle傘下であるため、将来性がちょっと心配される。

MariaDB

MySQLをフォークして立ち上げられた。2018年5月にリリースされたバージョン10.3では、Oracle Databaseからの移行を支援するOracle Database互換機能が実装されており、脱Oracleの移行先DBとして、期待される。

-IT・趣味関連

Copyright© komaBlog , 2021 All Rights Reserved Powered by AFFINGER5.