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

  • 【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の一切の利用を中止し、すべてのサーバとシステ

  • 踏み台EC2を廃止してSession Manager接続に置き換えました

    こんにちは、エウレカ SRE チームの原田です。 今年 (2021年) エウレカでは、公開鍵認証で接続するEC2の踏み台サーバを廃止し、代わりに各サーバへの接続をIAMで認証できるSSM Session Managerへのリプレースを行いました。記事ではそのモチベーションや、実装のポイントを紹介していきたいと思います。 旧来の踏み台サーバ 旧来の踏み台サーバエウレカで長く運用されていた踏み台サーバ (Gateway) は以下のようなものでした。 各開発者は、自分の秘密鍵を使って踏み台サーバへSSHを行う ( 踏み台サーバ上には各開発者の個別ユーザーおよび公開鍵が登録されている )踏み台上では、接続が許可されているSSH対象のサーバの秘密鍵がユーザー毎に配置されており、その鍵で各サーバにSSHするMySQL / Elasticsearch / Redis など、Private Subnet

    踏み台EC2を廃止してSession Manager接続に置き換えました
  • インフラエンジニアなら気になるQUICのロードバランサ (方式編)

    図1: QUICコネクションを振り分けるロードバランサはじめに記事では、バックエンドのWebサーバへリクエストを振り分ける装置の意味でのロードバランサ(図1)について、QUIC対応の議論状況を紹介します。方式編と実装編にわけて二編を予定しており、稿は方式についての解説です。 IETFでは、F5 Networksとマイクロソフトから提案されたロードバランシング方式が議論されています。稿では下記のインターネットドラフトをQUIC-LBと表記します。 QUIC-LB: Generating Routable QUIC Connection IDs https://datatracker.ietf.org/doc/html/draft-ietf-quic-load-balancers 執筆時点の -07 をベースとしますが、ドラフトですので今後の議論次第で改版が続きます。あらかじめご承知おき

    インフラエンジニアなら気になるQUICのロードバランサ (方式編)
  • アンチパターン “ゴールが延び続けるスクラム”

    チームやプロジェクトを率いる立場で意識していることの1つに、「メンバーがタスクをやり切ったと継続的に感じられる仕組み作り」がある。特にスクラムを採用している場合は ”前に進んでいる感” を継続的に醸成していく事も欠かしてはいけないと思っている。ただ現実にはこの観点は悪気なく疎かになってしまうケースが(自他共に)多いという感覚がある。 Pull Requestレビューを例にしてみる。2週間スプリントのアジャイルチームでとあるプロジェクトの主担当として開発をリードしているエンジニア氏。仕様検討・周囲との調整・実装を頑張ってPull Request作成まで漕ぎ着けた。エンジニアは一旦ココで”仮達成感”に浸る(と、個人的に思っている)。そしてレビュワーにレビューを依頼して、反応を待つ。のだが。。。 スプリント1: 「進捗してます」「pullreqレビューをassignされたエンジニア程、別件で忙し

  • 【いでよ障害対応太郎】我々はインシデントにどう向き合っているのか 〜社内向け障害対応リスト付き〜

    「なんかアプリでインシデント起きてエンジニアがどこかで対応してるらしいよ」 「インシデント時のお知らせって誰がどうやって出すんだっけ?」 「インシデントの復旧作業って今どれくらい終わってる?」 「あのインシデントって振り返りしたっけ?」 「似たようなインシデント、前も対応したような、していないような」 このような会話に覚えはありませんか? FiNC Technologies社 (以下FiNC) では今まで インシデント対応をしていても自チーム内で対処しようとしてしまい、他の人が気づけないインシデント対応の仕方にフォーマットがなく、迅速な対応やお客様への報告ができないインシデントの振り返りが実施されず、インシデント時の知見が共有されないという問題がありました。 それらの問題を 気が付きやすく、シェアしやすくする = 統一のチャンネルで情報を整理し、そこにシェアしやすい空気を作る何をすべきかわ

    【いでよ障害対応太郎】我々はインシデントにどう向き合っているのか 〜社内向け障害対応リスト付き〜
  • FlutterアプリからFirebaseエミュレーターに接続

    Say hello to the helpful Firebase Emulator - a local first UI to boost your productivity Today we are extremely excited to introduce the Emulator UI to the Firebase community. The Emulator UI is a web app… 今まではエミュレーターの管理画面が無く、データの確認などがなかなかしにくい問題がありましたが、”Emulator UI”の提供によりそれが大きく改善されました。 最近までFirebaseエミュレーターはかなり致命的なバグもあり(今は解消されました)、どのくらい力を入れているのかやや疑っていましたが、今回の発表はそういう意味でもきちんと取り組まれている様子が伺えて良いなと思いました。 さ

    FlutterアプリからFirebaseエミュレーターに接続
  • 僕たちのテキストエリアはどうなっていくのだろうか?

    なぜ Day One は Markdown を捨てたのか Day One が Markdown をやめて WYSIWYG に移行した話は前書いた。 自分が知っている範囲でアンチ Markdown 勢は Scrapboxはてなブックマークのコメントなどを読んでも、ウェブでの記事制作においてワードプロセッサ(WordやGoogle docs)ライクなWYSIWYG(ウィジウィグ)なツールと、Markdown(あるいはそれに類する構造化簡易記法)のどちらがよいか? という視点で議論されている(そして主に議論に参加しているのがエンジニアなので記法優位?)という状況に見えて、というより記事そのものがMarkdownの時代が終わってWYSIWYGに移行しているという論点なのだけど、実際に例示されているツールをよく見たところ、そうシンプルではないように思える。 むしろ、その両者を統合した、あるいはM

    僕たちのテキストエリアはどうなっていくのだろうか?
  • 「Infrastructure as Codeに疲れたので、僕たちが本来やりたかったことを整理する」を1年掛けて整理した

    こんにちわ。rwle1212です。 記事は JAWS Days 2020 で話す予定でしたが、昨今の事情によりオンライン開催となったため、登壇予定の内容を記事にしたものになります。 登壇していれば諸般の事情により左手首を骨折したネタが使えたのですが、ブログでは伝わらないので非常に残念な思いをしております。という話はどうでも良いので題に入ります。 50分の登壇内容なので少々長くなりますが、お付き合いください。 JAWS Days 2019で登壇した内容の振り返り昨年の JAWS Days 2019 で「Infrastructure as Codeに疲れたので、僕たちが来やりたかったことを整理する」という内容で登壇しました。 まずは上のリンクに添付されているスライドを5分位で読めると思うので一読頂いて、下の文に進んで頂ければと思います。 そもそもInfrastructure as Cod

  • Kubernetesでステートフルなゲームサーバを動かした思い出

    とあるスマートフォン向けMMORPGプロジェクトで、アプリケーションサーバをほぼすべてGKE(Google Kubernetes Engine)に乗っけて動かしていました。 このゲームは、モバイル向けながら、複数プレイヤ間でそこそこリアルタイム性の高い同時プレイができるものでした。同じフィールドを誰かが歩けば、自分が見ている画面でもほぼ同時にそいつが歩いて横切っていく、同じ敵と皆で一緒に戦えば、誰かが繰り出した攻撃が参加者全員の画面に即同期される、もちろんチャットもできる、そんな具合です。今ではさほど珍しくないのかもしれませんが、PCのオンラインゲームのような機能を搭載した、リアルタイム性の高いモバイルゲームでした。 さて、こうなってくると、オーソドックスなWebサーバのような、HTTP/1でリクエスト/リプライを捌く、というサーバだけでは要件を満たすことができません。 複数プレイヤ間で

    Kubernetesでステートフルなゲームサーバを動かした思い出
  • CloudFunctionとFirestoreで作るサーバーレスダッシュボード開発5つの勘所

    はじめにこんにちは、Voicyデータストラテジストの小山内です。Voicyではプロダクトの大改修フェイズを迎えており、殆どのサービスを作り直す勢いで、開発チームが日夜開発に勤しんでいます! ↓例えば、バックエンドは、ぱんでぃ(Yoshimasa Hamada)さんが担当しています。 大改修にも含まれる新機能の1つとして、”放送の聴取ログをパーソナリティさんに提供するダッシュボード”を開発する事となりました。 複数の実装方法を考えた中で、今回はGCPの各種プロダクトを活用した、サーバーレスなダッシュボードを作る方向性で検討を進めています。 記事では、実際に技術検証を進めるに当たって、ポイントとなった点をサンプルコードと共に共有します。 同じ様なダッシュボード開発ではなくても、GCP製品をお使いの方で、参考になりそうな箇所があったら、嬉しい限りです!✏️ 対象読者と記事から得られるナレッジ対

    CloudFunctionとFirestoreで作るサーバーレスダッシュボード開発5つの勘所
  • 「良いエンジニア」を言語化してみました

    「VOYAGE GROUP エンジニアの公開ガチ評価会」に参加して、最近考えていた「良いエンジニア」像がかなり良い感じだと思うようになりました。 「ガチ評価会」自体の内容は他の方のブログに譲るとして、「ガチ評価会」で聞けなかった部分、つまり「普段だったら『ビジネス的側面からの技術投資判断』とかも聞くんだけど」と言っていたところが、まさに聞きたいところだったのでニヤッとしました。聞けなくて残念♪ 妥協ない挑戦元々ピクシブの技術力評価においては、「最近やった妥協ない挑戦は何ですか?」というのをキーワードにやってました。 解決すべき課題に対して、どういう背景があって、どういう事前調査をして、どういう実装をして、どう考察するか、というところまでをきちんと考えて仕事することに成長があるんだよ、というメッセージ性です。 そんなこと言っても普段は妥協ばっかりですって?いえいえ、相反する選択肢の中で、何を

    「良いエンジニア」を言語化してみました
  • Google Play Store now open for Progressive Web Apps 😱

    Disclaimer: I’m not affiliated with Google Play, Chrome or any other company mentioned. This is not an official statement; usage of the logo and name is just for illustration.⚠️ Updated version of this article ⏩ firt.dev Chrome 72 for Android shipped the long-awaited Trusted Web Activity feature, which means we can now distribute PWAs in the Google Play Store! I played with the feature for a while

    Google Play Store now open for Progressive Web Apps 😱
  • ドワンゴを退職します

    TL;DRタイトルの通りです。給料上がんねーから 2019/1/31 付でドワンゴ辞めます 文入社に至った経緯ドワンゴには2016新卒で入社して2年10ヶ月在籍していたことになります。入社を決めた経緯としては 就職活動の時期に暇だったので Erlang を触り始めていたデブサミでちょうどドワンゴの中の人が配信基盤を Erlang で書き直してることを話してた研究室の先輩が何人か居た上記のような理由で仕事で Erlangを書くのはけっこう楽しそうだと思ったので入社することを決めました。実際にエントリーシートの志望動機には「Erlang で仕事したい」とだけ書いた記憶があります 入社後は新卒研修を終えてから無事希望していた DMC チームに配属されました。転部等もなく退職まで DMC チームに所属して多少飽きが来る程度には Erlang を書くことができたので入社した目的は達成されたと思いま

    ドワンゴを退職します
    tankdesant
    tankdesant 2019/01/31
    よい
  • 「技術を極める仕事にシフトしたい」というメンバーへのフィードバック

    「自分は○○技術に強みがあって、それを活かせる仕事をしていきたい」というメンバーがいました。自社ではまだ○○技術はあまり採用されていなかったのですが、筋は良いと思っていて、このメンバーにも期待していましたので次のようなフィードバックをしました。 フィードバック内容技術を極めて仕事にするというのは、実は「自分の好きな特定の技術にめっちゃ特化したらそれが仕事になる」というものではないのです。 技術がビジネスに繋がるまでには、 コア技術アプリケーション運用パッケージングブランディングセールスマーケティングなどなど、様々な要素が組み合わさってできています。 むしろ、ビジネスのほうから逆算してこそコア技術に価値があります。 特定の技術分野に対して、応用事例や運用まで考えてある程度広く浅く日頃からインプットをしておいて、ビジネス的価値が見えたときに「ここぞ」とばかりに自分から提案してコア技術を学べる力

  • マイクロサービスと設計原則 — 設計Night2018 登壇報告 #sekkei_n2018

    マイクロサービスの設計に対して、どう設計原則を使うのか、という話をしました。稿では、資料中のいくつかの点に補足したいと思います。 SRP (単一責任原則)単一責任原則原則について、提唱者である Robert C. Martin 氏が2014年にさらに考察している記事を紹介しました ( The Single Responsibility Principle )。 この中では、変更する理由は「人」であるということに強くフォーカスされています。この考え方は、マイクロサービスの現実の問題に非常にマッチするため、今回取り上げました。ただ、筆者個人の考えではつねにこの「人」にフォーカスするのが常に現実の問題を解決するのに役立つかは疑問で、場合によっては受け取り方には注意が必要かなと思います。単一責任原則は、この追記がなくても長く大事にされてきたものです。 マイクロサービスの統合マイクロサービスをどう

    マイクロサービスと設計原則 — 設計Night2018 登壇報告 #sekkei_n2018
  • 海外と日本でのソフトウェア開発職の文化を振り返ってみた – reyabe – Medium

    こんにちは。阿部と申します。とある渋谷のIT企業でエンジニアのお仕事をしています。普段はブログを書いていないのですが、お勤め先の社内ブログ用に以前執筆した記事をlean-agile podcastで紹介していただく事になり、当時の記事を今回こちらのプラットフォームでも公開する事にしました。長文になりますが、ご興味を持たれた方は是非ご覧ください。 「海外と日でのソフトウェア開発職の文化を振り返ってみた」という記事のタイトルにしているのですが、この話のモチベーション・裏付けとしてまず自分のバックグラウンドを簡単に説明しておきます。私は名前によらず外国籍・海外育ちで、今までヨーロッパと日それぞれでベンチャー・中小企業・大手の仕事環境を6社ほど転々とし、色々な国のエンジニア仕事をしてきました。 (*ちなみに、日語で記事を書くのはあまり得意でないので、言葉遣いがおかしいところは大目に見ていた

    tankdesant
    tankdesant 2018/11/06
    ティール型組織はいいぞ。マイクロマネジメントしなくてもいいものを作ってくれて、フラットに気軽に仕様についての議論ができるのでオーバーエンジニアリングも少ない。
  • 弊社エンジニアがDroidKaigiで登壇してきました! 〜登壇内容とAndroid版paymoのふか〜いカンケイ

    これはスライド内で紹介したAndroid版paymoの現在のクラス設計を表した図です。しかし、最初からこのような設計だったわけではなく、様々な議論やリファクタリングの歴史を経て今の設計に落ち着きました。セッションを聴いた方やスライドを見た方の中には、実際の開発現場でどうやってコンセンサスを取り設計のリファクタリングを進めていったのか、という点に興味がある方もいると思うので、そのあたりの経緯を紹介します。 ペイモのAndroidアプリは様々な事情により、実装開始からリリースまではかなりハードなスケジュールで開発されたと聞いています。 ぼくがペイモに携わり始めたのは2017年の2月、ペイモアプリがリリースされて1ヶ月も経っていない頃で、当時フルタイム勤務のAndroidエンジニアはぼくが1人目で、まだまだリリース直後のカオスな実装や不具合が多く残っている状態でした。 ジョイン直後は機能追加の実

    弊社エンジニアがDroidKaigiで登壇してきました! 〜登壇内容とAndroid版paymoのふか〜いカンケイ
  • 次のAirbnbの作り方 — ソーシャル上に隠れた”カオスな文化”を盗む方法

    今や1日に300万人以上が利用するAirbnbですが、リリース初期は1000人程度の規模でした。初期プロダクトの仮説検証とグロースにcraigslistを利用していた事はかなり有名です。 Airbnb: The Growth Story You Didn’t Know 他にもUberやEtsy, indeed等がcraigslistの一部カテゴリの代替として機能し、成長しました。彼らは単にcraigslistを切り出しただけではなく、そこで行われていた取引の問題を整理し、体系化された文化を作る事で安心かつ使いやすいプラットフォームとなり、ユーザーを引き込みました。 当に強いニーズがあり、方法が確立されていない課題には、多くのユーザーが独自の方法で課題解決をする”カオスな文化”が生まれます。 “カオスな文化”はソーシャル上に見え隠れしていて、これを見つけ、体系化する事で、0→1、1→10の

    次のAirbnbの作り方 — ソーシャル上に隠れた”カオスな文化”を盗む方法
  • ソフトウェア開発で学んだが使わなかったもの

    開発手法など、一通り学んだが実際に使っていないものは多少なりあると思う。それらについて掘り起こしてみたい。 スクラム開発認定スクラムマスター研修には研修会場ホストという立場で数回立ち会った。認定外の研修も幾つか受講した記憶がある。書籍もそれなりに読み、Scrum Gathering Tokyoなどのコミュニティにも顔を出し、まあそれなりに色々考えて捉えてきた。でも、自分のチームでは使っていない。スクラム開発というアイデアに矛盾があるからだ。 そもそもスクラム開発ではチームの自律的な行動を良しとしており、それに対する”フレームワーク”を提供しているということになっている。イテレーション、バックログ、ふりかえり、デイリーミーティング(いまだに「朝会」って言ってる人いないよね?)、そしてそれらのお作法。誰が言ったかわからないが、それぞれの作者の意図を察するためには「守」が大事らしい。守破離の「守

  • KPTとロジカルシンキングと問題解決

    ソニックガーデンで実践していることの特徴として「ふりかえり」がある。Keep/Problem/Tryの「KPT」というフォーマットに則って実施するものだ。 入社したばかりのうちは、そこまで馴染めていなかったり、社内のことでわからないことがあっても、相談相手がわからないということもあるから、誰かが師匠(メンター)として就く。 そうすることで、何かあっても相談相手がいるので安心できる。特に、リモートワークの場合、誰もがフラットに話せる分、逆に誰に相談して良いか決まってる方が助かる。 師匠には、相談相手ということの他に、大事な役割がある。それが、「KPT」の相手をするということだ。 ソニックガーデンでのKPTふりかえりは、入社直後は週に1度くらいの頻度で、定期的に行う。アジャイルの世界でのふりかえりと違って、チーム全体ではなく、指導される側がふりかえりを行い、その内容について師匠がレビューをする