タグ

ブックマーク / hagino3000.blogspot.com (2)

  • アプリケーションエンジニアとサーバープロビジョニングツール

    自分はサーバープロビジョニングといえば、AWS上の番・ステージング・共有開発機もろもろインフラチームにまかせっきりだった。しかしアプリエンジニアがローカル開発環境を作る用途ならChefやPuppetよりもAnsibleがマッチしていると思った次第。 背景 自分の職場だと、インフラチームはPuppetのマニフェストでサーバーを管理している、例えばサーバーにインストールするパッケージ やApacheの設定である。しかし、そのPuppetマニフェストはアプリエンジニアのローカルの環境を構築する用途としてそのまま使えない。 インフラチーム管理下のサーバーにおいてPuppetマニフェストで管理されている部分はアプリケーションエンジニアは触れないため、変更を加えたい場合は都度依頼を出している。 共有開発サーバーとローカル個人環境 例えばApacheとfluentdとElasticsearchはインフ

    アプリケーションエンジニアとサーバープロビジョニングツール
  • wheelを使ってPythonのC拡張モジュールを本番デプロイする

    Pythonの話。wheelを使ってC拡張モジュールをデプロイする仕組みが上手く稼動したのでメモ。 依存パッケージの番デプロイ アプリケーションが依存しているPythonパッケージをどうやって番サーバーにデプロイするか。大抵はrequirements.txtにpip freezeで吐いた内容を保存しているだろう。とすると、番サーバーでpip install -r requirements.txtすれば良いんだが、githubが落ちてたりPyPIが落ちてたりすると、外部要因でデプロイスクリプトが途中でコケる、というダサい事態になる。それを避けるために事前にパッケージを固めて各サーバーに配布する仕組みが必要になる。C拡張モジュールを使いたいけど番サーバーでCコンパイラが自由に使えない、という時も同様で、事前にコンパイル済みの物を配布する必要がある。 pip bundleを使う場合 (d

    wheelを使ってPythonのC拡張モジュールを本番デプロイする
  • 1