Docker導入の前のミドルウェアの基礎知識

Docker

この記事では、Dockerを導入する前に抑えておきたいミドルウェアについて紹介します。Dockerは、ミドルウェアのインストールや各種環境設定をコード化して管理するツールのため、基本的なミドルウェアは抑えておく必要があります。

アプリエンジニアの期間が長かったので、「NoSQL」「代表的なシステム監視ツール」「OSやミドルウェアの設定を自動化するツール」は、使ったことがありません。

スポンサーリンク

Webサーバ

  • Apache Http Server
  • Nginx(エンジンエックス)
Nginxとapacheの違い
この記事にでは、Apacheと比較した際のNginxの特徴について書きます。私は、ApacheとIISくらいしかWebサーバーを触った事がありませんでした。しかし新しいプロジェクトはNginx(エンジンエックス)というWebServerを使用しています。起動方法しか知らなかったので、Nginx ポケットリファレンスを買って勉強しました。
  • Internet Information Services(IIS)
IIS(Internet Information Services)とは
IIS(Internet Information Services)とは、Microsoft Windows Serverなどに標準コンポーネントとして含まれるサーバモジュールソフトウェアのことである。

データーベースサーバー

RDB

RDBは特に説明不要ですかね。

  • MySQL
  • PostgresSQL
  • Oracle

NoSQL

RDBとは異なる新しい方式のDBの総称

  • REDIS
    • Redisは、データ構造サーバーを実装するオープンソースソフトウェアプロジェクトである。 いわゆるNoSQLデータベースの一つであり、Redis Labsがスポンサーとなって開発されている。 ネットワーク接続されたインメモリデータベースでかつキー・バリュー型データベースであり、オプションとして永続性を持つ。
  • MongoDB
    • MongoDBは、オープンソースソフトウェアのドキュメント指向データベースである。C++言語で記述されており、開発とサポートはMongoDB Inc.によって行なわれている。
  • Apache Cassandra
    • オープンソースの分散データベース管理システムである。元はFacebook社において大規模データの格納のために開発されたものである。1つのカラムに対して複数のデータを持つことができ、リレーショナルデータベースに近いNoSQLである。

代表的なシステム監視ツール

  • ZABBIX(ザビックス)
    • ネットワーク管理ソフトウェアである。様々なネットワークサービス、サーバ 、その他のネットワークハードウェアのステータスを監視・追跡できる。現在はウラジシェフが設立したZabbix社によって開発が継続されている。データ格納のためMySQL, PostgreSQL, SQLite, Oracle や IBM Db2を利用する。バックエンドはC言語で、WebフロントエンドはPHPで書かれている。
  • DATADOG
    • ITシステムのモニタリングクラウドサービスです。 少し作業を行うだけでご自身のITシステムをモニタリングすることができます。 類似のクラウドサービスにmackerelやNew Relic、類似のソフトウェアにNagios、Munin、Zabbixがあります。
  • MACKEREL(マカレル)
    • はてなによって開発されている、サーバーにおける各種ハードウェアやアプリケーションソフトウェアの性能をリアルタイムに監視することができるSaaS型サーバー監視サービスです。管理画面から簡単に「Microsoft Azure」サービスと連携し、監視を開始することができます。

OSやミドルウェアの設定を自動化するツール

  • Chef
サーバー設定ツール「Chef」の概要と基礎的な使い方 | さくらのナレッジ
近年注目されているサーバー管理ツール「Chef(シェフ)」は、ファイルに記述した設定内容に応じて自動的にユーザーの作成やパッケージのインストール、設定ファイルの編集などを行うツールだ。今回はこのChefについて、基本的な環境構築方法と使い方を紹介する。 前回はサーバーの設定管理ツールとして「Puppet」を紹介したが、...
Chef でサーバ管理を楽チンにしよう! (第 1 回)
  • Ansible

  • Puppet
Puppetを使ったLinuxシステムの設定自動管理 | さくらのナレッジ
多数のサーバーを運用している場合などに面倒なのが、サーバーごとの環境管理だ。そのため注目されているのが、サーバーの環境設定やインストールなどを自動化する設定管理ツールである。今回はその中でも比較的古くから使われている「Puppet」というソフトウェアを紹介する。 あらかじめ用意しておいた設定ファイルに基づいてサーバーの...
  • Itamae
導入しやすく軽量な構成管理ツール「Itamae」を使ってみよう | さくらのナレッジ
サーバーの管理や設定を自動化する構成管理ツールが広く普及しつつあるが、その代表ともいえる「Chef」は高機能である一方、その設定や管理方法を学ぶハードルが高いという問題があった。その欠点を解決すべく開発されたツールが「Itamae」だ。今回はこのItamaeの導入手順と基本的な利用法を紹介する。 設定コストをなるべくか...

複数サーバの管理を自動化するツール

  • Kubernates
    • Kubernatesは、Dockerを使いこなしてからの話になるので、ここでは、説明をしません。

コメント