タグ

ブックマーク / thinkit.co.jp (19)

  • システム運用エンジニアを幸せにするソリューションPagerDutyとは

    インシデント管理とは? なんでもかんでもWebサービスなしでは動かない現代、24x7でのサーバ運用が当たり前になって久しくなります。絶対落ちないシステムはありえないのに、求められるのはダウンタイムゼロ。ただでさえエンジニア不足がひどい昨今ですが、運用担当者の負担は増えるばかりです。 DevOpsでのアジャイル開発で、できるだけ早くサービスを投入しようという流れの中、どうしても完璧なテストを実行するのが難しくなってきており、バグ発生の頻度も高くなる傾向にあります。 加えて、最近はオンプレミスとクラウド、プライベートクラウドとパブリッククラウドのハイブリッド運用が急増し、サーバ構成もたくさんのマイクロサービスを組み合わせる構造となるなど、非常に複雑化しています。 当然、それぞれのインフラ、サ―ビスにはNagios、Zabbix、Mackerelなどの障害検知、運用監視ツールが組み込まれています

    システム運用エンジニアを幸せにするソリューションPagerDutyとは
    kiririmode
    kiririmode 2020/10/03
    pagerdutyの基本機能
  • PostgreSQLとOracle Databaseそれぞれの特徴

    PostgreSQLOracle Databaseのアーキテクチャ構造 シリーズの最終回は、PostgreSQLと、商用RDBMSとして普及しているOracle Databaseとの違いについて簡単にご紹介していきます。 「第1回:PostgreSQLの概要とアーキテクチャ」で、PostgreSQLアーキテクチャの概要図を説明しましたが、PostgreSQLOracle Databaseは同じような役割を担ったプロセスやファイルで構成されていることがわかります(表1および表2参照)。 また、図1にあるプロセスとデータベース構成ファイルを解説すると、以下のようになります。 クライアントから接続要求を受けてデータベースと通信するためのプロセスを起動する。 クライアントからのSQL要求を処理するプロセスが、ディスク上にあるデータをメモリ上に保持する。 メモリ上の変更内容は専用のプロセスによ

    kiririmode
    kiririmode 2018/08/18
    Oracleと対比することでpostgresqlのアーキテクチャが分かりやすく解説されてる
  • なぜKubernetesが必要なのか?

    はじめに Kubernetesはコンテナ化されたアプリケーションの展開、スケーリング、および管理を自動化するためのプラットフォーム(コンテナオーケストレーションエンジン)です。連載では、Kubernetesを触ったことがない方でもKubernetesのコンセプトを理解し、実際にアプリケーションをコンテナ化して実行することが出来るようになることを目標としています。 ここ数年でDockerを皮切りにコンテナ技術への注目度が非常に高まり、実際にプロダクションでのコンテナ利用事例も増えてきました。プロダクション利用に耐えうるシステムを構築するにはDockerだけでは難しいため、Kubernetesに代表されるコンテナオーケストレーションエンジンとよばれるプラットフォームを利用することが一般的です。Kubernetesの他にもDocker SwarmやDC/OSなどもありますが、執筆時(2018年

    なぜKubernetesが必要なのか?
  • Ansible応用編:より実践的なPlaybookを作り上げる

    Ansible Best Practiceを参考に、より実践的なPlaybookの作成方法を紹介する。 連載の第4回、第5回では、「Ansible応用編」と題してAnsibleの応用的な使い方やTipsについて詳しく解説します。第3回ではAnsibleを利用して、1台のサーバー内にLAMP環境を準備して、WordPressを構築しました。Ansibleが身についてきた後には、どのようにPlaybookを管理すれば良いのかという課題や疑問が出てきます。今回は、AnsibleのBest Practiceをご紹介した上でWordPressのPlaybookを整理します。 環境の変更点と構築のための振り返り 前回までに利用した環境のうち、実行サーバーのみを再利用して、操作対象のサーバーは新規に作り直します。

    Ansible応用編:より実践的なPlaybookを作り上げる
  • 事例から考えるDockerの本番利用に必要なこと

    Dockerを取り巻く最新の状況 2016年4月13日にDocker 1.11がリリースされた。PaaS基盤としてのDockerをより便利に利用するために、ネットワークの機能やセキュリティ対策や構成管理ツールの機能が強化されている。さらに2月24日には、クラウドプラットフォーム上でコンテナの統合管理を行うDocker Datacenterもリリースされている。 さらにDocker社は豊富な資金力により、SDN(Software Defined Networking)企業であるSocketPlane社や、ハイパーバイザ型でDockerコマンドとの連携を実現している軽量OSを開発したUnikernel Systems社、DockerコンテナをパブリッククラウドにデプロイするSaaSサービスを提供するtutum社など、多数の企業を買収している。Docker社は各社の製品を統合し、PaaSプラット

    事例から考えるDockerの本番利用に必要なこと
  • VMware Virtual SANで実現するストレージ仮想化:Part1 構成とストレージポリシー

    Virtual SAN(VSAN)はVMwareの目指す「Software-Defined Storage」を実現するための主となるテクノロジです。VSANはVMware vSphereが構成されたESXiホスト上に搭載されているローカルディスク、フラッシュデバイスを抽象化しそれをプール化します。プール化したローカルディスクは分散型共有ストレージとして利用することができます。これにより物理ストレージをなくしてvSphere HAやvMotionなどの機能を実現することが可能です。VMwareがストレージの抽象化技術として今後注力している技術の1つです。 VSANの特徴は各ESXiホストに搭載されている内蔵ストレージを集約し、1つの分散型共有ストレージとしてESXiホストが利用することです。ESXiホストに搭載されている内蔵ストレージはSASやSATAといった大容量かつ低価格なハードディスク

    VMware Virtual SANで実現するストレージ仮想化:Part1 構成とストレージポリシー
  • [ThinkIT] 第6回:query_cache_sizeの違いによるパフォーマンス比較 (1/3)

    MySQLサーバには、MySQLクライアントからのクエリとその実行結果をキャッシュし、次回から同じ内容のクエリが要求された場合にキャッシュから応答する、クエリキャッシュという仕組みがあります。キャッシュから応答させることによってデータベースへアクセスする負荷を軽減し、また応答速度自体の向上も狙ったものです。 デフォルト状態ではクエリキャッシュを使用しない設定になっています。以下のように現在の「クエリキャッシュに使用するメモリ量の最大値」であるquery_cache_sizeを確認してください。

  • vSphere APIを活用する

    一部の細かい制約を無視すれば、vSphere Clientで実現可能な操作は、vSphere APIでも実現可能である。また、vSphere APIにアクセスする際はvSphere Clientでのログインと同じように認証が必要であり、実行された処理はvSphere Clientでの操作と同じようにvCenterのタスクとして認識される。このため、vCenterのタスクやイベントによる操作履歴の確認、権限割り当てといった従来の運用を阻害することはない。 vSphere APIは、オブジェクト指向のAPIである。vSphere環境に存在する仮想マシンやESX、クラスタなどは、Managed Objectと呼ばれるオブジェクトとしてインスタンス化されており、それぞれ固有のプロパティとメソッドを持っている。つまり、vSphere APIでは、Managed Objectを取得してプロパティへのア

  • DBサーバーの負荷分散

    MySQLアクセスを負荷分散する ユーザーからのアクセス数が非常に多いWebサイトにおいて、MySQLのSLAVEサーバーを複数台並べて負荷分散させるということがよく行われています。ただ、Webアクセスの負荷分散は一般的なテーマなのでいろいろなところで語られているのに対し、DBアクセスの負荷分散というテーマは一般的でないのかあまり語られていないように感じます。 DBアクセスを負荷分散するにあたって一番荒っぽい方法は、Webサーバー上のプログラムの中でどのSLAVEサーバーに接続するかをランダムで決める方法です。ランダムと言っても長時間アクセスしているとほぼ接続先が均等化されるので、一見この方法でも問題ないように見えます。しかしこの方法だと、接続しに行こうとしたSLAVEサーバーが高負荷もしくはサービス停止中であっても構わず接続しに行ってしまうという問題があります。 このような問題を解決する

  • AjaxとCometで作るリアルタイムWeb

    はじめに Ajax+Cometは、WebSocketsが定着するまでのつなぎの技術という見方もあります。しかしながら、クライアントがシンプル、プロトコルを拡張しない、といったメリットもありますので概要を紹介します。 今回は実装までのソースを解説していくのではなく、Ajax+Cometアプリケーションでの在席状況確認の仕組みやシステム構成のポイントといった部分を中心に解説していきます。 Ajax+Cometアプリケーションの場合、クライアント側にはリクエストを投げる仕掛けのみを構築しますので、Cometを実現するWebサーバーのアプリケーションが双方向通信の実体になります。 システムの構成 今回は、CometをJavaで実装するケースを想定しますので、jetttyのサーブレットの仕組みを解説することになります。 クライアント側の仕掛けは非常にシンプルですので、サーブレットの解説の前にクライア

  • チューニングに使えるJava性能監視ツール

    ヒープ領域とパーマネント領域 JavaVMには、独自のメモリー管理機構が搭載されています。不要になったオブジェクトを定期的に破棄してメモリーを開放するガベージ・コレクション機能と、永続的に使われるオブジェクトであるかどうかを判定する機能が搭載されています。 JavaVMが確保するメモリーには、大きく3つあります。オブジェクトを管理するヒープ領域と、読み込むクラス情報を確保するパーマネント領域、それ以外に、ランタイムが必要とするシステム領域です。 ヒープ領域は、必要に応じて保存と破棄が繰り返される領域となります。クラス情報は、パーマネント領域に格納されます。それ以外に確保されるメモリーとして、ランタイムが利用するシステム・メモリー(OS依存ヒープ・メモリー)とスレッド管理のメモリーが別領域になります。 New領域: ヒープ領域 New領域は、Eden、Survivor0、Survivor1(

  • PostgreSQLクラスタの動向

    はじめに 今回は、代表的なOSSデータベースである「PostgreSQL」を用いたデータベース・クラスタの、これまでの経緯と現状を解説します。 1. 最初はシングル・マスターのレプリケーション 最初に登場した"PostgreSQLクラスタ"は、「Slony」と呼ぶ、シングル・マスターのレプリケーション・ソフトでした。レプリケーションとは、データベース全体のコピーのことです。これを高可用性(HA)の確保や性能の向上に用いることができます。 Slonyのバージョン1.0がリリースされたのは2004年です。6年も前になります。Slonyは、トリガーの機構を使ってデータベースの変更を検出し、これを複数のスレーブに転送します。これにより、1つのマスターを利用して複数のスレーブにデータベースのコピーを置くことができるようになっています。図1に、その概要を示します。 Slonyの特徴は、原理が単純な点で

  • [ThinkIT] 第5回:高度なインデックスの活用 (1/2)

    ここまでは単一の列に対して作成するインデックスを前提にお話ししてきました。しかし、インデックスは同一テーブルの複数の列に対してまとめて設定することもできます。検索条件に複数列を指定する場合などは、このようなインデックスを使えばさらに効率よく処理を行うことができます。

  • データベース・クラスタの概要

    はじめに これから4回にわたり、PostgreSQLを中心に、データベース・クラスタについて解説します。以下の内容を予定しています。 第1回: データベース・クラスタの概要 第2回: PostgreSQLクラスタの動向 第3回: 主要なPostgreSQLクラスタ(前編) 第4回: 主要なPostgreSQLクラスタ(後編) 1. データベース・クラスタとは データベース構築の基は、1つのサーバーに1つのデータベースを構築し、運用することです。しかし、いろいろな理由から、1つのデータベースを複数のサーバー(仮想サーバーを含む)にまたがって構築するケースが増えてきました。 連載では、いろいろな種類のデータベース・クラスタとその用途、主な技術や実装例を解説します。解説の対象となるデータベース・クラスタとは、1つのデータベースを、複数のサーバーや仮想サーバー上に構築するシステムを指します。

  • データセンター視点で考える全体最適化

    前回、データ量とトラフィック量の増加と、サーバー視点でなされてきた効率化とを比較することにより、電力消費量の増加という現代のデータセンターが抱える問題の一つについて量的な理由付けを試みてみました。今回は、サーバー視点からデータセンター視線に視野を移してみましょう。 指標(2):PUE(Power Usage Effectiveness) PUE(Power Usage Effectiveness)という指標があります。これは米国のエネルギー効率化のための業界団体であるThe Green Gridが提唱するデータセンター設備のエネルギー効率を表す指標で、下記のように定義されます。 「データセンター全体のエネルギー消費量」÷「IT装置のエネルギー消費量」 PUEが1に近いほど効率のよいデータセンターと言うことができます。データセンター視点でPUEを改善するには、IT装置以外でのエネルギー消費量

  • [ThinkIT] 第4回:データベースレプリケーション (1/4)

    第2回と第3回に渡り、サーバクラスタを使ってデータを分散配置し、全体として大きなデータベースを構築する方法について解説しました。今回は、サーバクラスタを使ってデータベースの二重化、三重化を行う方法について解説します。 データベース全体のコピーを作ったり、そのコピーのことをレプリケーションと呼びます。 データベースのテーブル設計をする上で「データの正規化」が重要だと聞いたことがある人は多いと思います。「データの正規化」で重要なことの1つに「同じデータは複数テーブルで重複させない」という考えがあります。 図1に示すように、「住所」を「顧客テーブル」と「注文テーブル」の2ヶ所に重複させておくと、お客様の住所を変更するアプリケーションは「すべて」「例外なく」この2つのテーブルの情報を「同じ」に保っておかなければならなくなります。

    kiririmode
    kiririmode 2009/05/30
    分散ロックではパフォーマンスがあがらない。
  • [Think IT] 第3回:簡単Webプログラミング! (1/3)

    SQLite3インストール! Gaucheは、RDB(リレーショナルデータベース)に依存しないデータベースインタフェース(dbi)モジュールを持っています。各RDB用にデータベースドライバ(dbd)モジュールを用意することで、GaucheからRDBを扱えます、現在、MySQL、PostgreSQLSQLite3などのデータベースドライバモジュールがあります。 今回使うSQLite(http://www.sqlite.org/)は組み込み型RDBで、サーバ管理などが不要なため、扱いやすいのが特徴です。 Linuxでは、パッケージ管理ソフト(apt、yum、rpmなど)でインストールするのが良いでしょう。Mac OS/XにはSQLite3がプリインストールされてます。 Windows(cygwin)では、第1回でGaucheをインストールしたcygwinインストーラーを使ってインストールでき

  • Gaucheをはじめてみませんか?

    Gaucheとは 連載では、今注目のプログラミング言語「Gauche」について解説しながら、簡単なWebアプリを作っていきます。Gaucheとは、ハワイ在住の日ハッカー「川合 史朗」さんが作ったLispの一種である、Schemeの処理系です。オープンソースで開発されています。 Gaucheの特徴は、Perlのように気軽に使える軽い処理系でありながら、正規表現、CommonLisp風オブジェクトシステムなど、Scheme標準にはない拡張機能や豊富なライブラリを持ち、実用的なプログラミングが行える点です。 最近「Gauche」に関するも出版され、「第4回:都内大手3書店の3月ベスト3発表!(http://www.thinkit.co.jp/article/49/4/2.html)」でも紹介されているように売れ行きも好評です。それは、なぜでしょうか? 筆者はLisp、特にSchemeの持

  • [ThinkIT] 第1回:金融市場で力を発揮する電通国際情報サービス (1/2)

  • 1