タグ

ブックマーク / medium.com (46)

  • 【1月23日追記】12月23日、24日に発生しました障害に関するご報告

    いつもSkebをご利用いただき、誠にありがとうございます。 12月23日12時よりskeb.jpにアクセスできない大規模な障害が発生しておりましたが、12月24日07時に復旧いたしました。 12月23日、および12月24日が納品期限のリクエストは納品期限を12月25日23時59分までに延長させていただきます。 みなさまには多大なご迷惑をお掛けしましたことをお詫び申し上げます。 障害につきまして詳細をご報告させていただきます。 概要日時: 12月23日12時22分〜12月24日7時00分 (JST) ダウンタイム: 18時間38分 内容: skeb.jpにアクセスできない不具合 原因: SkebはすべてのサーバとシステムをHerokuに設置していたが、障害発生時刻より同サービスのアカウントが理由の通知なく利用できなくなった。 解決: Herokuの一切の利用を中止し、すべてのサーバとシステ

    koda3
    koda3 2022/12/25
  • 本番環境のマルチテナント Kubernetes クラスタへの Istio 導入

    これは Mercari Bold Challenge Month の3番目の記事です。 Mercari ではモノリスなサービスからマイクロサービスのアーキテクチャへと移行を行っている間、長期的な観点からみて、サービスメッシュの導入とその重要性を理解することが必要だと感じていました。ほとんどのインシデントレポートに対する現実的な対策としてあがるのが、レートリミットの導入、適切なカナリアリリースのフローの導入、適切なネットワークポリシーの導入などでした。そしてこれらこそがサービスメッシュによってもたらされる機能です。 前四半期では、私達はついに Istio の導入に挑戦することに決め、調査を開始しました。結果として、100 以上のマイクロサービスをホストするマルチテナント環境のシングル Kubernetes クラスタを深刻な障害を発生させずに番運用を行うことができています。この記事では Me

    本番環境のマルチテナント Kubernetes クラスタへの Istio 導入
    koda3
    koda3 2019/10/07
  • マイクロサービスで管理画面が乱立する問題と対策

    こんにちは、qsona (twitter) です。 マイクロサービスアーキテクチャを指向するとき、(主に社内向け)管理画面をそのままサービスごとに作っていくと、マイクロサービスの数だけ管理画面が乱立するという課題があります。FiNC においては、それにより実際に以下のような問題が発生しました。 ユーザの追加/削除や権限管理がとても大変ユーザ(CS対応者)がどこの管理画面を使えばわかりにくい記事では、 FiNC においてこれらの問題に対してどう対処してきたか、歴史とともに紹介します。 tl;dr各マイクロサービスで管理画面を作ること自体はよい。統一管理画面は開発のコストがかかりワークしなかった認証を中央管理にする権限管理は各サービス固有のドメイン知識だが、中央で一覧/変更できる状態になっていると便利マイクロサービスの横断的関心事への対処は、「標準」を意識する黎明期から、問題が起こるまでFi

    koda3
    koda3 2019/09/06
  • Network Architecture Design for Microservices on GCP

    This is our goal architecture design, please read the article to understand the journey :)This blog article is participating in the Mercari Bold Challenge month (#6) Hi everyone, this is Raphael from the Microservices Platform team at Mercari. Bluntly introduced, we are a post-IPO Japanese C2C (Customer to Customer) marketplace transitioning from a monolithic to a microservices architecture. A few

    Network Architecture Design for Microservices on GCP
    koda3
    koda3 2019/09/03
  • Istio 1.0 を試してみた!

    Google Cloud でゲーム会社の技術支援をしているサミールです。 日は最近ホットなトピックで、バージョン 1.0 が Cloud NEXT’18 でアナウンスされた Istio のお話をしたいと思います。 Istio を1行で説明すると、私は以下のように説明しています。 マイクロサービスを Kubernetes 上で管理・運用、そしてセキュアにする OSS のサービス Istio については、まずド正式ドキュメントをご参照いただくことをオススメします。 Istio の正式ドキュメントIstio on GKEの正式ドキュメントIstio の概要マイクロサービス間の通信(サービスメッシュ)を管理、監視、セキュリティ強化を可能とする OSS サービスです。 以下の図にある Service A と Service B の通信をコントロールしたり、通信によるメトリックなど収集したり、サービ

    Istio 1.0 を試してみた!
    koda3
    koda3 2019/08/30
  • TypeGraphQL and GraphQL Nexus — A Look at Code-First APIs

    koda3
    koda3 2019/08/09
  • GCP を用いた高性能かつスケーラブルなオンライン予測システムの構築方法

    Yaboo Oyabu, Machine Learning Specialist, Google Cloud Kazuhiro Yamasaki, Deep Learning Solution Architect, NVIDIA 概要このチュートリアルでは GCP 上で NVIDIA Tesla T4 と TensorRT Inference Server (以降 TRTIS) を用いて高性能なオンライン予測システムを構築する手順と、そのパフォーマンス計測・チューニング方法を説明します。このチュートリアルを完了すると、TensorRT に最適化された機械学習モデルが Cloud Storage に格納されます。また、 オンライン予測と負荷テストを実施するための GKE クラスタが作成されます。 記事は Google Cloud Next 2019 Tokyo におけるセッション『GCP

    GCP を用いた高性能かつスケーラブルなオンライン予測システムの構築方法
    koda3
    koda3 2019/08/01
  • 優秀な人ほど転職市場に出てこない世界の話

    「元々そうやったやん」という声もあるかも知れないけど、ここ数年は特に顕著に感じるし、共感してくれた方が多かったのもそういうことだと思う。 今だから感じている今のこの世界をきちんと言語化しておきたいと思う。 過去に同じような話を数多させていただいてきたのでもしかしたらどこかで同じ話をしてしまっているかもしれない。 またここで言う私が感じているこの世界は、現在の日でも特に東京、インターネット業界の話である。また転職の仕方によって、その人が優秀か優秀でないかとかそういう話がしたいわけではないのでご理解いただけると幸いだ。 世はまさに、超売り手時代最近のこの界隈はお陰様で以前と比較するとお金の集まる業界になっている。インターネット業界のコストはいろんな事業モデルが出てきたもののやはりコストにおける人件費の割合は非常に大きく、事業成長に対する「人」の重みが特に強い業界な気がする。お金の使用用途はも

    優秀な人ほど転職市場に出てこない世界の話
    koda3
    koda3 2019/07/26
  • コンテナ技術を捨て、 WASIを試す

    こんにちは、NTTの藤田です。 Dockerfileを書くのに疲れた?イメージサイズの縮小で1日が終わった?コンテナの起動が遅すぎる?コンテナ技術と悪戦苦闘する皆様のための新技術、アーキテクチャに依存しないポータブルなバイナリフォーマットと数十μsで起動するsandbox環境を実現する、WebAssembly System Interface(WASI)を試してみました。 WebAssembly System InterfaceとはWASIは、 WebAssemblyWASM)をウェブブラウザ以外の環境で実行するため、 ホストのファイルやネットワークなどの資源に安全にアクセスさせるための仕様です。 具体的には、POSIXに似たAPIが定義されており、WASMのバイナリが、OSが管理する資源にアクセスできるようになります。 WASMは、ネイティブコードなみの速度で動作する、ポータブルなバイ

    コンテナ技術を捨て、 WASIを試す
  • RootlessモードでDockerをより安全にする [DockerCon発表レポート]

    NTTの須田です.Moby (≒Docker),BuildKit,containerdなど,コンテナ関連のオープンソースソフトウェアのメンテナ (開発委員.コミッタとも.)を務めています.また,Docker Meetup Tokyoの企画・運営も行っています. 2019年4月29日~5月2日にかけて, Docker公式のカンファレンスである DockerCon が サンフランシスコにて開催されました. Dockerをより安全に使うための技術「Rootlessモード」に関して発表してきましたので,紹介します. RootlessモードとはRootlessモードは,Dockerデーモン及びコンテナを,非rootユーザで実行する技術です.Rootlessモードを用いることにより,万一Dockerに脆弱性や設定ミスがあっても,攻撃者にホストのroot権限を奪取されることを防ぐことが出来ます. 須田は

    RootlessモードでDockerをより安全にする [DockerCon発表レポート]
    koda3
    koda3 2019/05/11
  • Vue 2.6 released!

    Yesterday we just celebrated the 5th Vueniversary — today we are excited to announce the release of Vue 2.6 “Macross”! In the past year, we spent a lot of time working on the new CLI and prototyping for 3.0. As a result, Vue core 2.x hasn’t received major updates in quite a while. It’s about time! This release combines a number of substantial improvements, internal changes and new features which a

    Vue 2.6 released!
    koda3
    koda3 2019/02/05
  • 突撃! 弊社のpackage.json 〜eurekaを支えるJavaScriptライブラリたち〜 – Eureka Engineering – Medium

    この記事はeureka Advent Calendar 2018 18日目の記事です。 そろそろ2018年も終わりかけですが、皆さんいかがお過ごしでしょうか。Webチームの竹内(a.k.a. BOXP)です。 もう今年も終わりということで、この記事では我々Webチームが今年新たに導入していったJavaScriptのライブラリを紹介がてら振り返りたいと思います。 目次1. normalizr2. reselect3. redux-thunk4. webpack-bundle-analyzer5. jest6. renovate最後に1. normalizrnormalizr はReduxやFluxのStoreに格納するデータの正規化を行うライブラリです。 抽象的な言い方をしましたが要するに同じIDを持つオブジェクトを簡単に共通化出来るもので、例えば以下のようにオブジェクトを正規化します Be

    突撃! 弊社のpackage.json 〜eurekaを支えるJavaScriptライブラリたち〜 – Eureka Engineering – Medium
  • You’re Not Managing a Team of Software Engineers, You’re Managing a Team of Writers

  • 我々はいかにシステム開発におけるドキュメント腐る問題と戦えば良いのか

    フューチャーアーキテクト Advent Calendar 2017 の2日目です。 システム設計が大好きで大嫌いな皆さん、こんにちは。 突然ですが、皆さんはどのようにシステム設計における ドキュメント腐る問題 に立ち向かっていますか? … ドキュメント腐る問題とは、設計時に作成した各種ドキュメントがGoogle Driveやファイルサーバ上で陳腐化してしまい、現状の正しい状態を指していないことです。せっかく新規参画者がキャッチアップしようとしてもドキュメントが真実を示していないという怖いやつですよね。 今まで出会った一番辛いドキュメントは、PJ初期に作成したホワイトボードに書かれたラフスケッチの画像しか無かったところですね。まず字が汚いし、内容も最新版と微妙に異なっていました。新規参画者殺しにもほどがあると、ほんのちょっとだけ恨みました。 いやいや、ちゃんとサボらず整合性を取れよって?サボ

    我々はいかにシステム開発におけるドキュメント腐る問題と戦えば良いのか
  • 真面目な人を本気にさせる方法

    先日、他社の開発の方々が、アジャイルに関する相談ということで、弊社にいるアジャイルに詳しい髪の長いおじさんに訪ねてきた。その中で、実感駆動開発の話になって、久しぶりに「気(マジ)と真面目(マジメ)」の話を聞いた。 この話を聞いてから、人がプロダクトの価値について考えられるようになるにはどうしたらいいのか考えてみた。 TL;TRありきたりな回答だけれど、さっさとリリースして、さっさと使ってもらう。それをできるためのことを、もちろんリスクを下げつつ、できるようにするためのことを頑張ろう。 気と真面目 人はドキュメントを前にして真面目な態度を取るが、動くソフトウェアを前にして気になる。端的に言うと、人は仕様書などドキュメントを前にするとそれを徹底的に重箱の隅を突くようなレビュー(真面目)をしてしまうが、当に欲しかったことに対して考え始める(気)は実際のプロダクトを前にしてからという話だ

    真面目な人を本気にさせる方法
  • Vueを昔触った後Reactをどっぷり触ってもう一回Vueを触ってReactに戻って得た感想

    最近ReactVueをどっちも触る機会があったり、「ReactVueどう選定するの?」という問いを投げられ、スッと答えられなかったな、と後悔があったりしていたので、Vueを触って得られた感想をまとめてみる。 結論としてなにか新しいことを発見したというものではなく、世間で言われている事を自分なりに再構築しただけの結論になったと思う。 TL; DRVueからは全体的に優しさ(Gentleさ)を感じる事が多く、良い点だと感じた大規模になるときReactの堅牢さは魅力的。Vueが大きくなった時に支えられ設計が出来るかは個人的には懐疑的。「こうだったらVue、こうだったらReact」みたいな分岐点があるというわけではないので、最終的には好みになってくると思う。ぞうさんが好きかきりんさんが好きか。これまでのフレームワーク遍歴今回の話をするにあたって、僕と各フレームワークの付き合いをまとめておくと、

  • npmの新しいパッケージ名ルールについて

    We've recently made some changes to how package naming works to better fight typosquatting, and help package authors… まとめると、 - . _ を無視して結合した文字列でパッケージ名のユニーク性を検証しますreact-native は reactnative というキーで扱われ、以下の名前のパッケージをpublishすることはできません reactnativereact_nativereact.native同様に、 jsonstream が存在する限り、以下の名前のパッケージもpublishできません json-streamjson.streamjson_streamjs-on-streamまた、この検証処理は validate-npm-package-name パッケージ

    koda3
    koda3 2018/01/04
  • Elasticsearch キーワードサジェスト日本語のための設計

    Google に代表される「キーワードサジェスト」機能を Elasticsearch を前提に日語向けに設計。 よくある要件サイト内で過去に検索された有効なキーワードをサジェストしたい。入力されたテキストに関連性が高く、過去に検索された回数の多い順でサジェストしたい。最初に入力された言葉の後に空白を入力すると、最初の言葉と一緒に検索される複合語の候補サジェストしたい比較的シンプルな要件のように見えますが。。日語を対象にしたサジェスト機能を実装する場合、入力途中の日語のテキスト受けながら、ひらがな、カタカナ(半角・全角)、漢字、ローマ字(大文字・小文字・全角・半角)のコンビネーションを合わせて、関連性の高い言葉を素早くユーザーに提案しなければなりません。以外と難しいのです。。 Elasticsearch にも Completion Suggester と言うサジェスト向けの機能があるの

    Elasticsearch キーワードサジェスト日本語のための設計
  • Gyazo 開発環境の Docker 化 - r7kamura - Medium

    The easy way to save screenshots, GIFs, and websites. Make everyone happy by sharing smarter, faster, and with your… 単純にスクリーンショットを保存するだけなら OS の機能だけでも十分ですが、GIF 動画を保存できたり、いつどこでどんなアプリケーションを利用しているときに撮影したのか、あるいは画面にどんな文字が写っているかといった情報を元に検索できたり、保存した画像をコレクションという単位でまとめて共有できたりと、Gyazo を使って保存しておくと意外と便利なことが多く、個人的にも重宝しているサービスの1つです。 我々が開発環境で Docker を使うメリットGyazo のサーバサイドの実装には、プログラミング言語の観点で見ると RubyGoJavaScript などが

    koda3
    koda3 2017/12/13
  • Draft.js と Slate.js と CodeMirror の感想 - r7kamura - Medium

    幾つかの Web サービスや Electron ベースのアプリに組み込むエディタを実装するにあたって、Draft.js、Slate.js、CodeMirror を試してきて得た情報について、個人の感想を述べる。今更感があるので、ライブラリそのものについての解説はしない。 Draft.js冒頭で挙げている三つのライブラリの中では、単純に Server-Side Rendering してもエラーを出さず、普通に動くところが良かった。単純に動かないタイプのライブラリでは、例えば React ではライフサイクルイベントのコールバックである ComponentDidMount メソッドを利用するなどして、クライアントサイドのみでエディタが描画されるように工夫しなければならない。 Draft.js でエディタのスタイルを変更するには、Decorator という、描画前の内部データを DOM 要素へと変