タグ

ブックマーク / deeeet.com (7)

  • なぜMicroservicesか?

    現職においてMonolithアーキテクチャからMicroservicesアーキテクチャへの移行とその基盤の構築に関わって2年近くが経った.未だ道半ばであるがこれまでの経験や日々のインプットをもとにいろいろ書いておこうという気持ちになった.記事ではそもそもMicroservicesアーキテクチャとは何かを整理し,なぜやるべきか?・なぜ避けるべきかを整理する. Microservices? Microservicesアーキテクチャとは「Single purpose,High cohesion,そしてLoosly Couploedなサービスを組み合わせてシステムを構築する」アーキテクチャ手法である.それぞれの原則をまとめると以下のようになる. Single purpose: 一つのことに集中しておりそれをうまくやること Loose coupling: サービスは依存するサービスについて最小限の

  • Service meshとは何か

    Microservicesの世界においてService meshは大きなキーワードになった.KubeCon 2017やKubeCon 2018 EUにおいても多くのセッションをService mesh(もしくはその代表格であるIstio)が占めており注目の高さも伺える.もちろんMicroservicesを進めるMercariにおいても導入を検討しており今後重要なコンポーネントの1つになると考えている.記事ではそもそもなぜService meshという考え方が登場したのか,なぜ重要なのか? その実装としてのIstioとは何で何ができるのか? について簡単にまとめてみる. 参考文献 Service meshを一番理想的な形でサービスに使い始めその考え方を広めたのはLyftだ(と思う).LyftはIstioのコアのコンポーネントであるEnvoyを開発しそれを用いてService meshを構築

  • コマンドラインツールを作るときに参考にしている資料 | SOTA

    コマンドラインツールについて語るときに僕の語ること - YAPC::Asia Tokyo 2014 コマンドラインツールが好きで昔からつくってきた. 今年のYAPCで,そのコマンドラインツールをつくるときにどういうことを意識して作っているのか?どのような流れで開発しているのか?といったことを語る機会をもらえた. 具体的な内容については,是非トークを聴きに来てもらうとして, スライドをつくるにあったって過去に読んだ資料や,よく参考にしている記事を集め直したので,その一部を参考資料としてまとめておく. UNIXという考え方 UNIXという考え方 Mike GancarzによるUNIXの思想や哲学をまとめた.古いが全然色あせてない. コマンドラインツールの作り方を書いたではないが,これらの思想の上で動くツールはこの思想に準拠して作られるべきだと思う.何度も読んで考え方を染み付かせた. 小さい

  • Dockerのイメージはどこにある?

    Dockerのイメージはどこにある? Where are Docker images stored? 非常にわかりやすいまとめ.ただ,自分の環境とはディレクトリ構造などが若干異なった (バージョンが異なる?) ので,自分で手を動かしながらまとめなおしてみた. 今回用いるDockerのバージョンは以下. $ docker -v Docker version 0.7.2 ubuntuレポジトリを取得する $ docker pull ubuntu $ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE ubuntu 12.04 8dbd9e392a96 8 months ago 128 MB ubuntu latest 8dbd9e392a96 8 months ago 128 MB ubuntu precise 8dbd9e39

  • gitshでgitのタイプ数を減らす

    gitshでgitのタイプ数を減らす gitはサブコマンドやオプションが多い.だからshellのaliasやらgitのaliasで頑張ってコマンドのタイプ数を減らす.Thoughbotの@georgebrockさんのgitshを使えばもっとコマンドのタイプ数を減らすことができる. 例えば以下はよく打つコマンド.gitって打ち過ぎ. $ git status $ git add -u $ git commit -m "Commit message" $ git push gitshを使うと専用のモードへのアタッチが始まり,gitを打たずサブコマンドだけを打てばよくなる. $ gitsh gitsh@ status gitsh@ add -u gitsh@ commit -m "Commit message" gitsh@ push gitsh@ :exit gitのaliasも引き継がれるの

  • Golangにおけるinterfaceをつかったテスト技法 | SOTA

    最近何度か聞かれたので自分がGolangでCLIツールやAPIサーバーを書くときに実践してるinterfaceを使ったテスト技法について簡単に書いておく.まずはinterfaceを使ったテストの基について説明し次に自分が実践している簡単なテクニックをいくつか紹介する. なおGolangのテストの基については @suzuken さんによる「みんなのGo言語」 の6章が最高なので今すぐ買ってくれ! 前提 自分はテストフレームワークや外部ツールは全く使わない.標準のtestingパッケージのみを使う.https://golang.org/doc/faq#Packages_Testing にも書かれているようにテストのためのフレームワークを使うことは新たなMini language(DSL)を導入することと変わらない.最初にそれを書く人は楽になるかもしれないが新しくプロジェクトに参入してきたひ

  • 好きなPodcast

    twitterでちょっとつぶやいてたけど,最近自分がよく聴いてるPodcastをまとめてみる.Tech系以外もすこし混じってる.他にオススメあれば教えてください. 日語 Rebuild - Podcast by Tatsuhiko Miyagawa - Podcastを聴くという習慣はここから始まった.大学院生のころからずっと聴いてる.Liveもできる限り聴いてる.大ファン.取り上げる技術もすごい尖っていて面白い.全エピソード好きだけど,敢えてあげるなら,“3: MessagePack”,“14: DevOps with Docker, chef and serverspec”,“27: Dragon Quest, Docker and AngularJS”,“35: You Don’t Need API Version 2”, “37: N Factor Auth”,“42: When

  • 1