タグ

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

  • 「Infrastructure as Codeに疲れたので、僕たちが本来やりたかったことを整理する」を1年掛けて整理した

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

    hiroomi
    hiroomi 2020/03/30
    “DevOpsにも通じますが、インフラを継続的に改善し続ける環境を作るために、変化に強いインフラを作る必要があります”
  • もっとGCPが使いやすくなる!? GKE Config Connectorを試してみた!

    TL;DR先日、GAとなったConfig Connector を使うと、Kubernetes のリソースのようにGCPのリソースを作成・管理できます。 はじめに昨今、クラウドを利用することが増えてきたエンジニアの方々は、様々な構成管理システム、API、ツールなどを組み合わせてインフラを管理していると思います。これらの要素は、どんどん複雑化し把握するのも困難になってしまいがちです。Config Connectorは、Kubernetesを介して、Google Cloud Platform 上でリソースの構成をシンプルにしてくれます。 Config Connectorとは?Config Connector とは、Kubernetes を介して Google Cloud のリソースを管理出来るようにするための、Google Kubernetes Engine(GKE)のアドオンです。Agones

    もっとGCPが使いやすくなる!? GKE Config Connectorを試してみた!
    hiroomi
    hiroomi 2020/02/05
  • バッチ処理のスケジューリングパターン

    この記事はこの記事は Google Cloud Japan Customer Engineer Advent Calendar 2019 の 12日目の記事です。 はじめにGoogle Cloud Platform (GCP) でバッチ処理を起動するための以下のパターンについてご紹介したいと思います。以下、8パターンあげてみました。とはいえ、最後の3つは GCP のバッチスケジューリングという観点からは少し外れますが、バッチの起動時に使われるということでご容赦を。 Cloud Scheduler : フルマネージドな cron ジョブスケジューラです。フルマネージドという点が非常に大きなメリットであり、多くの処理を自動化し実行することが可能です。Google App Engine cron サービス : HTTP GET を利用して、特定の URLを呼び出します。Google AppEng

    バッチ処理のスケジューリングパターン
  • FOLIOのフロントエンドで働くということ

    バックエンドはScalaで書かれていてマイクロサービスになっています。フロントエンドはNode.js(koa.js)で書かれたBFFとReactで書かれたクライアントアプリケーションがあり、BFFではマイクロサービスのAggregationとServer Side Renderingを行っています。 フロントエンドの記述構成はReact/Redux/Flow/CSS Moduleです。その他ライブラリは適宜いろいろ使ってます。 フロントエンドエンジニアの担当範囲フロントエンドエンジニアはBFF〜ReactCSS全部やります。基的には全員がBFFもCSSもやることにしていて、BFF担当、CSS担当、みたいな分け方はしていません。 こうしている理由は人数が少ないからではなく、機能開発にはアプリケーションのBFFからCSSまで把握していることが必要なので、できるだけ属人性を排除しつつ適切なコ

    FOLIOのフロントエンドで働くということ
    hiroomi
    hiroomi 2019/12/02
  • Ankerのあの結束バンドがほしい

    Anker’s nice cable organizerAnkerの結束バンドがほしかった。ほしかったので作った。 Ankerといえば、品質の良いモバイルバッテリーや充電器を作っているメーカーとして知られている。値段も手頃だし、みんな大好きだ。 Amazonなどで安売りになっていることも多く、たびたび買ってしまう。 そんなAnker、充電器やバッテリー体ももちろん良いのだけど、ケーブルをまとめ上げる結束バンドがまた良いのだ。かなり薄手の面ファスナー(ベルクロ)は、シャリシャリした手触り。未来感があってかっこいい。 ケーブルに固定する部分も、ちょっと説明は難しいけれども、かんたんにくっつけられる構造になっていて便利なのだ。ベロみたいになっている部分ね。 ケーブル類をきれいにまとめる方法、という問題はかなりの(そして定番の)難問で、みんなこだわりのやりかたを持っていたり、なんら解決されずにぐ

    Ankerのあの結束バンドがほしい
    hiroomi
    hiroomi 2019/09/27
  • 東京を「広場」と「壁」から考える──大都市における権力と空間

    御厨貴『権力の館を歩く』(毎日新聞社, 2010年/ちくま文庫, 2013年)──今回の建築討論の特集では「都市と政治──「壁」と「広場」から見えるもの」をテーマにしています。世界が「接続」から「分断」へと向かっているような空気感が、2010年代後半からみるみるうちに可視化されてきたという危機感が、このような特集を組まなければいけないと思った背景にあります。 御厨先生は『権力の館を歩く』や、まとめられた『建築と権力のダイナミズム』において、「建築と政治」の関係を多様な形で問われておられます。その延長線上のひとつとして、今回「都市と政治」の関係について、可能であれば「広場」と「壁」についても触れてお話頂ければ幸いです。 「壁」のない東京における「所払い」と「入府税」御厨:趣旨はわかりました。その「広場」と「壁」という話を聞いてすぐに思ったのは、自由民権運動のことです。自由民権運動っていうのは

    東京を「広場」と「壁」から考える──大都市における権力と空間
    hiroomi
    hiroomi 2019/09/10
  • マイクロサービスで管理画面が乱立する問題と対策

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

    hiroomi
    hiroomi 2019/09/06
    “ADのユーザグループは、役職やチーム等で作られるのが一般的です。”フォーム作ってグループの新設、更新、削除できるようにしたらよいのにね。
  • Docker 19.03新機能 (root権限不要化、GPU対応強化、CLIプラグイン…)

    NTTの須田です。2019年7月23日に公開された、Docker 19.03の新機能をお伝えします。2018年11月8日にリリースされたDocker 18.09以来、8ヶ月ぶりのリリースです。 root権限不要化従来のDockerは、ホストのroot権限でデーモン(dockerd)を動作させる必要があったため、脆弱性や設定ミスを突かれると、ホストのroot権限を奪われる恐れがありました。 Docker 19.03では、非rootユーザでデーモンを実行できるようになりました(Rootlessモード)。 Rootlessモードを有効化することで、万一Dockerに脆弱性や設定ミスがあっても、攻撃者にホストのroot権限を奪取されることを防ぐことが出来ます。ただし、現時点ではcgroupを利用できないなどの制約があります。 RootlessモードのDockerは, curl -fsSL http

    Docker 19.03新機能 (root権限不要化、GPU対応強化、CLIプラグイン…)
    hiroomi
    hiroomi 2019/07/23
  • Google Apps Script は何が強くてどんなときに使うべきかプラクティスをまとめてみた

    はじめにGoogle Apps Script は無料で色んなことが実現できるため、ついつい「全て GAS でやっちゃおう」みたいな話になりがちです。Google Apps Script も万能ではないので、強み・弱みを理解した上で他の選択肢と比較して使うのをお勧めします。 Google Apps Script のプロジェクトを 2–30 個作ってきた中で、自分なりのプラクティスをまとめてみます。 この内容は Cloud Next ’18 in Tokyo で登壇したときの内容を含んでいます。この登壇から半年以上経ったのでアップデート部分も以下にまとめています。 Google Apps Script の強み・弱みまず、強みと弱みについてまとめてみます。 強み 1. Google Apps の API を簡単に呼び出すことができる一番の強みはこれだと思います。Google Apps Scrip

    Google Apps Script は何が強くてどんなときに使うべきかプラクティスをまとめてみた
  • ユーザーヒアリングという悪・思考停止

    久々にとても良いに出会いました。そしてスッキリしました。 “Over Crowded”(邦題『突破するデザイン』)という書籍で特に刺激になったのはソリューションに対するイノベーションは外から内というプロセスを経ることが多いが、意味のイノベーションにおいては絶対的に内から外でないとダメだということ。意味のイノベーションとは人々の生活を一変するような今までの延長線上にはない価値を創り出すこと。 外から内というのはユーザーヒアリングや行動観察などによって気づきを得て、それをソリューションに対してのイノベーションを起こすために活かすということ。例えば、IDEOがスーパーマーケットでの顧客行動を観察し、カートというソリューションをデザインしたという話など。 但し、ソリューションではなく、意味のイノベーションにおいては外から内というプロセスでは何も生まれない。例えばAirbnbなどを考えればわかりや

    ユーザーヒアリングという悪・思考停止
    hiroomi
    hiroomi 2019/06/12
  • Cloud Functions を使ってサクッと Slack 通知をカスタマイズする – google-cloud-jp – Medium

    はじめにSlack は多くの連携アプリケーションがありますが、そのまま連携すると情報が溢れすぎてフィルタリングしたかったり、より効果的な通知をしたいなど、Slack 通知をカスタマイズしたくなるときがあります。そのような場合、サービス側の Web hooks と Google Cloud Functions を使って Slack 通知をカスタマイズするのがおすすめです。 今回その一例をご紹介します。 例: GitHub の特定のラベルが付いた issue 登録時に Slack 通知する今回は GitHub の特定のラベルが付いた issue の登録時だけ Slack に issue の内容を通知してみます。バグレポートのラベルがついている issue のみを Slack に通知するために作りました。SlackGitHub 連携機能ではここまで細かいカスタマイズはできません。 手順以下

    Cloud Functions を使ってサクッと Slack 通知をカスタマイズする – google-cloud-jp – Medium
    hiroomi
    hiroomi 2019/06/09
  • Railsのテスト実行時間を1/3まで短縮した話 (Rspec + CircleCI)

    背景CIのビルド実行時間の長さは度々社内で問題になっており、「CIに時間かかるので業務効率が下がる」といった話が現場でも増加していました。 業務時間中は複数 Pull Request のビルドが発生するので、「CI順番待ちで次の自分のビルドは1時間後」のような現象は日常茶飯事でした。 おまけに「頻度は低いがランダムで失敗するテスト」といった false positive なテストの存在も、開発現場のフラストレーションは溜まる原因になっていました。単純に CI を再ビルドすれば直るのか、自分が追加した実装/rspecに問題があるのか一件判断がつかないケースだと、開発担当者も一旦 CI 上で再ビルドを行い、同じ箇所でコケるのか確認することになるので、これがさらなる CI 渋滞を引き起こしていました。 こうした背景もあり、丁度プロジェクトの隙間で工数もあったので「CI 改善をしっかり工数確保して

    Railsのテスト実行時間を1/3まで短縮した話 (Rspec + CircleCI)
    hiroomi
    hiroomi 2019/05/27
  • 理屈臭い小豆粒餡の炊き方

  • How To: Single Sign-On (SSO) between G Suite and Office 365 with G Suite as identity provider (IdP)

    What are we trying to accomplish?We’ve been working with one of our G Suite accounts and manually syncing members to Office 365 who have requirements for Microsoft Office licenses. This is a huge pain and we wanted to tighten up our security with SSO everywhere and enforcing 2FA. Traditionally organizations have used Microsoft’s Active Directory (AD) and its federation solution, Active Directory F

    How To: Single Sign-On (SSO) between G Suite and Office 365 with G Suite as identity provider (IdP)
    hiroomi
    hiroomi 2019/05/18
  • コンテナ技術を捨て、 WASIを試す

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

    コンテナ技術を捨て、 WASIを試す
    hiroomi
    hiroomi 2019/05/13
  • AppEngineの便利な使い方。REST APIを実装して、ブラウザ上からDatastoreやPubSubにデータを格納する。

    Disclaimer : The views, information, or opinions expressed herein are solely my own and do not necessarily represent the policies or the opinions of any entity in which I have been or am now affiliated, including my employer. 突然ですが、下の画面のようなアンケートをウェブサイト上で実施する事って経験あります? ある!という方ようこそいらっしゃいました。この記事ではそんな方が対象です。ないよ!する予定もないよ!という方、そっとこの記事を閉じて、他の記事へどうぞ。 では、『ある!』の方。そのアンケート結果の集計作業は、すぐにでも可能になっているでしょうか?それともバッチ処

    AppEngineの便利な使い方。REST APIを実装して、ブラウザ上からDatastoreやPubSubにデータを格納する。
  • Google Cloud Next 2019 in SF , BigQuery 関連発表まとめ

    Google Cloud Next 2019 in SF が 4 月 9 - 11 日で開催されました。その中での BigQuery 関連の発表をまとめました。 BigQuery だけでも盛り沢山ですね。 BigQueryBigQuery では複数の関数が追加されたほか、 Partition の新しい型のサポート、定額プランがより使いやすくなるなどの発表がありました。BigQuery Storage API は BigQuery に格納されたデータのバルクでの取り出しが高速になり、projection などにも対応しています。Dataflow や Hadoop/Spark のマネージドサービスである Dataproc などでもより高速に BigQuery のデータが処理できるようになりました。これにより、 BigQuery は単なるデータウェアハウスとしてだけではなく、 BigQuery

    Google Cloud Next 2019 in SF , BigQuery 関連発表まとめ
    hiroomi
    hiroomi 2019/04/13
  • An Overview of JavaScript Testing in 2020

    (Updated on: 21.11.2021) This guide is intended to catch you up with the most important reasoning, terms, tools, and approaches to JavaScript testing for the year 2022. It combines information from the best articles recently released (they are referenced at the bottom) and adds from my own experience. It’s a little long but whoever reads and understands this guide, can safely assume they know the

    An Overview of JavaScript Testing in 2020
    hiroomi
    hiroomi 2019/04/01
  • CloudFunctionとFirestoreで作るサーバーレスダッシュボード開発5つの勘所

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

    CloudFunctionとFirestoreで作るサーバーレスダッシュボード開発5つの勘所
    hiroomi
    hiroomi 2019/03/20
  • オープン・クローズドの原則の重要性について

    こんにちは!eurekaのAPIチームでエンジニアをやっている@rikiiです。 少し前に発売されたclean Architecture 達人に学ぶソフトウェアの構造と設計を買ったのですが、で紹介されてるSOLID原則について改めて復習しておこうと思い、今回はその1つであるオープン・クローズドの原則についてまとめてみようと思います。 eurekaではgo言語を使っているので、goを使ったコード例とともにオープン・クローズドの原則の重要性について説明していきたいと思います。 ちなみにオープン・クローズドの原則とはSOLID原則と呼ばれるオブジェクト指向設計原則のうちのひとつです。 SOLID原則とは?下記5つの原則の頭文字を取ってまとめた、オブジェクト指向設計原則のことです。 ・S : The Single Responsibility Principle(単一責任の原則) ・O : Th

    hiroomi
    hiroomi 2019/02/24