Go Web プログラミング Webプログラミングが好きでGo webプログラミングを書きました。皆さんに気にいってもらえれば幸いです。
Detail [JA] Scalable deployments - How we deploy Rails app to 100+ hosts in a minute If you're developing web apps, I guess you perform some deployments using tools like Capistrano. And we think the existing tools are slow for huge applications and a lot of servers. We serve cookpad.com, which is a huge Rails app, and the largest recipe site in Japan. It is now backed more than 100 app servers. We
私は Yahoo JAPAN に所属し YDN (Yahoo!ディスプレイアドネットワーク) を担当しています。 先日、この YDN の crawler を perl で一から書き直しました。 これまでの crawler のコードといえば、いわゆるレガシーコードと化していて、開発者の多くがそのコードに触るのに二の足を踏んでいる状況でした。 一方、レガシーコードとは言っても、それは要求されている仕事をなんとかこなしており、だからこそ長らく放置されてきました。 おそらくみなさんの会社にもこういったコード、システムは少なからずあるのではないでしょうか。 私は、このレガシーコードを一から書き直しました。これにどれほどの意味があるのか、という疑問も当然わきます。実際、書き直しているとき何度も自問自答しました。また一方で、以前のプログラムよりいいプログラムが本当に自分に書けるのかという不安もありました
Goでは現在デーモンの実装は公式にサポートされていない。詳細はissue 227をご覧頂きたい。 そのため、現状はGoでforegroundで動くプログラムを作り、デーモン化はsupervisordなど外部のプログラムに任せるべきである。実際私もWebアプリケーションのデプロイはそうしている。 しかし、それでもGoだけでデーモンを立ち上げるプログラムを書きたいことがある。 その際に使える選択肢を紹介したい。(例をシンプルにするためいろいろ省略している。Macでは動いた。) 1. syscallでforkを行う _, ret, _ := syscall.RawSyscall(syscall.SYS_FORK, 0, 0, 0) if ret != 1 { // Exit parent os.Exit(0) } for { // do something in child process }
技術部の鈴木 (id:eagletmt) です。 クックパッドでは一部の Web アプリケーションサーバで Docker が使われており、今回はそのデプロイ方法について紹介します。 Docker で Web アプリケーションをデプロイするときには、まだまだベストプラクティスがある状況ではありません。 たとえば、どのように無停止でデプロイするか、どのようにコンテナと通信するかといった問題があります。 最初に Apache Mesos と Marathon などのツールを検証しましたが、クックパッドの環境において使いやすそうなものはなく、最終的に自前でデプロイのしくみを作ることにしました。 しかし Docker 周辺のツールは様々な新しいものが出てきている最中です。 今はまだベストなものが無いけれども、近いうちによりよいものが出てくるかもしれません。 そのため、できるだけ単純なしくみにしておく
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く