ITインフラストラクチャ技術

機械学習技術 人工知能技術 自然言語処理技術 セマンティックウェブ技術 オントロジー技術 検索技術 データベース技術 アルゴリズム デジタルトランスフォーメーション技術 Visualization & UX ワークフロー&サービス 本ブログのナビ

ITインフラストラクチャ技術について

インフラ(インフラストラクチャー)は、もともと「下部構造(インフラが下部、ストラクチャーが構造)」のことだが、それが転じて「生活や産業の基盤となる設備・施設」を指して使われるようになった。身近なところでは水道・電気・ガスなどの設備や道路などがインフラに該当する。 例えば、道路にフォーカスすると、未知の上を車が走ることにより移動や流通が成り立つが、道路だけでもだめで、車だけでもだめという関係がある。車が活躍するための株構造を道路が提供しているということになる。 ではシステムにおけるインフラ、ITインフラとは何かというと、まずシステムを要素分解すると第2階層、「アプリケーション」と「インフラ」に分けることができる。前述の道路の例ではアプリケーションを車、インフラを道路と例えることができる。アプリケーションを動作させるための株構造をインフラが提供しているという構図となる。 ここではアプリケーションについて考える。例えば八百屋の販売業務をシステム化する事を考えた時、まず野菜を販売する人が行なっていることを理解し、領収書が必要と言われれば発行し、買い物客の献立を聞いておすすめ(レコメンド)をしたりといった様々な起こりうる業務をJavaなどのプログラミング言語を使用して事前に作り込んだみのがアプリケーションとなる。 通常は業務ごとにカスタマイズして作るが、世の中のありふれた業務(勤怠業務や営業支援など)にはすでにパッケージ(ソフトウェア会社が一般的な業務内容に合わせて作り、販売している製品)が提供されていることもある。 インフラを要素分解すると、「ハードウェア」と「システムソフトウェア」に分けることができる。 インフラエンジニアが仕事で扱うハードウェアには、物理的サーバー、ストレージ、ハードディスクの内容をバックアップする記録機器、ネットワーク装置、ラック等がある。 またシステムソフトウェアは、アプリケーションが動作する上で必要な汎用機能を提供するソフトウェアの事を指し、システムソフトウェアはOS(Operating System)とミドルウェアからなる。OSはアプリケーションやミドルウェアが共通で使用する機能を提供するソフトウェアで、例えばハードディスクの読み書き、通信、プログラム間のリソース調整を定期要するものとなり、ミドルウェアはOSとアプリケーションの間に存在するソフトウェアで、世の中のアプリケーションが共通して使用するものに特化して機能を与えるものとなる。アプリケーションをOS上で動かさずに専用のミドルウェア上で動かすことも多く、ミドルウェアを使うことで例えばデータベースとの接続を管理してくれるといったメリットを受け、アプリケーション側ではその機能の実装を最小限にできるため、業務処理に専念できる。 以上のインフラの構成要素をまとめると以下のようになる。 本ブログではこれらのインフラ技術に関して以下の項目について述べている。

アーキテクチャ設計

  • ドメイン駆動設計の概要とAIアプリケーションとの関係および参考図書

ドメイン駆動設計 (Domain-Driven Design, DDD) とは、ソフトウェア開発において、ビジネスドメインの理解に基づくソフトウェアの設計手法となる。ここではについて述べる。

ネットワーク技術

Web技術のベースとなるインターネットの始まりは複数のコンピューターを経由して通信するしくみであるARPNETから始まる。ARPANETは1960年代後半から研究が開始され、1970年台初頭ににアメリカで実現されたもので、パケットと呼ばれる通信データを細切れにしたデータを複数のマシンを経由して通信するというものになる。

当初は耐障害性の高いネットワークを構築するという軍事目的から始まったものであるが、それらを広く世界中で使われる標準技術まで昇華させたものがインターネットプロトコルスイート(スイートは一式を意味する)になった。

本ブログでは 以下のページにてこのネットワーク技術の詳細についてハードウェア/ソフトウェアの観点から述べる。

サーバー技術

サーバとは、HTTPに則り、クライアントソフトウェアウェブブラウザに対して、HTMLやオブジェクトの表示を提供するサービスプログラム及び、そのサービスが動作するサーバコンピュータを指す。 広義には、クライアントソフトウェアとHTTPによる通信を行うプログラム及びコンピュータを指す。

本ブログでは 以下のページにてこのサーバー技術について概要を述べるとともに、Apache HTTP Serverやnginx等の代表的なサーバーの概要と具体的な立ち上げについて述べている。

クラウド技術について

クラウド・コンピューティングは、1台の物理的なサーバー内に、仮想的に複数のサーバーを立ち上げる技術となる。 この技術の登場により、物理的には1台分のサーバーのスペースで複数のサーバーを運用できるようになっている。

