タグ

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

  • Apache Kuduのシステム構成と内部アーキテクチャ

    Kuduは分散データストアであり、複数台のマシンでクラスタを構成することで、高性能・大容量・高可用性のシステムを構築できます。図1にKuduのシステム構成を示します。 Kuduのクラスタはマスタノードに配置するKudu Master(以下、Master)と、ワーカノードに配置するKudu TabletServer(以下、TServer)で構成します。Masterはメタデータ(テーブルの構成情報など)の管理やTServerの死活監視、およびデータの複製管理を行います。ワーカノードのTServerはテーブルの実データを管理します。KuduのテーブルにアクセスするClientはMasterからテーブルの構成情報を取得して、それを元に目的のデータを持っているTServerにアクセスします。 Kuduはノード障害による動作停止やデータロストを避けるため、Master/TServerともに最低でも3台

    Apache Kuduのシステム構成と内部アーキテクチャ
    koda3
    koda3 2019/04/24
  • Kubernetesをサービスメッシュ化するIstioとは?

    2017年12月にオースチンで開かれたKubeCon+CloudNativeConは非常な盛り上がりで、いよいよKubernetesがコンテナオーケストレーションの流として認知されたイベントであった言える。しかしクラウドネイティブなシステムを指向するエンジニアは「複数のコンテナを同時に管理できるのは良いけど、どうやって全体を管理するのか?」に注目している。その解決策のひとつがサービスメッシュだ。 今回は、KubeConでのセッションを紹介しつつ、Istioの基的な概要を紹介したい。 今回紹介する動画は、KubeConでのセッションで「Setting Sail with Istio [B]」と題されたもので、スピーカーはMicrosoftのLachlan Evenson氏だ。 Evenson氏は「マイクロサービスといっても、実際にそれを実現するのは難しい」と言う話からスタートした。またマ

    Kubernetesをサービスメッシュ化するIstioとは?
  • MySQLのチューニングを戦う方へ

    連載もついに最終回となりました。 連載では、MySQLクエリーチューニングことはじめで予告した通り、「チューニング箇所の洗い出しのテクニック」について説明してきましたが、「チューニングの方法」については一切触れませんでした。 「連載ではチューニングそのものの方法については詳しく説明しません。それは見出しの通り「銀の弾丸」などはなく、MySQLのパフォーマンスチューニングは計測と改善を繰り返し行っていくべきものだからです。そのため、特定のケースにマッチする改善の手法よりも、繰り返し使われる計測の手法にフォーカスを当てて説明していきます。」 その理由としてこの一文が全てではありますが、今回は参考までに筆者が考えるチューニングの指標を紹介したいと思います。それがあなたの環境に当てはまるかどうかは、これまでに紹介してきたツールなどを利用して計測してみてください。 チューニングの基方針 基

    MySQLのチューニングを戦う方へ
  • Dockerコンテナ環境のバックアップツール「Convoy」を使う

    Docker環境のバックアップツールとして注目されるConvoyのインストールから使用方法までを解説します。 昨今、Dockerの知名度もかなり向上し、数年前に比べるとコンテナ化も進んできた。しかしDockerの利用シーンの大部分は、個人での利用や検証環境という枠を超えておらず、番環境や開発環境でのコンテナ運用が一般的になるのはまだ先の話になるだろう。 複数のユーザがDocker環境を利用する際には、どのような点に考慮すべきだろうか?まず個人での利用とは異なり、様々な運用を想定する必要がある。その中でもバックアップとリストアは、考慮すべき課題である。 Dockerコンテナ自体は作成と廃棄を繰り返す小さな仮想環境であるが、コンテナの中にあるデータは保護すべき対象なのは疑うまでもない。記事では「データの保護」つまりコンテナ環境のバックアップについて考える。 これまでのバックアップ これまで

    Dockerコンテナ環境のバックアップツール「Convoy」を使う
  • Dockerの管理・監視ツール(1)

    ITシステムが地方に散在する場合、Dockerに精通した管理者が不在であることも少なくありません。Dockerに詳しくない人でも、効率よく、かつ、ミスなく管理するためには、GUI管理・監視ツールの導入が必要になります。特に、近年では、クラウド基盤の導入が進み、IT部門だけでなく、ユーザー部門などが、セルフサービスポータルのダッシュボードのWebユーザーインタフェースなどを使って、みずからサービスを利用することも増えてきました。現在は、OpenStackなどに代表されるクラウド基盤ソフトウェアは、Linuxのハイパーバイザー型仮想化技術であるKVMをベースとした仮想マシン(インスタンス)の管理が中心ですが、Dockerにおいても、クラウド基盤に見られるセルフサービスポータルのような、直観的で分かりやすい管理画面が求められています。2015年9月中旬現在、Dockerコンテナを簡単なGUIで操

    Dockerの管理・監視ツール(1)
    koda3
    koda3 2015/10/20
  • Dockerの導入前に知っておくべきこと

    IT部門は、現在よりも柔軟性の高い効率的なITシステムにするために、開発部門と協調し、自社のシステムにDockerを採用すべきかどうかの妥当な判断をしなければなりません。このDockerの採用可否に関する「妥当は判断」は、短時間で結論が出るものではありません。ベンダーや自社の有識者が集い、導入目的、採用可否、設計指針などをある程度具体的に検討しなければなりません。章では、Dockerの導入を検討する場合に知っておくべき前提知識、検討項目を述べます。さらに、実際にDockerを導入時する際に知っておくべき項目を述べ、最後に、導入手順と注意点について述べます。 Docker導入前の検討事項 Dockerを導入する上で、検討しなければならない項目としては、まず、「そもそもDockerが自社に必要なのか?」ということです。Dockerは、コンテナを管理するためのソフトウェアであり、非常に優れた機

    Dockerの導入前に知っておくべきこと
    koda3
    koda3 2015/08/19
  • 巷で話題のDockerとは?

    Dockerが利用される背景 今、世界中の開発者やIT部門において「Docker」(ドッカー)が注目されています。もともと、DotCloud社(現 Docker Inc.)が、開発者やIT部門をターゲットとしたアプリケーションやOSの開発・配備を行うための基盤ソフトウェアとして開発され、2013年にリリースされました。このソフトウェアは、オープンソースソフトウェアの「Docker」として公開され、その使い勝手の良さから、多くの開発者、IT部門の管理者で瞬く間に利用されることになりました。Dockerは、仮想化ソフトウェアにみられるような性能面での劣化を極力排除したコンテナ技術の採用により、仮想化ソフトウェアに比べ、極めて集約度の高いITシステムを実現することができます。しかし、このDockerが注目される理由は、ハイパーバイザー型の仮想化ソフトウェアに比べてのハードウェア資源の消費や性能劣

    巷で話題のDockerとは?
    koda3
    koda3 2015/08/06
  • Dockerを理解するための8つの軸

    Docker」というキーワードが、サーバーまわりのキーワードとして定着しつつある。その一方で、触ったことのある人以外からは、「Dockerってよくわからない」「コンテナーって昔からあるのでは?」という声も聞く。 Dockerは、それまでにあった要素技術を組み合わせることで、サーバーアプリケーションを実行する便利な方法を作り出したものだ。そのため、1つの要素技術を見ただけでは、新しさや全体像がわかりにくい。 そこでこの記事では、Dockerを触ったことのない人向けに、Dockerを8つの軸から説明する。なお、ここではDockerそのものを解説するわけではないので、ご了解願いたい。 1. コンテナー Dockerはまず、コンテナー管理ツールだ。 コンテナーとは、1つのサーバーの上で、複数のサーバー環境をそれぞれ分離して実行する、一種の仮想化技術だ。「OSレベルの仮想化」とも呼ばれる。 複数の

    Dockerを理解するための8つの軸
    koda3
    koda3 2015/07/29
  • コード化でDevOpsを支えるHashiCorpのツールと開発背景

    HashiCorpとは? 「HashiCorp」という名前を知らなくても、Vagrantというツールの名前なら聞いたことがある、もしくはすでにお使いの方もいらっしゃるのではないでしょうか。Vagrantは仮想化された開発環境を簡単に立ちあげられるため、開発者サイドにとってはおなじみのツールです。このVagrantを開発したMitchell Hashimoto氏が創業した会社の名前がHashiCorpです。 HashiCorpが提供するツールは、開発者向けのものだけでなく、運用担当者向けのものもあります。連載初回の今回は、HashiCorpとは何であり、どのようなツールを、どのような考えで提供しているのかを紹介します。 HashiCorpの沿革 きっかけはVagrantの開発がスタート地点でした。Mitchell Hashimoto氏が2010年にVagrantバージョン0.1をリリースした

    コード化でDevOpsを支えるHashiCorpのツールと開発背景
  • Dockerコンテナのパフォーマンス劣化とチューニング

    はじめに 連載の第2回『ベアメタル環境とDockerコンテナ環境の性能比較』で実施したコンテナ環境とベアメタル環境との性能比較では、コンテナ環境は高負荷時に挙動が不安定になるという結果となった。記事には皆様からTwitterなどのソーシャルメディアを通じて、検証についてのご意見や問題点の解消方法について貴重なご指摘をいただいている。今回はこれらを参考に、発生したパフォーマンス劣化の原因の調査と改善策を模索していきたい。 まず筆者が目をつけたのは、Dockerが利用しているコピーオンライトデバイスの部分がパフォーマンス劣化の原因となっているのではないだろうか? という点である。実際にテストを実施しながら検証していきたい。 ストレージドライバとは ストレージドライバは、物理サーバ上ではストレージ(HDD)コントローラのチップセットドライバだが、Dockerではコンテナ記憶域に使用されるコピ

    Dockerコンテナのパフォーマンス劣化とチューニング
    koda3
    koda3 2015/05/26
  • KubernetesとMesos:Dockerのスケジューリングツールの違いを理解する

    注目されるDockerのスケジューリングツール Dockerには、基機能だけでは自分自身がインストールされているホストのコンテナしか管理できず、複数ホストのコンテナを管理できないという問題がある。そのため、実際にサーバを複数台利用するような規模でDocker環境を運用することを考えると、コンテナのクラスタリングやスケジューリングなど、複数ホストにまたがってコンテナをオーケストレーションする仕組みが必須となる。 そのため、Docker環境の管理を行うスケジューリングツールが注目を集め、数多くの製品が登場しているが、その中で特に注目されているものに、KubernetesとMesosがある。KubernetesとMesosは、複数ホストのコンテナを簡単に管理できるという点では共通しているが、機能の対象範囲には違いがある。 今回は、KubernetesとMesosの特徴と相違点について整理し、そ

    KubernetesとMesos:Dockerのスケジューリングツールの違いを理解する
  • ベアメタル環境とDockerコンテナ環境の性能比較

    コンテナ環境とベアメタル環境の差異 前回は、Docker向け軽量Linux OSの主要3製品の比較を行った。Dockerを利用した環境の構築は、構築済みコンテナなどの利用により、比較的容易に行える。これは便利ではあるが、一方でコンテナ型仮想化環境には既存のベアメタル環境との差異がある。 コンテナ型の仮想化は軽量でリソース消費量が少ないが、コンテナ型仮想化環境にも管理レイヤは存在し、その上でコンテナが稼働している以上、どうしてもベアメタル環境に比べて性能劣化が発生することが予測される(図1)。 今回は、同一スペックおよび同一プロダクトを利用し、構築したDocker環境とベアメタル環境上で負荷テストを実施することで、両者の性能差を比較検証する。処理性能やリソース負荷状況などの観点で比較し、その差異を表やグラフにまとめているので、ご一読いただきたい。 まずは環境をご紹介する。今回は、図2のような

    ベアメタル環境とDockerコンテナ環境の性能比較
  • 開発環境の構築・共有を簡単にするVagrant入門

    Vagrantとは? Vagrantは、開発環境の構築と共有を簡単に行うためのツールです。どこでも同じ環境を再現できるように仮想マシン環境を管理する機能と、Atlasを通して共有する仕組みが提供されています。 VagrantとAtlasの関係 Vagrantは、アプリケーションやシステム開発のバックエンドを簡単にパッケージ化し、共有するためのツールです。このパッケージ化された環境を、「box」と呼ばれる単位で管理します。このboxには、標準で対応しているVirtualBoxをはじめ、AWSなどの各種マシン・イメージに対応したプラグインを介してアクセスします。またboxを共有するための機能としてAtlasという名前のインターネット上のサービスが提供されています。なお、Atlasは以前VagrantCloudと呼ばれていたものですが、現在はHashiCorpの他のツール(Packer、Terr

    開発環境の構築・共有を簡単にするVagrant入門
  • OpenLMIによるシステム管理

    今回は、CentOS 7で新しく搭載された管理ツール「OpenLMI」について解説します。 CentOS 7のOpenLMIによるシステム管理 Linuxシステムの管理には、様々なコマンドがあります。例えば、OSの論理ボリュームを管理するLVM一つをとっても、物理ボリュームやボリュームグループの管理コマンド、論理ディスクの管理コマンドなど様々なコマンドやオプションを覚えなければなりません。OSの管理コマンドもバージョンによってオプションや書式が変わるものも少なくありません。また、管理コマンドをいくつも駆使する場合は、ユーザーがバッチ処理用のスクリプトを個々に作成しなければならず、一連の管理の自動化を行うためには、管理者のコマンドの利用知識とスクリプト開発のスキルに依存している場合が殆どです。近年、Linuxシステムを取り巻く世界では、管理の簡素化、自動化を実現するための標準化の必要性が高ま

    OpenLMIによるシステム管理
  • 1