この記事はぼくのあどべんとかれんだー10日目の記事です。 今日はまったくコーディングの時間がとれなかったので、速攻でこの記事を書いて終わります。 うちはエンジニア夫婦で1歳半の子どもがいます。お互いフルタイムで働いています。まだ子どもにすごく手がかかるため個人の自由時間はほぼない状態が続いています。ではどうやってこれまでのアドベントカレンダーの記事を書いてきたかというと、夜子どもを寝かしつけ、それから自分が寝るまでの時間に書いていました。平日は当然昼間は仕事があるので、記事は書けません。休日はというと、むしろ平日よりも自由時間は少ないです。 例えば、今日どういう時間の使い方だったかというと、 朝7時半ごろ子どもとともに起床、おむつを変えたあと、奥さんが朝ごはんを子どもにあげて、その間にぼくはトイレ等済ませます。子どもの朝ごはんが終わったら、奥さんが朝ごはんを食べるので、ぼくが子どもの面倒を
Mackerelプロダクトオーナー(肩書き上はサブプロデューサー)の id:Songmu です。この記事はMackerel Advent Calendar 2017 の9日目の記事です。 今年、mackerel-plugin-accesslog という公式プラグインを書いたのですが、これが便利であり、それなりに頑張って作ったというのもあるので紹介したいと思います。 これは、Webサーバーのアクセスログを集計して、可視化してくれるものです。 インストール方法 mackerel-plugin-accesslogは公式のメトリックプラグインパッケージであるmackerel-agent-pluginsに含まれているため、それがインストールされていればすぐに利用可能です。パッケージのインストール方法は以下のページを参照してください。 ミドルウェアのメトリック可視化に公式プラグイン集を使う - Mac
さくらインターネット、HashiCorp Terraformを利用したクラウド構成管理サービス「リソースマネージャー」を提供開始 〜「さくらのクラウド」のインフラ構成をコードで簡単に管理〜 インターネットインフラサービスを提供するさくらインターネット株式会社(本社:大阪府大阪市、代表取締役社長:田中 邦裕)は、「さくらのクラウド」のオプションサービスとして、「HashiCorp Terraform(以下、Terraform)」を利用したクラウド構成管理サービス「リソースマネージャー」を2017年12月11日より提供開始します。 「Terraform」は、インフラの構築、変更、バージョンの管理をコードで行うためのコマンドラインツールです。HashiCorp社がオープンソースの製品として提供しており、あらゆるインフラ上で、さまざまなアプリケーションを自動構築するための一貫したワークフローとなっ
この記事はMercari Advent Calendar10日目の記事です。昨日は@syu_creamのメルカリのデータ分析基盤の紹介〜BigQuery周辺の話〜でした。 本日はUSサンフランシスコのサーバサイドエンジニア@deme0607が、今年2017年にリニューアルしたUS版Mercariのサーバサイドについてご紹介します。 現在のアーキテクチャ Brand new US Mercari (Android 編)でもご紹介したように、US版Mercariは今年、より一層USマーケットにフィットしたアプリを提供しUSでの成長を加速すべく、大きなリニューアルが実施されました。前述の記事はAndroidアプリのリニューアルに関するものですが、iOSアプリやAPIサーバも同様にリニューアルしています。 以下の図は、リニューアル後のUS版Mercariのサーバサイドアーキテクチャです。 ここでは
ソースIPは、多くのケースでNLBのPrivate IPになることがわかりますね。ターゲットからの戻りトラフィックのルーティング設計としては、NLBのPrivate IPへの疎通性を確保すればよいだけなので、こちらの方が設計はシンプルに済ませられそうです。 また、IPタイプはPrivate IPの直指定なのでEC2インスタンスとの組み合わせはあまり実用的ではありませんが、最近リリースされたAWS FargateといったENIに紐付くサービスでIPタイプが採用されています。今後もENIを利用するサービスでIPタイプが利用されるケースが増えるのでは、と予想します。 ちなみに、PrivateLinkはNLBに追加で設定するものなので、PrivateLink経由とNLB直接アクセスは共存可能です。とはいえ、インスタンスタイプだと挙動が異なるトラフィックを共通のターゲットで扱うことになるので、運用し
【背景】 この記事はQuoraの「What does a CTO do?」という質問に対するAmr-Awadallah氏のよくまとまった回答の翻訳です(本人から許可取得済)。 私はMAMORIO株式会社でCTOをしているのですが、最近自分の仕事が何なのかよく分からなくなってきたことがこの記事を書こうと思ったきっかけです。 私はこの記事でいう所の「雑草CTO」であり、たまたま会社の初期に私以外に適任者がいなかったので成り行きで就任し現在に至ります。 そして、人数もプレッシャーも少ない総初期は来た玉は打つの姿勢でコーディングから渉外まで何でもこなしていましたが、メンバーが増え、それよりも早いペースでユーザーと仕事が増えてくると、自分の職務を定義しやることとやらないことをはっきり分ける必要が出てきます。 この翻訳が同じような状況にあるCTOの助けになればと思いますし、誤訳等があったら指摘してくだ
さくらインターネットのアドベントカレンダー9日目として、サーバ屋らしく、運用に関するコマンドの使い方を紹介します。 サーバの負荷が高まってきたときに、vmstatやtopなどのコマンドで調査する事が出来ますが、I/O負荷をwa(iowait)によって判断する人も多いと思います。 ただ、結論から言うと、iowaitは正確にI/Oの負荷を表しているわけではありません。 これらを、実際に演習をしながら見ていきたいと思います。 iowaitとidle iowaitとはあくまでも、CPUが空いているのにI/Oがボトルネックになっているプロセスを示しているだけで、CPUの利用率が高いときにはI/Oがボトルネックになっていてもiowaitが上がりません。 同様に勘違いされがちなのが、id(idle)はCPUの空きを示しているというものですが、idleは必ずしもCPUの空き時間を示しているものではありませ
この記事は、Go2 Advent Calendar 2017 の10日目の記事です。 外部API用のHTTPクライアント/HTTPリクエストを書いていて、URLの組み立て方で気付いた細かいこと。 サンプル yyoshiki41/go-instagram-profile 本題の前に instagram には、 https://www.instagram.com/natgeo/?__a=1 のようにユーザーのプロフィール情報が jsonで返ってくるエンドポイントがあります。 # example $ curl "https://www.instagram.com/natgeo/?__a=1" | jq .user.biography "Experience the world through the eyes of National Geographic photographers."
フューチャーアーキテクトアドベントカレンダーに投稿したサーバーサイドレンダリングの代替としてPrerenderを試してみたに引き続き、JS系?ウェブ系?なエントリーです。 ECSとかEKSとか出てきて、コンテナを使うと、一つの物理ホストで、複数のコンテナをさばいて効率を上げる、というのが簡単にできるようになってきました。そのため、Node.jsのアプリもDocker化して配りたいですよね? 次のスライドを見ると、サイズが小さいほうが良いとされています。中には静的リンクが云々みたいなトリッキーな技もありますが、そこまでがんばらない&黒魔術にならない程度でがんばる方向でサイズを小さくしてみたいと思います。 お前のDockerイメージはまだ重い💢💢💢 by stormcat24 STEP1: Alpine + 標準ライブラリのみ 小さいというAlpine Linuxを使ってみます。クールな
「最小のNode.jsのDockerイメージを目指すスレ」、「JavaでもDockerでマルチステージビルド」というエントリーでは、Node.jsとJavaを使ったアプリケーションのイメージをなるべく小さくするトライアルをしました。 今度はGoでやってみます。ただし、Pure Goで最小というのはすでに方法があって、scratchという何も含まれないイメージを元に、静的リンクしたバイナリを配置するという方法です。 Building Minimal Docker Containers for Go Applications Goを使う場合に、一部cgoで使われたパッケージを利用したいこともあるでしょうし、雑にコマンドラインを利用することもあるだろう、ということで、今回も、できることを減らさずに(やりたいことにしたがって細かく作戦を微調整する必要がない)、なるべく小さく、という方針でいきたいと
9月から入社したフューチャーアーキテクトのアドベントカレンダーのエントリーです。技術的にはウェブフロントエンドとGolangあたりです。 シングルページアプリケーションを数年前に試してみて、やりたい表現はこれで十分できるし、過去大変だったことも大分解消されましたのを感じました。一方でSEOとかOGPとかいくつかそのまま実現できないものがあります。とはいえ、それの解消のためにサーバーサイドレンダリングをするのは実装の手間が大変です。そこで、設計時に考えなきゃいけないことが増えます。ウェブアプリケーション側でその手の考慮&実装をいっさいせずに、今時のウェブアプリケーションでやった方がいいことを実現できる方法について考えました ・・・と思って準備しておいたのですが、@R548さんがDMM.comさんのアドベントカレンダーに書かれてしまった内容と一部かぶります。合わせてお読みいただくと、理解が深ま
力がほしい Vimを愛用し初めて1年半、そろそろ力が欲しいと思っていたところ。 Dein.vim Dein.vim is a dark powered Vim/Neovim plugin manager. 良いものを発見。 まさにdark powerを得るチャンス。 ※イメージ → haya14busa さんのスライドより https://docs.google.com/presentation/d/14pViuMI_X_PiNwQD8nuGRG72GUqSeKDqoJqjAZWS39U/edit#slide=id.g28fa7f227c_0_221 NeoBundleからDeinに乗り換える。 ついでに、Plugin整理やら追加やらをし、細かく解説していきます。 Deinを使う上での構成やら基本的なことはここを参照。 構成(~/以下) .vimrc .vim rc dein.toml d
コンテナ型仮想化の技術や実装はDockerが登場する以前から存在していたとはいえ、IT業界で本格的にコンテナの活用が始まったと言えるのは、やはり2013年3月に当時のdotCloudからDockerが登場したことがきっかけでしょう。 そうして始まったコンテナ時代の第一章は今年2017年、コンテナの標準仕様がOpen Container Initiativeによって策定完了し、コンテナオーケストレーションの事実上の標準がKubernetesに決まったことで基盤技術の基本要素がおおむね固まり、一つの区切りがついたように見えます。 そして今後は、この基盤技術を用いたコンテナによる分散アプリケーションのための様々なサービスや開発、テスト、デプロイ、本番環境に対応したツールやサービス実行環境などのソリューションが登場し、競う段階へ入っていくのではないでしょうか。 この記事では、Docker登場から現
米Amazon Web Services(AWS)の年次イベント「AWS re:Invent」では興味深いことに、競合のイベントではよく耳にする「AI(人工知能)」と「ブロックチェーン」という2つの単語を聞くことがない。 AWSは2017年11月末に開催したAWS re:Invent 2017で、音声アシスタント「Alexa」をオフィスで利用するためのサービス「Alexa for Business」や、機械学習のモデル構築などを容易にする「Amazon SageMaker」など、様々なサービスを発表している。 しかし、基調講演で新サービスを発表したAWSのAndy Jassy CEO(最高経営責任者)や米Amazon.comのWerner Vogels CTO(最高技術責任者)は、これらのサービスを説明するのに機械学習やディープラーニング(深層学習)といった単語は使っても、AIという単語は
この記事はpyspa Advent Calendar 2017の6日めのために書きましたが、アマゾンアソシエイト目的です。 『退屈なことはPythonにやらせよう』が出た 2017年にブレイクしたPythonの本といえば、オライリー・ジャパンから発行された『退屈なことはPythonにやらせよう』ですよね。 実はこの本、そのむかし、自分でも翻訳発行をひそかに検討していたのです。 当時の翻訳者候補の方とのDMをさかのぼってみたら、少なくとも2015年7月以前の話でした。 「非プログラマーでもプログラミングしようぜ」という趣旨で著された本書は、わたし自身の書籍企画の方向性によくマッチしていました。 それで本書に目を付けたのですが、いかんせん分量は多いし、Pythonは日本だと入門者向け言語としていまいち盛り上がらないし(当時の話です)、なにより例題があんまりぐっとこないねという話で、そのときは企
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く