タグ

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

  • 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」という傾向があるからで

    kimutansk
    kimutansk 2015/11/06
    Pigについて今更初めてきちんと見てみましたが、作りやすく柔軟性は高いものの、性能的に課題が大きい、という感じでしょうか。昔の時点では。今ではどうですかね。
  • CloudFormationとLambdaを用いたAWSアカウントの初期設定 | Tech-Sketch

    AWSはEC2やS3のようなシステムを支える基盤としてのサービスだけでなく、 高度なセキュリティの実現や監査証跡の記録を行うためのIAMやCloudTrailのような各種サービスも充実しています。 しかしそれらのサービスの多くの機能はアカウント作成直後の状態では有効化されていません。 実際に業務でAWSを活用するのであれば、こうしたサービスを適切に利用することは欠かせません。 またAWSに詳しい人ばかりが運用に携わるわけではないことを考えると、AWSを初めて使うようなユーザでも簡単に設定できることが望ましいです。 幸い、AWSはこうした作業を自動化するためのAPIやサービスを豊富に提供しています。 今回は今年の4月から利用可能になった、AWS CloudFormationとAWS Lambdaの連携機能であるLambda-backed Custom Resourceを使って各種初

    kimutansk
    kimutansk 2015/10/12
    CloufFormationからLambdaを呼び出してリソース設定。結構長いですが、意外にnodeのasync使ってると読みやすいですね。
  • マルチホストDockerネットワーキング(2) pipework+GRE | Tech-Sketch

    Dockerネットワーキングの第二回です。前回はDockerのネットワーク周りを概観し、Dockerをコンテナ型仮想化エンジンとして見た場合のネットワーク周りの問題点について解説しました。今回からは、仮想ネットワーキング技術を用いて複数ホスト上で稼働するコンテナを接続し、Dockerをコンテナ型仮想化エンジンとして使いやすくするDockerネットワーク拡張ツールについて解説します。今回はjpetazzo/pipeworkを取り上げます。 Dockerをコンテナ型仮想化エンジンとして見た場合に必要なネットワーク機能 Dockerをコンテナ型仮想化エンジンとして使い、コンテナを「仮想マシン」のような単独で動作するサーバとして利用したい場合、以下のような機能を持ったネットワークがあれば便利になります。 L2及びL3で接続された複数ホスト上で稼働するコンテナ間を接続できる 任意のIPアドレスをコン

    マルチホストDockerネットワーキング(2) pipework+GRE | Tech-Sketch
    kimutansk
    kimutansk 2015/07/05
    うん、内容としてはわかるんですが、GREを実際の環境でまともに扱える自信がさっぱりですね。 次回のweaveを楽しみにしますか。
  • OpenDaylightアプリケーションの作り方 (MD-SAL) - Tech-Sketch

    前回の記事 では、OpenDaylightの簡単な概要やアーキテクチャと、AD-SALによるOpenDaylightアプリケーションの作成方法についてお話しました。 今回は、もう一つのフレームワークであるMD-SALでのOpenDaylightアプリケーション作成方法をご紹介します。 MD-SALの考え方 Model-Driven Service Abstraction Layer(MD-SAL)とは、OpenDaylightに存在する、データの交換や変換を抽象化するフレームワークの1つです。MD-SALでは、管理対象機器の情報やトポロジなど、様々なデータをモデルとしてMD-SAL内部のデータストアに格納します。各種Serviceはこのデータストアへのデータの更新や取得を行い、データの変化によって発生する通知や、連携するServiceが発生させる通知の受信、Remote Procedure

    OpenDaylightアプリケーションの作り方 (MD-SAL) - Tech-Sketch
    kimutansk
    kimutansk 2014/08/04
    今度はYANGを用いたMD-SALアプリケーション版、と。YANG空生成される部分の詳細はきちんと確認しておく必要がありそうですね。
  • OpenStackのオーケストレーションサービス「Heat」を使ってみる - Tech-Sketch

    前回の記事 ではOpenStack IcehouseのAll-In-One環境を構築しました。今回は、OpenStackのオーケストレーションサービスである「Heat」を使って、OpenStack上にWordPressを構築してみます。 クラウドオーケストレーションとは クラウド上のシステムを効率的に運用管理する方法として、クラウドオーケストレーションが注目されています。クラウドオーケストレーションとは、クラウド上のリソース配置やシステム構成を定義し、システムの構築・運用を自動化する仕組みです。AWSでは CloudFormation 、OpenStackでは Heat といったオーケストレーションサービスが提供されており、国内でもSCSKの PrimeCloud Controller や弊社(TIS)の CloudConductor といったオーケストレーションソフトウェアがOSSとして

    OpenStackのオーケストレーションサービス「Heat」を使ってみる - Tech-Sketch
    kimutansk
    kimutansk 2014/07/23
    シンプルな構成であっても定義自体は可成り複雑ですが、一度作りあげてしまえば、後はそれで自動的に出来るのはやはり大きいですね。
  • OpenDaylightアプリケーションの作り方 - Tech-Sketch

    近年の仮想化技術の進化に伴い、ネットワークをソフトウェアによって柔軟に設計、構築、運用するSoftware-Defined Networking(SDN)が適用され始め、これを実現するための様々なSDNコントローラやプラットフォームが台頭してきています。 OpenDaylight は、 Linux Foundation 内で発足した、オープンソースのSDNコントローラプラットフォームの協業開発プロジェクト、およびそのソフトウェアです。プロジェクトには著名な通信機器関連企業を始め、数多くのコミッタが参加しており、米国時間の2014年2月4日に初期リリースであるHydrogenが公開され、話題になりました。 今回の記事では、OpenDaylightの簡単な概要と、アーキテクチャやOpenDaylightアプリケーションの作成方法を中心にご紹介します。 OpenDaylightとは OpenDa

    OpenDaylightアプリケーションの作り方 - Tech-Sketch
    kimutansk
    kimutansk 2014/06/16
    「実体はOSGiFrameworkとその上で動作するBundle群」で、「NorthBound」「SouthBound」「コントローラプラットフォーム」で構成、が非常にわかりやすく的を得ていますねぇ。
  • Scala/Play2でWebアプリケーション開発~(2)Slick2.0で簡単アプリ開発 - Tech-Sketch

    前回の Scala/Play2でWebアプリケーション開発~(1)環境構築&デフォルトアプリの解説 ではPlay2の環境構築方法とデフォルトアプリについて紹介しました。今回はこの環境を元に簡単なWebアプリケーションを作っていきます。データベースに対して簡単なCRUD操作を行うアプリケーションを作るために、データベースはすぐに使える H2Database (以下、H2)を利用し、データベースへのアクセスは Slick を利用することにします。 アプリケーションを開発する事前準備としてH2DatabaseとSlickを使うための設定をEclipseと設定ファイルに少しだけ追加した後、「C:登録機能」、「R:参照機能」、「U:更新機能」、「D:削除機能」の順に作っていきます。 開発前の準備:データベースへの接続設定 前回構築した環境に対して、EclipseからH2を利用するためのプラグイン「D

    Scala/Play2でWebアプリケーション開発~(2)Slick2.0で簡単アプリ開発 - Tech-Sketch
    kimutansk
    kimutansk 2014/05/28
    この独特のマッピングが慣れないうちは大変で、慣れてくると大丈夫になるんでしょうねぇ・・・ routesはわかりやすいんですが
  • Scala/Play2でWebアプリケーション開発~(1)環境構築&デフォルトアプリの解説 - Tech-Sketch

    最近の関数型言語ブームの中で高い生産性と高い品質を兼ね備えた言語であると注目を浴びているのが 「Scala」 です。今回は、このScalaのWebアプリケーションフレームワークである 「Play Framework」 (以下、Play2)について紹介します。 「Scala」はTwitterやLinkedInなどのサービスで利用されており、昨年は日で初めてScalaに特化した大規模なカンファレンスが開かれたり、様々な情報媒体で取り上げられたりと、ここ1,2年で急激に人気が高まっているのではないでしょうか。 Play2はJVM上で動作し、これまでのJavaで開発するエンタープライズアプリケーションで多く採用されたサーブレットやJSPを使用せず、独自のMVCモデルのアーキテクチャを持っており、スケールアウトしやすい構造になっています。 また、開発者にもフレンドリーだと言われるPlay2がどの

    kimutansk
    kimutansk 2014/05/20
    Controllerやhtmlの関連はこうなっていますか・・
  • クラウドオーケストレーションとCloudConductor - Tech-Sketch

    皆さん クラウドオーケストレーション という言葉はご存知でしょうか。聞いたことの無い方でも、 AWS CloudFormation や OpenStack Heat はご存知かもしれません。これらのツールを用いれば、複数の仮想マシンや仮想ネットワーク、仮想ストレージ等から構成されるシステムの基盤全体を、設定含めて整合した状態で一挙に構築することができるのです。今回はこのようなクラウドオーケストレーションツールの一種である CloudConductor について、その概要をご紹介します。 クラウドオーケストレーションとは クラウドオーケストレーションという言葉は、ある意味バズワードのように使われています。単なる仮想リソースの自動プロビジョニングだけを指す場合もあれば、プロビジョニングされた各リソースの設定作業の自動化まで含む場合もあります。あるいはクラウド上のシステムの運用管理自動化という側

    クラウドオーケストレーションとCloudConductor - Tech-Sketch
    kimutansk
    kimutansk 2014/04/23
    こういうのもありましたか。後は、OpenStack Heatと思いっきり被るので、真っ向からぶつかって勝てるのか、という疑問はありますが、楽しみではあります。
  • OpenStack Havanaを構築してみる - Tech-Sketch

    OpenStackはオープンソースのクラウド基盤ソフトウェアです。今回は2013年10月にリリースされた最新バージョンのHavanaを構築してみます。 OpenStackの概要 OpenStackはオープンソースのクラウド基盤ソフトウェアです。最近では、同様のクラウド基盤ソフトウェアである CloudStack や Eucalyptus と合わせて、クラウドOSという呼ばれ方をするようになりました。 OpenStackは2010年にRackSpace社とNASAが中心となりスタートしたプロジェクトで、現在は2012年9月に発足したOpenStack Foundationの運営のもとコミュニティによって開発が進められています。日にもユーザーコミュニティがあり、 日OpenStackユーザ会 が2010年10月から活動しています。 現在のOpenStackの最新バージョンは2013年10月

    OpenStack Havanaを構築してみる - Tech-Sketch
    kimutansk
    kimutansk 2014/01/20
    NIC一枚の手順は貴重かもしれません。他の所大抵NIC2枚差しでその上にPackStackで構築となっているので。固定IP割り振ったNICにブリッジ設定するのがポイントですか。
  • GitHubがOpsツールの中心として活用しているHubotを使ってみる~インストール、スクリプトの作成、Herokuへのデプロイ~ - Tech-Sketch

    Github社製のBotフレームワークであり、同社の運用の中心的なツールとして使われている「Hubot」をインストールし、独自のスクリプト作成、Herokuへのデプロイまでしてみます。 Hubotとは? GitHub社が作成したオープンソースのBotフレームワークで、Botとは、自動的に実行、応答するようなプログラムのことを指します。HubotはNode.js、CoffeeScriptで作成されており、 HerokuなどのPaaSへのデプロイも容易 となっています。 Botなので、定期的、または自動的にプログラムを実行したり、問い合わせに応えるような機能を提供します。Hubotに最初から組み込まれているスクリプトでは画像の投稿や、地図の表示、計算などが行えるのですが、自身でスクリプトを追加することも可能です。 例えばGitHub社では、チャットアプリとHubotを繋げ、チャットルームにHu

    GitHubがOpsツールの中心として活用しているHubotを使ってみる~インストール、スクリプトの作成、Herokuへのデプロイ~ - Tech-Sketch
    kimutansk
    kimutansk 2013/12/17
    様々なチャットアプリと連携してメッセージからコマンド実行可能なBot、と。会話の中でコマンドが入ると状況がわかるというのは確かに
  • PostgreSQLを監視するZabbixテンプレート pg_monz - Tech-Sketch

    先日、オープンソースデータベース PostgreSQL を監視する Zabbix 監視テンプレート「pg_monz」を公開しました。ここでは、pg_monzの特徴や使い方を解説するとともに、pg_monzの開発に至った経緯についても触れてみようと思います。 pg_monz の概要 2013年11月5日にTIS株式会社(以下TIS)とSRA OSS, Inc. 日支社(以下SRA OSS)で共同開発した「pg_monz」をオープンソースソフトウェア(以下OSS)として公開しました。 pg_monz公開のプレスリリース(TIS) pg_monz公開のプレスリリース(SRA OSS) pg_monz1 は「PostgreSQL monitoring template for Zabbix」の略称で、オープンソースデータベースの PostgreSQL (開発元:The PostgreSQL G

    PostgreSQLを監視するZabbixテンプレート pg_monz - Tech-Sketch
  • D3.jsをつかってData-Drivenにリッチなグラフやチャートを作成しよう - Tech-Sketch

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

    kimutansk
    kimutansk 2013/09/03
    これだけでここまでの可視化グラフ/チャートができるのはすごいところですね
  • マルチコア時代のプログラマは関数脳になろう〜Scala・Clojure〜 - Tech-Sketch

    前回 の記事では、関数型プログラミングの概念とJava8による実装例を示しました。しかしJava8のリリースは来年まで延期されてしまったため、今すぐ試してみるには少しハードルが高いかもしれません。 そこで今回は、Java7のJVM上で動作する代表的な関数型プログラミング言語、 Scala と Clojure を紹介します。 Scalaとは では、 Scala から紹介しましょう。 ScalaはJVM上で動作するプログラミング言語で、関数型の特徴とオブジェクト指向の特徴を合わせ持った、欲張りな言語です。 JVM上で動作するため、既存の膨大なJavaライブラリをそのまま流用でき、JVMのパフォーマンスチューニングノウハウを最大限活用することができます。またJavaよりも豊富な記述形式を持ちながらもJavaオブジェクトをそのまま扱え、強力な型推論を持った静的型付け言語でもあるため、定型的で冗

    kimutansk
    kimutansk 2013/08/19
    単純に並列処理をやるという意味では関数型への対応は限定的で、並列処理に絞ったJava8の方が早くなる・・というわけですかね。
  • マルチコア時代のプログラマは関数脳になろう〜Java8のススメ〜 - Tech-Sketch

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

    kimutansk
    kimutansk 2013/08/12
    これは丁寧に書いてありますね・・・ そして次回がScalaとClojureということで楽しみです。個人的にはJavaは7を最後にScala/Clojureに乗り換えたいところではありますがw
  • AWS OpsWorksを使ってみた (技術編) - Tech-Sketch

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

    kimutansk
    kimutansk 2013/08/06
    セットアップの流れはこうなるわけですか。これもこれでいい内容でした。
  • AWS OpsWorksを使ってみた (概要編) - Tech-Sketch

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

    kimutansk
    kimutansk 2013/08/06
    他サービスとの使い分けと注意点がわかりやすくてよかったです。
  • オープンソースのワークフローエンジン「Activiti」入門 - Tech-Sketch

    私達がお客様向けに構築するバックオフィスシステムにおいて、ワークフロー機能を求められる機会が増えています。 この様な要求に対応するために、オープンソースのワークフロー・エンジンを導入することを検討しました。 数あるワークフロー・エンジンの中から「Activiti」を選択し、TISのアプリケーション開発基盤『Xenlon~神龍』(※)にワークフロー機能を装備しました。 連載では、この「Activiti」について、概要説明・動作環境準備・実践という順序でご紹介いたします。 ※ アプリケーション開発基盤『Xenlon~神龍』 オープンソースのワークフローエンジン「Activiti」とは 「Activiti」は、Apache2.0ライセンスのもとで配布されているオープンソースの"ワークフロー・エンジン"です。 BPMN2.0という規格に準拠していることから、"BPMN2.0エンジン"とも呼

    kimutansk
    kimutansk 2013/07/18
    元JBOSS jBPMのプロジェクトリーダーの方だったんですね。これ開発していたのは。
  • AWS・vSphere監視対応Zabbixプラグイン「HyClops for Zabbix」OSS公開 - Tech-Sketch

    2013年7月12日、オープンソースの統合監視ツールである「 Zabbix (開発元:Zabbix SIA)」のハイブリッドクラウド環境向け拡張ツール「 HyClops for Zabbix 」をオープンソースとして公開しました。 私たちはOSSを活用して運用を最適化することを目的として活動しています。その活動の中で非常に機能が豊富で自由度の高いZabbixに着目してきました。 仮想化・クラウド化が進むことで、環境を入手することが非常に容易になる一方で、これまで以上に大量の台数のマシンを扱わなければならなかったり、より煩雑な管理を実施しなければならないなど運用面では多くの課題が生じています。 このような課題に対して、Zabbixを最大限に活用し最適な運用システムを実現できるよう取り組んできました。 その成果として HyClops for Zabbix をこの度公開することになりました。

    kimutansk
    kimutansk 2013/07/16
    昨日スライドで観ましたが、ここを見れば情報へのリンクはまとまっていますね。 で、構造はこうなっていましたか。
  • Fluentdの仕組み -バッファ機能でログ収集漏れを防ぐ- - Tech-Sketch

    OSSのログ収集管理ツールFluentdを用いてログを統合管理している場合の懸念点として、ログの収集漏れが考えられます。 Fluentdでは、バッファ機能を活用することでログを収集漏れすることなく確実に収集することができます。 このバッファ機能のメカニズムを理解すべく動作検証した結果を紹介します。対象とするFluentdのバージョンは0.10.30です。 Fluentdとは Ruby実装のOSSのログ収集管理ツールです。 Fluentdは、Input、Buffer、Outputの3つのコンポーネントで実現されています。 様々な場所からログを収集、JSON形式に変換し(Input)、蓄積(Buffer)、様々な出力先にデータ出力(Output)します。 例として、あるサーバ(server01)のApacheのアクセスログを別のサーバ(server02)内にファイルとして出力する場合

    kimutansk
    kimutansk 2013/06/23
    送信時失敗の時の挙動がわかりやすいですねぇ。