momota.txt

hello, hello, hello, how low?

API アグリゲーション: Kong

kong-logo

Kong の概要

  • Kong は、オープンソースの API ゲートウェイソフトウェア
  • 低レイテンシー、スケーラブルなアーキテクチャ
  • フロントはNginx、バックエンド DB は PostgreSQL or Cassandra で構成される
  • 複数のマイクロサービス (API) をアグリゲーションし、以下のような機能を統合的に提供する
    • 認証
      • Basic 認証
      • API キー
      • OAuth2
      • JWT
      • HMAC
      • LDAP
    • セキュリティ
      • ACL
      • CORS
      • IP制限
      • ボット検出
      • SSL
    • トラフィック制御
      • レート制限
      • 応答速度制限
      • リクエストサイズ制限
    • 変換
      • リクエスト変換
      • レスポンス変換
      • Correlation ID
    • ロギング
      • TCP、UDP、HTTP、ファイル、Syslog、StatsD、Loggly
    • 分析
      • Datadog、Galileo、Runscope
    • ロードバランシング
    • サーキットブレーカー

最近はあまり流行っていないらしく、Web 上の記事が古かったので、使い方に関するメモ。といってもほぼチュートリアル通り。

古いなと感じたのは、たとえば、マイクロサービスの流行りを受けてか、api という概念が service に置き換えられている感じだった。

環境

  • Azure
  • Kong: 0.14.1

Windows + Chrome Headless Mode + Ruby + Selenium

Selenium と Ruby によりテストの自動化であったり、入力の自動化を進めている。 コマンドラインから実行すればよいことがほとんどで、ブラウザのGUIが起動しなくてもよい。 したがって、GUI が起動しない Google Chrome の Headless モードを使った Selenium スクリプトへ順次移行していこうと思う。

動作の軽量化もちょっとは期待できるかも。 (比較計測はしていない)

以下は、関連記事。

Google Apps Script でサーバレスな為替レート取得クローラをつくる

Google Apps Script (GAS) は、Google が提供する JavaScript プラットフォームで、Google apps (Calendar, Docs, Drive, Gmail, Sheets, and Slides) に対して処理する JavaScript を簡単に書ける。 Excel マクロのすごい版みたいな感覚。

このスクリプトからHTTP GETリクエストを出したり、受け付けたりできる。

今回は、この GAS を使って、無料の Web クローラをサーバレスでつくってみる。

Windows ログイン時に、Cドライブ以外のBitLockerを解除する

BitLocker は Windows 10 Professional/Enterprise に標準搭載されているディスク暗号化機能。 最近、会社 PC を Windows 10 にアップデートしたので使うようになった。

BitLocker は OS ログイン前に C ドライブの暗号化を解除しろ、とパスワード入力を求めてくる。 ただし、その後、OS ログインしても、C ドライブ以外 (たとえば、D ドライブ) は暗号化されたままとなっており、いちいち当該ドライブへアクセスしてパスワード入力して暗号化を解除する必要があった。 また、暗号化解除前に D ドライブ上のファイルへアクセスするとエラーが起きてしまい、大変うざったい。

そこで、OS ログイン時に自動的に C ドライブ以外のディスク暗号化解除するために PowerShell とバッチを書いてスタートアッププログラムに登録した話を書く。

セキュリティクラスタには怒られるのかもしれないが、OS に管理者権限ユーザでログインできている時点でもういろいろ見れて当たり前やろ、という思想。

全体の流れは以下。

  1. BitLocker 解除用の PowerShell を書く
  2. バッチファイル unlock-bitLocker.cmd を書く
  3. バッチファイル unlock-bitLocker.cmd をタスクスケジューラに登録する
  4. タスクを呼び出すバッチファイル trigger_unlock-bitLocker.cmd を書く
  5. バッチファイル unlock-bitLocker.cmd をスタートアッププログラムに登録してあげる

MySQL パフォーマンスチューニング

MySQL 5.7 のパフォーマンスチューニングについて、調べてたのでまとめる。

// 結構な文量になってしまった…

大きく、2つのアプローチがある。

  1. DBチューニング
    • システム変数 (my.cnf) のチューニング
    • 全体最適
  2. アプリ (SQL) チューニング
    • 個別最適

まあ、地道に、計測→問題点の特定→修正→計測… のサイクルを回すしかない。

Ansible ABC

チーム内での Ansible 勉強会の資料を公開。

ansible logo

公式サイトは以下。

前提知識としては、以下。知っていたほうが理解が早い。

公式から引用すると、Ansible は simple IT automation engine

Ansible is a radically simple IT automation engine that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs.

—– How Ansible Works より

Ansible で MacBook Pro をセットアップ

MacBook Pro 2700/13.3 MF839J/A を購入したので (わーい) 、構成管理ツール ansible を使ってセットアップした。

macbook pro

t-wada さんのエントリ Mac の開発環境構築を自動化する (2015 年初旬編) – t-wadaのブログ変更する を見れば事足りると思われるので、本稿は自分用のメモ(t-wada さんのを少しだけカスタマイズ & 補足)。

実行環境は以下。

what version
laptop MacBook Pro (Retina 13-inch, Early 2015)
OS OS X El Capitan 10.11.6
ansible 2.1.1.0