タグ

thinkitに関するnabinnoのブックマーク (22)

  • ERPの導入によってBRPを提供する

  • Ansible:さらにPlaybookをきわめる

    連載の第4回、第5回では「Ansible応用編」と題して、Ansibleの応用的な使い方やTipsについて詳しく解説していきます。前回(第4回)は、Ansibleのベストプラクティスに沿ってPlaybookを再整理する方法を紹介しました。今回は、Ansibleの持つ各種機能を活かしたPlaybookの効率的な記述方法やつまずきやすいポイントの回避方法を紹介します。 Playbookを効率的に書く 同種の処理をまとめる 同じ処理を何度も実行する際には、Loop構文を使うことで処理をまとめて記述できます。処理をまとめることで記述を簡潔にし、Playbookのメンテナンス性を高めることができます。 基的なLoop構文 基的なLoopの記述方法は、以下のようになります。「with_items」アトリビュートに、YAML記法のシーケンス(配列に相当)形式で定義しておくと、実行時に各要素が順次展

    Ansible:さらにPlaybookをきわめる
    nabinno
    nabinno 2021/02/03
    --syntax-check, --list-tasks, --check, --diff
  • Serverspecの概要からインストールまで

    変化の激しいビジネスに対応するためにシステムやサービスには、これまで以上に迅速な導入や安定した運用が求められるようになってきています。このような要求を満たすために、仮想環境やクラウド環境を基盤として利用し、サーバの構築プロセスや構成管理プロセスの効率化のためにChefやPuppet、Ansibleといった自動化ツールが活用されるようになってきています。 このように自動処理で手軽にシステムやサービスをセットアップできるようになると、構築時の人為的ミスを防げるようになるなど便利になる反面、内部で実施されている処理が人の手から離れて、把握しづらくなる傾向にあります。また自動化の導入に際しては、システムが意図した状態に作り上げられているのかを確認する作業も重要になってきます。特に大規模で複雑な環境において、この確認作業を手作業で実施することは、高コストの要因となってしまいます。 参考: Think

    Serverspecの概要からインストールまで
  • Akka Streamsで実装するリアクティブストリーム

    今回と次回の2回に分けて、Akka Streamsを使って実装するリアクティブストリームについて解説する。 はじめに 前回と前々回の2回で、Akkaでレジリエントなシステムを構築するためにAkka Clusterを使ってクラスタを組む方法を紹介しました。単に処理能力の向上を目的に並列化/分散化の手段としてAkkaを利用するだけでなく、障害に強く可用性の高いシステムを構築するための手段としても有効であることがおわかりいただけたでしょう。 今回と次回の2回に分けて、連続して発生し続けるデータを処理する「ストリーム処理」をAkkaで実現する方法を紹介します。Akkaではストリーム処理を実装する拡張機能として、「Akka Streams」が提供されています。Akka StreamsはJava 9の新機能として注目される「リアクティブストリーム」を実装したライブラリです。最初に リアクティブストリー

    Akka Streamsで実装するリアクティブストリーム
  • クッキーより便利になったブラウザ標準ストレージ - Web Storage

    TIPS 034:ストレージにデータを保存する TIPS 035:ストレージのデータを取得する TIPS 036:ストレージのデータをツールから確認する TIPS 037:ストレージからすべてのデータを取り出す TIPS 038:ストレージ上のデータを削除する TIPS 039:ストレージにオブジェクトを出し入れする TIPS 040:ストレージの登録/更新/削除を監視する サンプル一式は、会員限定特典としてダウンロードできます。記事末尾をご確認ください。 ストレージは、大きくセッションストレージとローカルストレージに分類できます。両者の違いは有効範囲です。 セッションストレージ(Session Storage)は、ブラウザが起動している間だけ有効です。ブラウザを閉じたタイミングでデータは破棄されますし、異なるウィンドウ/タブ同士でもデータを共有することはできません。 一方、ローカルストレ

  • KubernetesのパッケージマネージャーHelmとは?

    KubeConではコンテナオーケストレーションのツールであるKubernetesが大きな注目を集め、そのエコシステムの拡がりを感じることができたが、そのKubernetesのサブプロジェクトとして最近注目されているのがHelmだ。国内のSIベンダーに在籍するKubernetesのコミッターにインタビューを行った時に「もしも次にCNCFにホストされるプロジェクトがあるとすれば、IstioとHelmかも」という呟きを聞いたことをきっかけに、Helmについて調査を始めた。 KubeConでも非常に注目されたマイクロサービスを運用管理するための「サービスメッシュ」と呼ばれる管理ソフトウェアであるIstioは、GoogleやIBM、そしてLyft(軽量なProxyサーバーEnvoyの開発で知られている)が協力して開発しているソフトウェアであり、Ciscoなども事例を紹介するほどに、じわじわと浸透して

    KubernetesのパッケージマネージャーHelmとは?
  • なぜKubernetesが必要なのか?

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

    なぜKubernetesが必要なのか?
  • 新しいセキュリティアプローチ、CalicoとIstio、Kubernetesによるゼロトラストネットワークとは

    Linux Foundationと協調するプロジェクトとして2015年に設立されたCloud Native Computing Foundation(以下、CNCF)は、テキサス州オースチンにてKubeCon+CloudNativeConを2017年12月5日~8日の日程で開催した。これまでキーノートやコンテナランタイムに関して紹介してきたが、今回は数あるセッションの中からマイクロサービス内のセキュリティを高めるためのアプローチ「Zero Trust Network」について紹介しよう。まずサンフランシスコのベンチャーであるTigeraのエンジニアが行った5分間のプレゼンテーションについて紹介した後で、より詳細な解説としてZero Trust Networkを実現するためのIstioKubernetes、Calicoに関するセッションを紹介する。 5分という短い時間の中で紹介を行ったのは

    新しいセキュリティアプローチ、CalicoとIstio、Kubernetesによるゼロトラストネットワークとは
  • Doctor Web、Raspberry Piを狙うマルウェア「Linux.MulDrop.14」を発見

    Doctor Web、Raspberry Piを狙うマルウェア「Linux.MulDrop.14」を発見 Doctor Webは6月6日(現地時間)、Raspberry Piを狙うマルウェア「Linux.MulDrop.14」を発見したと発表した。 「Linux.MulDrop.14」は、Raspberry Piデバイスに搭載された機能に狙いを定め、暗号通貨をマイニング(採掘)するマルウェア。Doctor Webが同社のハニーポットに感染した「Linux.MulDrop.14」を解析したところ、このマルウェアはSSHを利用してリモートのRaspberry Piを狙う。このとき狙われるのはデフォルトのアカウント「pi」。感染に成功すると、マルウェアはネットスキャンツール「ZMap」とユーティリティツール「sshpass」をインストールし、他の感染先を探すという。 Raspberry Pi財団

  • 3つのファイルサーバ「NFS & FTP & Samba」

    ファイルサーバはその名の通り「ファイルを保管しておくサーバ」で、ファイルの保管内容によって利用するサービスの種類も異なってきます。 NFSサーバは「Network File System」によってファイルの共有を行うファイルシステムで、主にクライアントがUNIXやLinuxの場合に利用されます。UNIXやLinuxはネットワークを通じてリモートからNFSサーバをマウントすることができます。 NFSサーバは主に、科学技術計算用途のスーパーコンピュータやBeowulfクラスタのファイルサーバ、ブレード管理を行うサーバなどの環境で利用されています。スーパーコンピュータのファイルサーバは非常に大規模なFibre Channel接続の外部ストレージを備えていることが多く、これをNFSサービスとして他のクライアントに提供するといった運用が行われる場合もあります。 次の図は、最も基的なNFSサーバとN

  • 実践! AnsibleによるWordPress環境構築

    連載の第2回、第3回では、Ansible基礎編と題してAnsbileの導入方法や簡単な使い方について詳しく解説していきます。第2回では、AnsibleのインストールとAnsibleの簡単なコマンド、Playbookについて紹介しました。今回は、WordPress環境の構築を題材にしながら、Ansible Playbookの作成の基となる、変数の扱いや頻出のモジュールについて紹介します。 WordPressはオープンソースのブログ/CMSプラットフォームで、ブログやWebページの作成のために、広く使われているソフトウェアです。WordPressを利用するためには、Apache、PHPMySQLのインストールが必要となります。これらのインストールに必要な手順を全て Playbookに記述し、ansible-playbookコマンドを実行するだけでWordPressを利用できるようにしてい

    実践! AnsibleによるWordPress環境構築
  • 話題のディープラーニングを総括する特別イベントを2月9日に開催

    深層学習と呼ばれる「ディープラーニング」を中心に、これら最新テクノロジーを総括するイベントをオープンソースビジネス推進協議会の主催で開催することになりました。 昨年からにわかに注目されている機械学習人工知能といった新たなテクノロジー。Think ITでもディープラーニングに関する連載を開始し多くのアクセスを記録しました。 これらの新しい技術は、決してちょっと先の未来などではなく、すでに実用レベルでビジネスに活用されているものであることをまずは認識する必要があると思います。人工知能を手軽に活用できるWatson APIや、機械学習環境をクラウドで提供するAzure Machine Learningなど、すでに実サービスとして展開が進みつつあります(これらは2016年さらに増えていくことが予想されます)。今回、深層学習と呼ばれる「ディープラーニング」を中心に、これら最新テクノロジーを総括する

    話題のディープラーニングを総括する特別イベントを2月9日に開催
  • [ThinkIT] 第4回:CSVとBlackhole (3/3)

    テーブルを作成する際、CREATE TABLE文のENGINE句に"BLACKHOLE"を指定することにより、Blackholeテーブルを作成することができます。Blackholeテーブルを作成すると、そのデータベースのディレクトリ内に、どのようなカラム構成にてできているかなどのテーブル構造のデータが格納された「テーブル名.frm」のみが作成されます。 次に示すは、「Blackhole_TEST」データベース内に「TEST00」という名前のBlackholeテーブルを作成した時のファイル一覧です。「Blackhole_TEST」ディレクトリ内に「TEST00.frm」ファイルのみが存在していることがわかると思います。

  • OpenStackのアーキテクチャを理解しよう

    ゲストOSを管理するGlance 仮想マシンインスタンスを利用可能にするには、ゲストOSをロードする必要があります。ゲストOSはGlanceが管理しています。ゲストOSはイメージファイルとしてGlanceに登録後、仮想マシン起動時にインスタンスが実行させるホストにコピーされ、読み込み専用として仮想マシンにアタッチされます。読み込み専用なので、書き込み情報は一時的に保管されますが、インスタンス終了時に削除されてしまいます。これはAWSの初期の頃と同様の動きで「ephemeral」(エフェメラル・つかの間の、の意)なインスタンスと呼ばれます。もし、通常の仮想マシンと同様に、仮想ディスクファイルにOSやアプリケーション、データなどを保管したい場合には、次に解説するCinderを利用します。 GlanceはAWSの互換性という意味でAMI(Amazon Machine Image)形式のイメージを

    OpenStackのアーキテクチャを理解しよう
  • WEBrickを使ってみよう!

    Webサーバー=Apache!? 今、Webサーバーを構築しようとした時、ほとんどの人はサーバーソフトとして「Apache(Apache HTTP Server)」を選ぶと思います。 確かにApacheは非常に高機能で、通常必要と思われるほとんどの機能が備わっています。 しかし、自分用にちょっとしたサーバーを立ち上げるには、その設定項目の多さなどが少し大げさに感じることはないでしょうか? また、大抵のことは設定変更や外部で公開されているApacheモジュールなどで事足りますが、その範囲を超えてWebサーバーを拡張したい場合、自分でApacheモジュールを書かなくてはいけません。 Apacheモジュールを書こうとすると、かなりしっかりドキュメントなどを読む必要があり、また主にC言語による開発になるので、どうしても敷居が高くなってしまい、実際に書くということはほとんどないでしょう。 Apach

  • PostgreSQLのログをFluentdで収集する

    データベースの運用管理にログの情報は不可欠ですが、オープンソースのDBMSであるPostgreSQLが出力するログは、直接取り扱うのに適した形式とは言えません。そこで記事では、オープンソースのログ収集ツールであるFluentdを使って、PostgreSQLのログを運用管理に活用しやすい形に加工する方法を紹介します。 PostgreSQLの運用管理に使う稼働統計情報とログ データベースを安定稼働させるには、データベースを健全な状態に保つ運用管理が必要不可欠です。データベースの運用管理には一般的に死活監視、リソース監視、性能分析、チューニング、バックアップといった項目が挙げられますが、まずは監視によって正しく現状を把握することが、運用管理の第一歩と言えるでしょう。PostgreSQLで監視に使える機能には、稼働統計情報とログがあります。稼働統計情報はPostgreSQLの様々な稼働情報を蓄積

    PostgreSQLのログをFluentdで収集する
  • RailsのテストフレームワークRSpecの基礎知識

    実践Ruby on Rails 4 現場のプロから学ぶ格Webプログラミング 顧客管理システムの構築を体験しながら、Railsアプリケーション開発のノウハウを習得! この記事は、書籍『実践Ruby on Rails 4 現場のプロから学ぶ格Webプログラミング』の内容を、Think IT向けに特別にオンラインで公開しているものです。詳しくは記事末尾の書籍紹介欄をご覧ください。 エグザンプル RSpecは「ビヘイビア駆動開発(Behavior Driven Development:BDD)」というプログラム開発手法をRubyで実践するために作られたテストフレームワークです。従来の開発手法との違いを強調するためか、RSpecは独特の用語を採用しています。その1つがエグザンプル(example)です。 さきほど作成したstring_spec.rbでexampleとendで囲まれた部分がありま

    RailsのテストフレームワークRSpecの基礎知識
  • ソフトウェア作成において、美しさや優雅さより大切なこと

    APIデザインの極意 Java/NetBeansアーキテクト探究ノート NetBeans開発プロジェクト10年超の蓄積!API設計の経験や考察をまとめた一冊 この記事は、書籍『APIデザインの極意 Java/NetBeansアーキテクト探究ノート』の内容を、Think IT向けに特別公開しているものです。 この連載では、何回かに分けて書の内容を紹介します。今回は前回に続き、第1章の一部を掲載します。 美しさ、真実、優雅さ みなさんの多くが、前述の無知を称賛していることをもどかしく思っていると私は確信しています。重量級のクローラ・トラクタで積み上げられたゴミの山をどうやって優雅なものにできるのでしょうか。アプリケーションが醜い時にどうやって正しくすることができるでしょうか。そんなのはうまくいかないのではと思われます。しかしながら、うまくやることはできます。私達の多くが持っている先入観をもっ

    ソフトウェア作成において、美しさや優雅さより大切なこと
  • 山田 祥寛(YAMADA, Yoshihiro)

  • VirtualBoxやVagrantを用いたRails開発環境の構築方法(前編)

    実践Ruby on Rails 4 現場のプロから学ぶ格Webプログラミング 顧客管理システムの構築を体験しながら、Railsアプリケーション開発のノウハウを習得! この記事は、書籍『実践Ruby on Rails 4 現場のプロから学ぶ格Webプログラミング』の内容を、Think IT向けに特別にオンラインで公開しているものです。詳しくは記事末尾の書籍紹介欄をご覧ください。 記事では、VirtualBoxとVagrantを用いて仮想マシン上にRailsの開発環境を整える手順を解説します。仮想マシンのOSにはCentOSまたはUbuntu Serverを使用します。また、データベース管理システムとしてMySQLとPostgreSQLを仮想マシン上にインストールします。 仮想マシンを利用したRails開発 書ではCentOSまたはUbuntu ServerをインストールしたVirtu

    VirtualBoxやVagrantを用いたRails開発環境の構築方法(前編)