本ブログでは 以下のページにて、このクラウド技術の概要について述べると共に、AWSでのクラウドパターンや具体的な実装やTerraformでの自動設定、さらにDocker技術やKubernetesを使ったコンテナオーケストレーションについて述べる

オペレーティングシステム(Linux等)

オペレーティングシステムとは、ソフトウェアの種類の一つで、機器の基本的な管理や制御のための機能や、多くのソフトウェアが共通して利用する基本的な機能などを実装した、システム全体を管理するソフトウェアとなる。

入出力装置や主記憶装置(メインメモリ)、外部記憶装置(ストレージ、ディスク)の管理、外部の別の装置やネットワークとのデータ通信の制御などが主な役割で、コンピュータに電源が投入されると最初に起動し、電源が落とされるまで動作し続ける。利用者からの指示に基いて記憶装置内に格納されたソフトウェアを起動したり終了させたりすることができる。

OSの機能を利用し、OSの上で動作するソフトウェアをアプリケーションソフト(application software、応用ソフト)という。アプリケーションの開発者は、OSの提供する機能を利用することによって、開発の手間を省くことができ、操作性を統一することができる。また、ハードウェアの仕様の細かな違いはOSが吸収してくれるため、あるOS向けに開発されたソフトウェアは、基本的にはそのOSが動作するどんなコンピュータでも利用できる。

本ブログでは 以下のページにて、このオペレーティングシステムの概要とLinuxの代表的なOSであるCentOS、Ubuntuさらに組み込み系のOSであるμTRONやAndroidなどについて述べている。

システム運用ミドルウェア

  • システム運用ミドルウェア概要

「Microservice with Clojure」より。今回はマイクロサービスシステム運用監視の為のElasticStashの活用について述べる。ここで述べた監視システムはマイクロサービスシステム以外にも広く適用可能となる。ElasticStashを用いた検索エンジンへの活用は”検索ツールElasticsearch -立ち上げ手順“等に詳細述べているのでそちらも参照のこと。

コンピューターにおけるハードウェア

コンピューターは、プロセッサ、メモリ、ストレージ、入力デバイス(キーボード、マウスなど)、出力デバイス(ディスプレイ、プリンターなど)、ネットワークインターフェイスカード、サウンドカード、ビデオカード、マザーボード、電源などのハードウェア部品から構成される。

本ブログでは 以下のページにて、これらのコンピュターのハードウェアでも特に、機械学習技術と関連の深いFPGAやASIC等のCPUと、人工知能技術とも関連が深いIOT技術について述べる。

DevOpsについて

DevOpsは、ソフトウェア開発(Dev)とIT運用(Ops)を組み合わせて、ソフトウェア提供のスピード、効率、品質を向上させるための一連のプラクティスとなる。DevOpsは、開発チームと運用チームの間の従来のサイロを取り払い、コラボレーション、自動化、継続的改善の文化を促進することを目的としている。

本ブログでは 以下のページにてこのDevOps技術の概要とDocker等の具体的な実装について述べる。

Git

Gitは、ソースコードのバージョン管理システムで、Gitを使用することで、プロジェクトの変更履歴を追跡し、複数の人々が同時にプロジェクトに取り組むことができるものとなる。ここではGitの概要、開始するための準備、環境設定、基本コマンドと参考図書について述べている。

Text Editor

Viは1976年に、Sun Microsystemで作られたテキストエディタで、現在のようなGUIがない時代にディスプレイ上でのテキスト編集操作を行うためのとして作られた。その特徴としては例えばカーソールの移動が🄷🄹🄺🄻で”←””→””↓””↑”が行えるように(当時のPCであるADM-3のキーボードで🄷🄹🄺🄻に”←””→””↓””↑”がそれぞれ刻印されていた)、キーボードだけで操作ができるテキストエディタとなる。

viはモードとい概念を持つ、文字を挿入したりバックスペースなどで消したりできるインサートモード、カーソルを移動したり、テキストをコピー(ヤンク)したりペーストしたり、様々な編集操作を行うノーマルモード(viではコマンドモードと呼ばれている)、ファイルを保存したりエディタを終呂したり、テキストに対して様々な操作をコマンドで指定できるコマンドラインモードの3つ(厳密には4つ)がある。

Sublime TextはオーストラリアのSublime HQ Pty Ltdが2008年にリリースしたシェアウェアのテキストエディタとなる。強力な編集機能、柔軟な拡張機能などの特徴枷、海外でもエディタ比較の記事でも常にトップ3に入っている人気のあるツールとなる。

Spacemacs は Emacs をベースに Vim のキーバインドを組み合わせて作られた、拡張性・カスタマイズ性の高いテキストエディタです。プロジェクトの目標は Vim と Emacs エディタそれぞれから長所を抽出して統合することです。Spacemacs ディストリビューションはコミュニティ主導の Emacs 設定を元にしています。デフォルトの Emacs の挙動を拡張しており大量の追加機能が存在する。

