タグ

ブックマーク / tech-sketch.jp (32)

  • Ansible専用のテストツールAnsibleSpecの特徴および使い方 | Tech-Sketch

    Ansible playbookを作成する過程でプロビジョニングが正しく行われていることをテストすることがあります。その際に利用されるテストツールの一つとしてServerSpecというツールがあります。( TestKitchenとDocker・Serverspecで作るAnsibleTDD環境 )ServerSpecはサーバ間の通信が正しく行われていることやプロセスが正しく起動していることなどのテストが行えます。そのServerSpecを利用したAnsible専用のテストツールとして AnsibleSpec というツールが存在します。AnsibleSpecはSeverSpecと同じ構文で記述ができ、テストファイルをAnsibleのプロジェクト内に組み込めるという特徴があります。 今回はAnsible専用のテストツールとして公開されているAnsibleSpecの特徴および使い方を紹介します。

    Ansible専用のテストツールAnsibleSpecの特徴および使い方 | Tech-Sketch
  • Ansibleに代表される自動化/構成管理をホンネで語る (クラウド時代のOSS活用最前線) 〜 オープンソースカンファレンス 2016 Nagoyaでの2団体ジョイント企画 実施レポート | Tech-Sketch

    Ansibleに代表される自動化/構成管理をホンネで語る (クラウド時代のOSS活用最前線) 〜 オープンソースカンファレンス 2016 Nagoyaでの2団体ジョイント企画 実施レポート さる5月28日(土曜),オープンソースカンファレンス2016 Nagoya が開催されました。私たちが加盟する,OSSコンソーシアムと,オープンソースビジネス推進協議会(OBCI)は,2団体の合同企画としてセミナとパネルディスカッションを実施しました。テーマは「 Ansibleに代表される自動化/構成管理,ホンネで語る自動化/構成管理 」です。 オープンソースカンファレンス(OSC)の名古屋での会場は,今年は桜通線吹上駅近くの 名古屋中小企業振興会館 で開催されることになりました。名古屋駅からはちょっとだけ離れましたが地下鉄1で行けますし,展示会場がとても広くなり,出展側は後ろのブースとぶつからず,見

    Ansibleに代表される自動化/構成管理をホンネで語る (クラウド時代のOSS活用最前線) 〜 オープンソースカンファレンス 2016 Nagoyaでの2団体ジョイント企画 実施レポート | Tech-Sketch
  • ansible・packer・CloudFormationを用いてDjango環境を構築してみよう | Tech-Sketch

    ライトウェイトでフルスタックなWebフレームワークといえば Ruby on Rails が有名です。しかし統計処理や機械学習に関連するライブラリにはPython製が多いこともあり、これからは Django のようなPython上で動作するフルスタックWebフレームワークを利用する場面も増えていくことでしょう。 しかしDjangoには独自のルールがあり、 AWS ELB や AWS RDS と共に利用するためには、少し工夫が必要です。今回は ansible と packer 、及び AWS CloudFormation を用いて、AWS上に下図のような耐障害性の高いDjango環境を構築してみます。 ※私事ながら、筆者の松井はこの度 株式会社 Elvez のCTOに就任いたしました。 株式会社Elvezは、社会性を持つAIで世界を幸せにする会社です。今回紹介したAWSとDjangoも、El

    ansible・packer・CloudFormationを用いてDjango環境を構築してみよう | Tech-Sketch
  • CentOS 7.2+docker 1.11でdocker networkを使ってみた | Tech-Sketch

    Docker 1.9がリリースされた時点でのdocker networkの公式ガイドでは、 Kernel 3.16以上が必要 との記述があったのだが、CentOSのKernelは最新の機能がバックポートされており、docker networkも動作するとの情報を頂いた。 確かに、現在のdocker公式の overlay networkのガイド を参照すると、この記述が無くなっており、ディストリビュータ側の対応でKernelの制限が解除されたのでは?と考え検証してみることとした。 docker networkの概要については以下の記事も参考にして頂きたい。 Think IT/Docker1.9のマルチホストネットワーク 今回使用した環境は以下となる。 CentOS 7.2のサーバを3台準備し、それぞれにdockerの最新バージョンをインストールする。 docker swarmでクラスタ

    CentOS 7.2+docker 1.11でdocker networkを使ってみた | Tech-Sketch
  • Microsoft Azure を意のままに操る Ansible 事始め | Tech-Sketch

    こんにちは、今回ブログでご紹介するTipsは一言でいうと「Ansible で Microsoft Azure を操作してみる」です。クラウドサービスである Microsoft Azure を Ansible という自動構築・オーケストレーションが行えるオープンソース・ソフトウェア(以下:OSS)を使って操作してしまおうという、今回はその序章です。 ★ はじめに クラウドサービスを利用する場合、専用のUI、主にWebベースのポータルを利用する事があります。GUIポータルの利用は操作しやすくとてもわかりやすいですが、実際の運用上では柔軟に、簡便に、迅速に構築・運用管理することが求められ、その点では向かないケースがあります。一般に様々なクラウドサービスは、そのクラウドサービス用に用意されたAPIで外部のツールから操作を行うことができ、前述の観点においてクラウドを十分に活用できます。むしろそれ

    Microsoft Azure を意のままに操る Ansible 事始め | Tech-Sketch
  • fluentdで始めるログ管理【基本編】 | Tech-Sketch

    この記事はeXcale Developer's Blogから移転されたものです。 eXcale開発チームの泉谷(@syguer)です。 今回はログ管理でデファクトスタンダードになりつつあるfluentdについて紹介します。 eXcaleでも数百台のサーバのログ管理にfluentdを利用しています。 記事では、そんなfluentdの基となる使い方について解説します。 >>eXcaleは期間限定でサインアップキャンペーン実施中!気になる内容はこちら<< fluentdとは fluentdはRuby(一部はC)で書かれているオープンソースのログ収集ツールです。 最初のバージョンのリリースが2011年という比較的新しいツールですが、200を超えるプラグインがあり広く使われています。 記事公開時点の最新バージョンはv0.10.43です。 公式サイト http://fluentd.o

    fluentdで始めるログ管理【基本編】 | Tech-Sketch
  • マルチホストDockerネットワーキング(1) | Tech-Sketch

    みなさんDockerを利用しているでしょうか。Dockerを使ったことのある方は、そのネットワーク周りに不便を感じたことはないでしょうか。今回はDockerのネットワーク周りを概観し、Dockerをコンテナ型仮想化エンジンとして見た場合のネットワーク周りの問題点について解説します。また次回以降の記事で、その問題点を解決する既存の取り組みやツールについて触れていきます。 Dockerとは そもそもDockerとは、当時のdotCloud社(現Docker社)が自社のパブリックPaaSを実現するために、アプリケーションの実行環境をポータブルにしていつでも簡単に立ち上げられるように開発した技術が根幹となっています。様々なLinuxコンテナ技術を用いたリソース隔離も、コピーオンライトで差分管理を行うファイルシステムも、またOSやミドルウェアを自動構成してデプロイする仕組みも、もともとはPaaSを形

    マルチホストDockerネットワーキング(1) | Tech-Sketch
  • fluentd + Elasticsearch + Kibanaで始めるログ解析 (セットアップ編) | Tech-Sketch

    この記事はeXcale Developer's Blogから移転されたものです。 eXcale開発チームの平栗です。 今回は、最近話題のfluentdとElasticsearch、Kibanaを使ったログ解析と可視化についてご紹介します。 eXcaleでもfluentdとElasticsearch、Kibanaを使って、日々発生する膨大なログの解析を行っています。 記事では、ElasticsearchとKibanaのセットアップ、そしてfluentdを使ってElasticsearchにログを転送する設定についてご紹介します。 >>eXcaleは期間限定でサインアップキャンペーン実施中!気になる内容はこちら<< fluentdとは fluentdは、Ruby(一部はC)で書かれているオープンソースのログ収集ツールです。 最初のバージョンのリリースが2011年という比較的新しいツール

    fluentd + Elasticsearch + Kibanaで始めるログ解析 (セットアップ編) | Tech-Sketch
  • [AWS] OpsWorksでBerkshelfがサポートされたので早速試してみる | Tech-Sketch

    この記事はeXcale Developer's Blogから移転されたものです。 eXcale開発チームの西谷(@Keisuke69)です。 日、AWSのOpsWorksでサポートするChefのバージョンに11.10が追加されたのにあわせ、Berkshelfのサポートが追加されたことがアナウンスされました。 【AWS発表】AWS OpsWorks が Chef 11.10 をサポート しかも11.10を選択した場合は一緒にインストールされるrubyもこれまでの1.8.7から2.0.0に変更されます。 正直今までいまさら1.8.7はないと思っていたのでここも地味に嬉しいアップデートです。 というわけで早速試してみたいと思います。 Berkshelfとは BerkshelfとはChefのcookbookとその依存関係を管理するツールです。 RubyにおけるBundlerと似たような感じ

    [AWS] OpsWorksでBerkshelfがサポートされたので早速試してみる | Tech-Sketch
  • Terraformを使う!「Terraformからherokuアプリを操作する際のハマりどころ」 - Tech-Sketch

    前回はTerraformからのherokuアプリ操作をお知らせしました。 第四回はTerraformを利用してherokuアプリを操作する際にハマった所について書いて行きたいと思います。 Terraformの基的な操作は 第一回の記事 を Terraformからherokuアプリの操作は 第三回の記事 を ご参照ください。 ハマりどころ①「Herokuアプリの作成とHerokuドメインの作成を同時に行うとエラーになる」 Terraformの設定ファイル(.tf)にHerokuアプリとHerokuドメインを同時に記載する場合、 Terraformに順守した書き方をしないとエラーが発生し、「Herokuアプリは作成されるがドメインが割り当てられていない」状態が発生してしまいます。 このエラーはTerraformの計画時には検出することが困難です。 実際にどのような状況になるか試して

    Terraformを使う!「Terraformからherokuアプリを操作する際のハマりどころ」 - Tech-Sketch
  • WebRTC(PeerJS)で遠隔作業支援システムを作る(3) - Tech-Sketch

    WebRTCを用いた遠隔作業支援システムを作ります。 前回 はスマートグラス(Vuzix M100)とサーバサイド(node.js + express + peerjs-server)の環境構築について説明しました。今回はCoffeeScriptで記述されたモジュールの全体構成と、PeerJS & MediaStreamの初期化処理について解説します。 CoffeeScript WebRTCを用いた遠隔作業支援システムの中心的なロジックは、ブラウザで動作します。今回はコールバックを駆使するそれなりに複雑な処理を実装するため、画面操作をハンドリングするロジック、PeerJSの操作とコールバックをハンドリングするロジック、シグナリング等の共通ロジック、と責務を分割して実装したほうが見通しが良くなるでしょう。 ただしJavaScriptはプロトタイプベースのオブジェクト指向言語のため、Java

    WebRTC(PeerJS)で遠隔作業支援システムを作る(3) - Tech-Sketch
  • PostgreSQLのログをFluentdで収集する - Tech-Sketch

    PostgreSQLの運用管理にログの情報は不可欠ですが、PostgreSQLが出力するログは直接取り扱うのに適した形式とは言えません。ここではFluentdを使って運用管理に活用しやすい形にPostgreSQLのログを加工する方法を紹介します。 PostgreSQLの運用管理とログ データベースの運用管理には 死活監視、リソース監視 性能分析、チューニング バックアップ、リストア といったものが考えられますが、現状を把握しなければ何も対策できないので、まずは必要な監視を正しく行うことが重要です。PostgreSQLで監視に使える機能には稼働統計情報とログがありますが、今回はログに注目してみます。 PostgreSQLのログからわかること PostgreSQLが出力するログからは以下の様なことがわかります。 何らかの異常(エラー)が発生したこと 処理されたSQL チェックポイント、自動VA

    PostgreSQLのログをFluentdで収集する - Tech-Sketch
  • serverspecを環境にあわせてカスタマイズ - Tech-Sketch

    serverspecをより柔軟に活用するためには、独自の環境にあわせてカスタマイズして利用することが必要な場面があります。記事では、そのような場面での対応方法をいくつか紹介します。 前回の記事 で、テストコードを書いてテストを実行するところまでは実施できるようになりました。また、前回の記事で、SSH接続時の処理内容を変更したい場合にはspec_helper.rbをカスタマイズして対応が可能といったことを紹介しましたが、今回は実際のテストの実行内容に関してカスタマイズする方法について紹介します。 serverspecのResourceTypeやMatcherは非常に豊富に実装されているためこれらを活用することで非常に多くのテストコードが作成できます。 しかし、中には、標準で用意されているResourceTypeやMatcherだけではカバーしきれない場合もあります。serverspecはそ

  • serverspecを使ってサーバの状態をテストしてみよう - Tech-Sketch

    仮想化やクラウド化が進み、インフラ環境をプログラマブルに構築できるようになってきました。この流れにより、サーバ構築をプログラムにより自動化することも多くなってきています。自動化が進むと、当に意図した通りに正しくサーバのインストールや設定が実施されているかの確認テストも自動化することが求められるようになってきています。 記事では、このような場面で有用なサーバ状態のテスト自動化フレームワークであるserverspecを紹介します。 serverspecとはなにか? 既に多くの技術系記事にて、serverspecの紹介がされているためご存知の方も多いかと思いますが、技術ブログでは初登場のテーマであるためserverspecとはなにか?から順を追って解説します。 serverspecは宮下剛輔氏によって開発されたサーバの状態をテストするためのフレームワークです (Serverspec公式

    serverspecを使ってサーバの状態をテストしてみよう - Tech-Sketch
  • RubyからAmazon Kinesisを操作する - Tech-Sketch

    昨年11月、米ラスベガスで開催されたカンファレンス「AWS re:Invent 2013」で、ストリーミングデータをリアルタイムに処理するサービスである「Amazon Kinesis」が発表されました。ストリーミングデータをリアルタイムに処理...と、なにやら難しそうな感じがしますが、API、SDKが公開されているので簡単に試すことができます。今回はRuby向けAWS SDKを利用し、Amazon Kinesisを操作してみます。 Amazon Kinesisとは Amazon Kinesisは、Amazon Web Servicesが提供するストリーミングデータをリアルタイムに処理する為のサービスです。近年ビッグデータの処理や分析が注目されてきましたが、バッチ処理が主流でした。Amazon Kinesisを利用すると、リアルタイムにストリーミングデータの処理や分析が可能です。また、Ama

    RubyからAmazon Kinesisを操作する - Tech-Sketch
  • Hadoop Pig の使いどころ - Tech-Sketch

    「PigとHive何が違うの?」 「Difference between Pig and Hive? Why have both?(PigとHive何が違うの?)」 という質問を、先日、StackOverFlowで見かけました。恐らくHadoopを触ると一度は疑問に思う事ではではないでしょうか。 PigとHiveは、共にSQLライクな記法でMapReduceを書けるDSLですが、利用者数においてはHiveに軍配が上がっているようにみえます。 一方で、「Pigをもっと早く試せば良かった」というお話を伺うこともあり、有用(かもしれない)ツールであれば、正しく理解しておいた方がよさそうです。 というわけで、ここではPigの活用を探ります。 Pigの性能 Pigが今一つ利用されていないのは、SQLとの親和性に加え、性能面で、「JavaMapReduce>Hive>Pig」という傾向があるからで

  • D3.jsをつかってData-Drivenにリッチなグラフやチャートを作成しよう - Tech-Sketch

    Webやスマートデバイス、センサーなどあらゆるものから情報を収集出来るようになり、世の中には膨大なデータが溢れかえっています。 また、ビッグデータやデータサイエンティストといったキーワードに注目が集まり、データ活用への期待が高まっています。しかし、単純に収集したデータはそのままでは見づらく、そこから意味を汲み取るのは困難です。 そこで、データの見せ方や伝え方が重要になってきます。 インフォグラフィックスやデータビジュアライゼーションといったキーワードにも注目が集まりつつありますね。 記事ではD3.jsというJavaScriptのライブラリを利用し、このブログ(Teck-Sketch)のはてなブックマーク数や、世界の国別の人口の比較を視覚的に分かりやすく表現していきたいと思います。 インフォグラフィックス?データビジュアライゼーション? キーワードとしてインフォグラフィックスとデータビ

  • マルチコア時代のプログラマは関数脳になろう〜Java8のススメ〜 - Tech-Sketch

    CPUのクロックアップに限界が訪れ、マルチコア化することで処理性能向上を目指す時代になりました。これからのプログラマには、マルチコアで処理性能が向上するプログラム=マルチスレッドで並列処理が可能なプログラムを書く能力が必要になります。今回は「関数型」でプログラムを書くことによって、いとも簡単に並列化ができることを実例を元に解説します。 関数型プログラミングと並列処理 「関数型でプログラムを書くことで簡単に並列化できる」と書きましたが、そもそもここで言う「関数」とは何なのでしょうか? 関数型プログラミングの特徴 関数型プログラミングの「関数」を理解するためには、数学における「関数」を想像するとわかりやすいでしょう。 例えば三角関数を用いた y=cos(x) という式を考えてみます。この式に入力値 x=0 を与えた場合、いつでも必ず結果は y=1 になります。x= π/3 の場合は y =

  • AWS OpsWorksを使ってみた (技術編) - Tech-Sketch

    AWS OpsWorksを使ってみた(概要編) では、AWS OpsWorksの概要について紹介しました。今回の記事ではそれに補足して、前回触れられなかったOpsWorksの機能の詳細や、OpsWorksの初期構築処理の仕組みに関して把握できた範囲で紹介します。 OpsWorksの各種機能 前回の記事 でも特徴の所で簡単に触れましたが、OpsWorksにはChefによる自動構築以外にも様々な機能が用意されています。まずは前回掘り下げられなかったこれらの機能について、簡単に紹介していきます。 Auto Healing (障害自動復旧) Auto Healingは、インスタンスの障害を検知した際に代替となる新しいインスタンスを自動的に立ち上げる機能です。OpsWorksの各インスタンスではOpsWorks Agentと呼ばれるサービスが稼動しており、定期的にKeepaliveパケットを送信して

  • AWS OpsWorksを使ってみた (概要編) - Tech-Sketch

    今回は2013年2月にβ版が公開されたAWSの新たなアプリケーション管理サービスであるAWS OpsWorksについて、その概要を紹介します。 AWS OpsWorksとは AWS OpsWorks(以下OpsWorks)とは、環境構築とアプリケーションのデプロイの自動化・統合管理を実現するサービスです。OpsWorksを用いることで、柔軟に構成変更が可能な環境一式をAWS内に自動構築することができ、アプリケーションのデプロイもコンソールから指示するだけで自動的に行うことが出来ます。 AWSは以前からアプリケーション管理サービスに分類しているサービスをいくつか提供しています。AWS Elastic Beanstalkでは、アプリケーションを動かす環境一式を選択肢から選ぶだけで環境が自動構築され、アプリケーションコードだけを用意すればすぐにWebサービスを稼動させることができます。AWS C