サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
stormcat.hatenablog.com
2017 - 05 - 19 TLS/SSLサーバ証明書をDockerイメージで管理してみないか? Docker TLS / SSL サーバ証明書 あるじゃないですか。アレ、Dockerイメージで管理して運用してみる方法もありじゃないか?という雑エントリです。 Data Volume Container Dockerコンテナにファイルや ディレクト リを供給する方法は色々あって docker build のときにイメージに閉じ込めてしまう ホスト ディレクト リをコンテナにマウントする 他のコンテナをデータボリュームとして参照する といった手法。1のdocker buildで閉じ込める手法はお手軽だが、アプリケーションと特定の証明書が密結合になるのでなるべく避けたい。2のホストからマウントの手法もホストのメンテが入るのでポータビリティに乏しい。 このような用途では3の手法が良いと考えている
2017 - 05 - 03 microservices間でデータ変更をReactiveに伝搬させる Microservices Reactive microservices構成なものを運用していると、更新頻度が少ないデータなのに別のmicroservicesに都度リクエストをするということがよくあると思う。 例えば、Userの ドメイン を扱うサービスがいた場合、他のサービスはUserのデータを取得するためにUserサービスをHTTP(S)ないし、何らかのRPC的手段によって取得することになる。以下の図をイメージしてもらえるとよい。 UserサービスがUser ドメイン を担当する層なのでこのようになる。 データの更新頻度が少ないという現実 実際に運用してみると取得対象のデータ更新頻度が少ないというケースがあるので、Userサービスへのリクエストを減らしてキャッシュを活用したくなるところ
2017 - 05 - 01 そうだ Go、京都。に参加してきた #golangkyoto Go 4/29に京都の 株式会社はてな さんで開催された そうだ Go、京都。 に参加してきた。 go-kyoto.connpass.com この為に上洛した、というわけではなく翌日に開催された 春の天皇賞 のついでの意味合いが強い。 雑多な感想 関西圏の勉強会に初めて参加したので、雰囲気が把握できてよかった はてな エンジニア勢がGoをどう使ってるのかの雰囲気を知れた やっぱりエラー処理は皆ツラミを感じてた。 github.com/pkg/errors 不可避ですよねー gRPCの高まりを関西でも感じた 雰囲気もいいので、時間がある人は何か喋ってくるといいと思う 自分のスライド せっかく来たので自分も喋ってきた。まあPlasmaの営業的 トーク だけど。 speakerdeck.com 京都い
2017 - 04 - 05 gRPCとServer-Sent Eventsでサーバプッシュできるplasmaを公開しました serverpush gRPC SSE この度OpenFRESHプロジェクト( 生放送動画配信プラットフォーム FRESH! の オープンソース プロジェクト)は、 plasma というプロダクトを公開しました。 plasmaとは plasmaとは何ぞやという話ですが、 gRPC streamとServer Sent Event(SSE) を用いた汎用的なServer Push ミドルウェア 。 github.com Plasmaにイベントデータ(イベントタイプとPayload)を投げると、それを購読(SUBSCRIBE)しているクライアントに通知される。gRPC Streamを使っているので、基本的にgRPC対応言語で書かれたクライアントであれば利用可能。 Web
2017 - 03 - 11 2017 CircleCI Meetup Tokyo #2 が開催されました #circleci #circleci_meetup CircleCI CI DevOps 昨日3/10、弊社にて2度目のCircleCI Meetupが開催されました。 cyberagent.connpass.com CircleCI 2.0について CircleCI社よりDeveloperのKim氏にご登壇頂き、現在クローズドベータ公開中であるCircleCI2.0について発表していただきました。 1.0問題 ビルドイメージが Ubuntu のみで、Dockerコンテナ上でのビルドにも未対応 LXCのprivileged問題(Dockerは特権保持していないLXCコンテナ上で動作させることはできない)を突破するために、Dockerにパッチを当てて運用していたがこの手法は1.9で行
2017 - 03 - 04 CI環境におけるaws-cliのインストール結構つらいよね問題 AWS Docker ECR つらい 、というのはあくまでCircleCIとかでインス トール するときの話。 github.com 動機 今Docker Registryを Amazon ECRに移行していってるんですが、今までCI上でやっていたdocker build/docker tag/docker pushのプロセスをECRでも同様にやるために、 ecr get-login をする必要がある。 ecr get-login の正体はECRにdocker loginするためのコマンドを標準出力で返してくれるというもの。 $ aws ecr get-login --region ap-northeast-1 docker login -u AWS -p あなたのアクセストークン none ht
2017 - 02 - 20 JJUG ナイト・セミナー Kotlin(ことりん)でSpark Frameworkの話をしてきました #jjug #kotlin Kotlin JJUG ナイト・セミナー Kotlin(ことりん)でSpark FrameworkをKotlinで書いて気持ち(・∀・)イイ!!的な話をしてきました。 【東京】JJUG ナイト・セミナー 「Kotlin(ことりん)」 2/20(月)開催 - 日本Javaユーザーグループ/Japan Java User Group | Doorkeeper 発表スライドはこちら。本日は悪天候の中ご足労頂きありがとうございました。 speakerdeck.com Server Side Kotlinやっていき〜💪 a-yamada 2017-02-20 22:00 JJUG ナイト・セミナー Kotlin(ことりん)でSpark F
2017 - 01 - 30 GoogleにおけるRelease Engineeringとは Google SRE Operation Release Engineering SRE(Site Reliability Engineering)が叫ばれて久しいですが、 Google がこの度 Site Reliability Engineeringに関する書籍 をWeb上で無料で公開したので早速かいつまんで読んでみた。きっとそのうち日本語化されて オライリー のebook上に並ぶのでしょう。 とりあえず Release Engineeringの章 に目を惹かれて興味深かったので斜め読みしてみた。 リリースエンジニアの役割とは Google では リリースエンジニア の役割について以下のように定義している。 Google にはコードの変更を本番環境に反映する時間やビルドを構成するファイルの中で
2017 - 01 - 26 go getで取得したcliツールのバイナリを持った軽量なDockerイメージをつくる Docker Go Alpine CircleCI 諸事情で欲しかった。 動機 gooseというGoで書かれた cli のDB マイグレーション ツールを使っているのだが、こいつの バイ ナリだけを持っているDockerイメージが欲しい Goにも Alpine Linuxベースの軽量なイメージ がある。しかしそれでも240MBくらいある ベースイメージはGoでなくていいので、gooseの バイ ナリをシュッと実行 ディレクト リに配置した軽いイメージが欲しい といったところ。ちなみにAlpine Linux はもともと組込系用途で利用されていた ディストリビューション で、最近ではDockerイメージのベース ディストリビューション として広く利用されてます。 alpine
2017 - 01 - 09 最近のHTTP/2のproductionでの対応状況を雑に調べた HTTP2 Web HTTP HTTP/2のプロダクションにおける採用状況を調べてみたかったので、有名どころのServiceを色々と巡回して対応状況を確認してみた。 調べ方は色々あるが、 Chrome 拡張のHTTP/2 and SPDY indicatorを使えばいい。 青いイナズマ 表記になればOK。 chrome.google.com もちろんバックエンドの プロトコル についてはわからないので、Web面で対応されているものを HTTP/2対応 として紹介します。 開発支援系 Slack slack.com Dropbox www.dropbox.com Mackerel はてな は違うが、MackerelはHTTP/2。いつもお世話になっております。 mackerel.io SNS 、
2017 - 01 - 02 docker-composeをサポートしたCodefreshというCIサービスを使ってみた CI tool Docker DevOps CodefreshというDockerを使えるCIサービスがあるので雑に触ってみたというエントリです。 codefresh.io プラン プランについては各自確認してほしいんですが、基本的にPublicな リポジトリ を扱い並列ビルドが要らなければ無料で使うことができます。 Open Sourceプランでも GitHub /BitBucket/DockerHub/Slackは対応 Basic($99/month)からは並列ビルドができ、プライベー トリポジ トリも扱うことができる Pro($299/month)からはJenkinsやbintrayとも連携ができ、インフラは共有領域ではなく 専有領域 を用意してもらえる。 On-P
2017 - 01 - 01 Kotlinで書いたサーバアプリケーションのDockerイメージ構築パターン Kotlin Docker Gradle Kotlinで書いた API サーバをDockerコンテナで運用する場合、どのような方式が実用的かを考えてみた。パターンと言っても今のとこ今回の一種くらい。 サンプルアプリ 今回書いたサンプルはこちら。 github.com 以前書いた Spark Framework with Kotlin の延長線上で、今回もSpark FrameworkをKotlinで書いてます。 エンドポイントはこれだけ。 package io.stormcat import spark.Spark.* fun main(args: Array<String>) { get ( "/echo" , { req, res -> "Hello, ${ req.queryP
2016 - 12 - 27 GreenWallでサクッとサービスの死活状態を可視化する Go DevOps 監視 GitHub のGoのTrendを眺めてたらGreenWallという死活監視ツールを見つけたので使ってみた。 github.com GreenWallはGoで書かれた簡易的な死活監視ツールで、HTTP/ HTTPS とICMP、 TLS に対応してます。ヘルスチェックの実装自体はpluggableになってるので、今後色々なタイプのヘルスチェック実装が追加されてくのでしょう。 使い方 install とりあえずgo getでgreenwallを取ってくる。 $ go get github.com/mtojek/greenwall 監視設定ファイルを作成 次に、何を監視するかを定義した yaml ファイルを用意。これに監視するエンドポイントをつらつらと列挙してく。書き方は公式のR
2016 - 12 - 21 2016年、今年買って良かったものをまとめてみた この記事は 今年買ってよかったもの Advent Calendar 2016 の21目の記事です。 www.adventar.org ちなみに昨年の記事はこちら。 blog.stormcat.io iPhone7 www.apple.com まずはやはりiPhone7。基本的にS付きを買っていたので7はスルーのパータンだけど、まさかの Felica 搭載で Suica 対応 されたことでこれは買わざるを得なくなった。 それまでは iPhone ケースの裏に View Suica を忍ばせていたがその必要もなくなった💪 Apple Watch Series 2 Nike + www.apple.com まったく興味なかったが評判よかったので買った。Watch2も Suica に対応しているけどこちらの Suic
2016 - 12 - 20 asanaのBoard Layoutでカンバンとスプリントの運用を始めてみた プロジェクト 開発 asana 表題の通り、asanaのBoard Layoutでカンバンとスプリントの運用を始めてみました。 動機 JIRA に疲れてしまった JIRAは社内で用意してもらってるオンプレだが、ネットワーク的に閉じられてしまうため他の サードパーティー のサービスとの連携がつらい といったとこです。というわけで今回はasanaを導入してみることにしました。 asana asana.com asana(アサナ)とはプロジェクト管理ツールで、15人までは課金しないで利用できます。ウチもまだ課金はしてないけど、機能解放したくなったら課金すると思う。 基本的な考え方 Organization: asanaを利用する組織。基本的に ドメイン 単位になるので、Organizati
2016 - 12 - 19 Slackでtimesを駆使してコミュニケーションをドライブさせるのと、霊圧重要よねっていう話 Slack プロジェクト この記事は Slack Advent Calendar 2016 の19日目の記事です。 というわけでプロジェクトでやってるSlackを使ったtimesの運用について雑に紹介します。 チームtimes チームでのtimesというのを今年の夏くらいから始めてます。ここで言うチームとは、プロジェクト内での担当領域に相当して、例えば自分のとこはざっくり言うとサーバサイドなので #times_server というチームtimesチャンネルを用意してます。 用途としては 日々の進捗共有 で、 毎朝作業開始時と終業時に各自が書く ようにしてます。日報的な役割を果たしていると思えばいいです。 第1形態(お天気マーク) 最初の頃は以下のような感じ。 単純に
2016 - 12 - 12 Spark Framework with Kotlin Kotlin Java この記事は Kotlin Advent Calendar 2016 の12日目の記事です。 qiita.com さて、今年は 一部のmicroservicesをKotlinで実装してリリースしたりした ので個人的にはKotlinを実戦投入した記念すべき年とも言えます😇 このmicroservicesはSpringBootで実装されていますが、最近はSpark Frameworkのようなmicro フレームワーク に注目してます。 Spark Framework Spark Frameworkとはサーバを同梱した(中身はJetty)軽量なWebフレームワークです。ちなみに、Sparkといえば Apache Spark が有名ですが完全に別物なのであしからず。 sparkjava.
2016 - 12 - 11 最近のTerraformのディレクトリ構成こうなった Terraform DevOps Terraformの運用を初めてなんだかんだで1年半くらいたったんですが、プロジェクトによって環境も運用も違うので開発環境や本番環境の構成をどのように管理しているかというのは結構バラける気がしてます。1年半経過して行き着いた形を雑にシェアするだけのエントリです。 前提 環境の系統は dev(develop)/ stg (staging)/ shd (shared)/prd(production の4系統がある ドメイン は本番用の ドメイン と開発用の ドメイン で完全に分けている 全てのリソースをTerraformで管理してはいない。これからもするつもりはない。 以前書いたエントリ で、運用で状態が変わる性質のあるものには不向きだったり(状態変化を無視設定はあるが)、独自
2016 - 12 - 08 dind(Docker in Docker)で複数のdocker-composeを管理する Docker この記事は Docker Advent Calendar 2016 の8日目の記事です。 qiita.com 動機 microservices運用してるし、検証用プロジェクトとか遊び用プロジェクトとかあるし、複数docker-composeをローカルで運用するのしんどい。 dind(ディーインディー) dindとは何ぞやと思う方もいるかもしれないですが、dindは Docker in Docker の略でDockerコンテナのでさらにDockerのデーモンを稼働させて、その内部のDocker上にさらにコンテナを配置するという手法です。 dind対応のdockerのDockerイメージは DockerHub から入手できます。 dind がついているのがdi
2016 - 12 - 07 vscode-glideというglideのvscode extensionがあった vscode Go glide この記事は Visual Studio Code Advent Calendar 2016の7日目の記事です。にわかvscoderなのでたいした内容じゃないのであしからず。 qiita.com わたしと Visual Studio Code 以前はGoを IntelliJ IDEAの go-lang-idea-plugin で書いてたけど、vscodeはなかなか軽快に動くし、 vscode-go も出来が良いので乗り換えたのが今年一番のトピックかもしれません。 vscode関連のエントリもたまにしてます。 blog.stormcat.io blog.stormcat.io Goとvendoring Goでは1.6系から正式vendoringをサポ
2016 - 12 - 05 秘技!無停止ドメイン移行芸 AWS 移行 ドメイン この記事は CyberAgent Developers Advent Calendar 2016 の5日目の記事です。 www.adventar.org 4日目はyodareさんの 産まれたてのAbemaTVは、ユーザにどう受け入れられていたか?:Twitterデータを用いた分析 でした。 ちなみに弊社のAdvent Calendarは3年連続の参戦。過去2回の記事はこちら。 2015年: WebアプリをDocker構成にした場合にフロントエンドリソースを扱うためのデザインパターン 2014年: 開発効率化への道は一日にしてならず ドメイン 変更とは ドメイン 変更・・・。それはWeb上で事業を生業とする者にとっては、 時にはどうあがいても抗うことの出来ない哀しみの案件 である。 FRESH! の悲哀 1/2
2016 - 11 - 30 たった10年前の某IT企業でのこと 年末だからなのかはわからないですが、何か最近闇エントリが氾濫している気がするので自分も書いてみる。10年前に プログラマ としてのキャリアをスタートさせたわけですが、当時入社した独立系の中小 SIer 企業(D社とよぶことにする)についての話し。 ※あらかじめお断りしておくと SIer を ディスる つもりはまったくなく、10年前に入った会社がひどい SIer だったというだけです。これから会社選びをするという方は SIer というだけで色眼鏡をかけないでいただきたい。 雑用 基本的に100%開発に専念できるという環境にはない。特に新人には様々な雑用が降ってくる。記憶している限り、こなした雑用は以下のようなもの。 電話対応 来客対応、🍵出し バイ ク便手配 取引先の新事務所オープンによる花の手配 朝の掃除。ちなみにテラスが
2016 - 11 - 18 stackimpactでGoアプリケーションのメトリクスを可視化する Go metrics tool stackimpact というサービスはご存知でしょうか。 このサービスは何かと言うと、Goアプリケーションのメトリクスを可視化するためのサービスです。競合は NewRelic あたりでしょうかね(最近NewRelicでもGoが正式にサポートされましたが)。 とりあえず使ってみましょう。 エージェントのキーを取得する stackimpactにサインアップすると、エージェントの アプリケーションキー が発行されます。Configurationのページで後から参照もできるのでメモしておく必要は無し。 stackimpactのエージェントが GitHub に公開されています。これを go get とかで取得してきます。 github.com 以下のコードを対象のアプ
2016 - 11 - 11 エンジニア立ち居振舞い(動画サービス開発者編) エンジニア 動画 監視 お題「エンジニア立ち居振舞い」 TLを眺めていたらこんなのが流れてきたので乗ってみます。 blog.hatena.ne.jp メトリクス・パフォーマンスの監視 mackerel EC2やRDSといった AWS リソースの監視や、サービスの外形監視等にmackerelを利用しています。もちろん 閾値 を超えればSlackにalertが飛んで来るようにもなってますけど、定期的に目視でも見て異常の兆候が無いかをチェックします。 mackerel.io kibana + Elasticsearch アクセスログ やアプリケーションログはfluentdからElasticsearchに転送し、Kibanaで可視化しています。 API のTime Takenをログに出すようにして、Kibanaでグラフで
2016 - 11 - 01 AWS Case StudyにてFRESH!のユースケースが公開されました aws docker DevOps AWS は膨大な規模で利用されているので、各社の ケーススタディ が先人の知恵として 公開 されています。 自分の担当している FRESH! でも日頃から AWS をフルに活用させてもらっています。 abemafresh.tv というわけでこの度、 FRESH! の AWS の利用事例が AWS のCase Study として公開されたことをお知らせします🎉 aws.amazon.com 主にEC2 Container Service(ECS)を使ったMicroservicesの話や、 AWS で得られた効果の話です。 6月に AWS Summitで発表した内容をシュッとさせたアウトラインといったところでしょうか(こちらのスライドもぜひご覧あれ)。
2016 - 10 - 31 整備済製品のMac Proを買った Mac Apple 先日、 Apple のイベントで新型 Mac Pro の発表は予想通りなかったので、整備済製品の3.5GHz 6コア Intel Xeon E5を買いました。 動機 普段、自宅も会社もMBP Retina 15inchのメモリ16GB使いだが、当方の普段の使い方ではメモリ16GBは心もとなくなってきた 新型MBPの最大メモリはやはり16GBだった そもそも私物MBPのディスプレイに数本縦線が入ってしまった 自宅にハイエンドデスクトップが欲しかった iMac はディスプレイにロックされちゃうので(別のディスプレイ使いたかった) となったら Mac 。 Mac Pro 、どうせあと2年くらいはモデルチェンジしないんじゃないかなという勝手な予想 整備済製品とは Apple 製品における 整備済製品 とはいわゆる
2016 - 10 - 28 .ioドメイン障害でDocker運用環境に結構影響が出ている件 Docker DNS 現在、 .io ドメイン の名前解決に問題が起きています。詳しくは以下の記事を見て頂けると一目瞭然です。 qiita.com .io ドメイン は近年結構(開発系 クラスタ にとっては)人気で、ちなみにこのブログも.io ドメイン を利用しているため、閲覧が難しい状況でした。 今やってるサービスは.io ドメイン ではないですが、外部利用しているものに .ioドメイン なものがありました。そう、 公式のDocker Registry です。 registry-1.docker.io Dockerを利用している方は、DockerHubの存在を知らない方はいないでしょう。多くのアプリケーションや ミドルウェア の公式イメージが ホスティング されており、また多くのユーザーが各々の
2016 - 10 - 12 CircleCIでyarnを使う Node npm CircleCI 世間はnpm互換のパッケージマネージャであるyarnで盛り上がっているようです。 github.com ヘーシャではCircleCIでnpmなプロジェクトをいっぱいビルドしているので早速雑に試してみた。 github.com circle.yml とりあえず circle.yml はこんな感じ machine: node: version: 4.6.0 post: - curl -o- -L https://yarnpkg.com/install.sh | bash dependencies: cache_directories: - "~/.yarn-cache" pre: - yarn --version override: - yarn install test: override:
2016 - 09 - 28 KotlinとSpring Bootとか諸々を使ってMicroservicesを作ってみた 最近バックグラウンドで稼働する決済系のMicroservicesをKotlinで作ってめでたく運用開始したので、どんな感じでやったかを雑に共有。 Kotlin選択の理由 自分は Scala が好きなんですけど、周りに書ける人いないし、そんなに時間もないし、で素の Java もダルいしってなって現実的な解となったのがKotlinだったに過ぎません。 kotlinlang.org Java をバックグラウンドに持つ人が多い今のプロジェクトではなかなかよかった気がしてます。 コンパイル 速度もほどんど気にならなかったし満足(規模が大きくなったらどうなるだろうかというのはあるが)。 spring-boot-starter-web 手堅くSpring Bootを利用。もちろんKo
次のページ
このページを最初にブックマークしてみませんか?
『tehepero note(・ω<)』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く