ClojureでのSublimetext4とVS codeをそれぞれ使った開発環境の立ち上げについて述べる。

SublimeText4とVS codeでのPyhton開発環境立ち上げについて述べる。

コメント

  1. […]   データベース技術   デジタルトランスフォーメーション技術   ITインフラ技術    […]

  2. […]   データベース技術   デジタルトランスフォーメーション技術   ITインフラ技術    […]

  3. […] 暗号化とセキュリティとデータ圧縮   ITインフラ技術  […]

  4. […] デジタルトランスフォーメーション 人工知能技術  ITインフラ技術    ウェブ技術 ICT技術   PHPとウェブ開発 […]

  5. […]   データベース技術   デジタルトランスフォーメーション技術   ITインフラ技術    […]

  6. […]   データベース技術   デジタルトランスフォーメーション技術  ITインフラ技術  […]

  7. […]   データベース技術   デジタルトランスフォーメーション技術   ITインフラ技術    […]

  8. […]   データベース技術   デジタルトランスフォーメーション技術   ITインフラ技術    […]

  9. […] 機械学習技術 人工知能技術 デジタルトランスフォーメーション技 ICTインフラ技術 クラウド技術 […]

  10. […] Visualization & UX ワークフロー&サービス ITインフラ技術 Javascript CSS DXの事例 […]

  11. […] Visualization & UX ワークフロー&サービス ITインフラ技術 Javascript CSS […]

  12. […] Visualization & UX ワークフロー&サービス ITインフラ技術 […]

  13. […] デジタルトランスフォーメーション技術. センサーデータ&IOT ICT技術 ICTインフラ技術 […]

  14. […] デジタルトランスフォーメーション コンピューターアーキテクチャ ITインフラストラクチャ 深層学習 機械学習における数学 コンピュータのハードウェア DXの事例 […]

  15. […] センサーデータ&IOT ICT技術 ストリームデータの処理と機械学習 ICTインフラ技術 本ブログのナビ 確率的生成モデル 関係データ学習 […]

  16. […] 機械学習技術 人工知能技術 デジタルトランスフォーメーション技術 ITインフラ技術 Web技術 プログラミング技術 ICT技術 Javascript […]

  17. […] センサーデータ&IOT ICT技術 ストリームデータの処理 ICTインフラ技術 確率的生成モデル 関係データ学習 サポートベクトルマシン […]

  18. […] Visualization & UX ワークフロー&サービス ITインフラ技術 OS技術 […]

  19. […] Visualization & UX ワークフロー&サービス ITインフラ技術 […]

  20. […] 機械学習技術 人工知能技術 デジタルトランスフォーメーション技 ICTインフラ技術 クラウド技術 DevOpsについて […]

  21. […] アルゴリズム デジタルトランスフォーメーション技術 ITインフラ技術 数学 プログラミング技術 […]

  22. […] アルゴリズム ICT技術 コンピューターアーキテクチャ ITインフラストラクチャ技術 機械学習における数学 深層学習 […]

  23. […] Visualization & UX ワークフロー&サービス ITインフラ技術 […]

  24. […] デジタルトランスフォーメーション技術 コンピューターアーキテクチャ ITインフラストラクチャ技術 深層学習 機械学習における数学 […]

  25. […] センサーデータ&IOT ICT技術 ストリームデータの処理 ICTインフラ技術 確率的生成モデル 関係データ学習 サポートベクトルマシン […]

  26. […] センサーデータ&IOT ICT技術 ストリームデータの処理と機械学習 ICTインフラ技術 Clojure Python […]

  27. […] アルゴリズム ICT技術 コンピューターアーキテクチャ ITインフラストラクチャ技術 機械学習における数学 深層学習 人工知能技術について 物理・数学 […]

  28. […] センサーデータ&IOT ICT技術 ストリームデータの処理 ICTインフラ技術 確率的生成モデル 関係データ学習 サポートベクトルマシン […]

  29. […] センサーデータ&IOT ICT技術 ストリームデータの処理 ICTインフラ技術 確率的生成モデル 関係データ学習 サポートベクトルマシン […]

  30. […] アルゴリズム デジタルトランスフォーメーション技術 ITインフラ技術 数学 プログラミング技術  データベース技術 ICT技術 […]

  31. […] センサーデータ&IOT ICT技術 ストリームデータの処理 ICTインフラ技術 確率的生成モデル 関係データ学習 サポートベクトルマシン […]

  32. […] センサーデータ&IOT ICT技術 ストリームデータの処理 ICTインフラ技術 確率的生成モデル 関係データ学習 サポートベクトルマシン […]

  33. […] センサーデータ&IOT ICT技術 ストリームデータの処理 ICTインフラ技術 確率的生成モデル 関係データ学習 サポートベクトルマシン […]

タイトルとURLをコピーしました