Google Cloud Next '24 Recap in ZOZO Datastreamを使用したリアルタイムデータストリーミングの紹介 / realtime datastreaming with Datastream
概要 かねてよりgRPCおよびgRPC-Webに興味があり、これを用いてシンプルなリアルタイムチャットサービスを制作し、公開した。 本稿では、その開発工程について解説する。 ゴール gRPC-Webを用いて「わいわいチャット」を作る。 https://waiwai-chat-2019.aanrii.com/ ※2020年9月現在、公開停止しました。 内容はシンプルなチャットアプリケーションだ。サイトを開くとまず過去ログが表示され、ほかの入室者の投稿が随時流れてくる。任意の名前で入室すると投稿欄が出現し、発言ができる。発言した内容はサイトにアクセスしている全員に、即座に共有される。過去ログは無限スクロールで遡ることができる。 フロントエンドはReactを用いたSPAとし、Netlifyを使って静的サイト生成・配信する。また、バックエンドはGKE上で動くNode.jsアプリケーションとし、かつ
こんにちは。開発部データエンジニアの遠藤です。現在、私はデータ×テクノロジーでZOZOグループのマーケティングを支援するデータチームに所属して、データ処理基盤の運用などに従事しています。 本記事では、Lookerを用いて運用中のデータ集計基盤をきれいなデータをスマートに取り出せる基盤に改良した件について報告します。 データ集計基盤で燻っていた問題 1. クエリ管理の限界 2. 集計定義に対するデータの信憑性が謎 Lookerは何が良い? ~データガバナンス機能~ LookML データディクショナリ Gitによるバージョン管理 データ集計基盤(改)の設定フロー データ集計基盤(改)でのデータマート更新 まとめ データ集計基盤で燻っていた問題 ZOZOでは、サービスに関するあらゆるデータをBigQueryに集約しています。BigQueryに集約した大量のデータからデータマートとして必要なデータ
こんにちは、研究開発部 Data Analysisグループの笛木です。 4/26(水)〜 4/28(金)で研究開発部内の技術研修を行いました。 こちらのブログの続きでテストコードについての研修資料を一部公開します。研修では新卒2年目の私が1年間で部内のコードなどから学んだ情報を共有しました。至らない部分もあるかもしれませんが、ご参考になれば幸いです。 こちらの研修で使用したGitHubのコードリンクは以下です。適宜、ご参照ください。 github.com 目次 目次 はじめに この研修の目的 研修スコープ外 テストコードについて テストコードの便利な点 テストコードの悪い例 テストコードに関するFAQ pytestによるテストコードの書き方 ファイル名 ディレクトリ 基本編 Parametrize Fixture 異常系 Mock indirect conftest 知っておくと活用する場
これは、k8sクラスタを個人で運用する際に行った構成要素の技術選定の記録である。 技術選定の理由を書くのも見るのも楽しい、という心情のもとにここに公開する。 前提知識 以前、こんなエントリを書いた。 bitcoinのfull nodeをAWSでなるべく安く運用してみる - でこてっくろぐ ねお 上記の通り、個人でbitcoinのfull nodeという、状態をバリバリもつサービスを、AWSでのコスト面で最安を狙って作り運用を行っていた。 しかしその後、Oracle Cloudで運用したほうが安くなることに気づいたため引っ越した。 Oracle CloudではARMのVMが4台無料で使えて複数台構成が組め、AWSやGCP同様k8sのマネージドサービスもあり、また仕事でk8sを扱う部署に異動したのもあり、勉強のためk8sクラスタ上で運用することにした。 構成要素 以下の構成要素を選択している。
こんにちは、鈴木です。 求人票の作成を経験しました。実際に公開した求人票を実例として、どのように考え、どのようなプロセスで、どのような中間成果物を生み出しながら取り組んだのか。具体的な内容を共有します。 「先に知っておきたかった!」と思うものや、検索しても見つからなかったものなど、多くの知見を得ることができました。 それらを公開することで、これから求人票の作成に関わる人のお役に立てれば幸いです。 QAリード採用はじめました はじまりは兄弟会社の組織図 求人票を書こう! ってどうすれば!? 求人票作成のフレームワーク 1. 現在を書き出す 1.1. 思っていることを書き出す 1.2. 現在使っているモノを書き出す 1.3. 現在おこなっているコトを書き出す 2. 未来を書き出す 2.1. 将来おこなっているコトを書き出す 2.2. 将来使っているモノを書き出す 3. その職種が必要な理由を書
Microservices Platform TeamでTech leadをしている@deeeeeeetです. 昨年のMTC2018ではMicroservices Platformチームの立ち上げから1年で僕らが取り組んできたことを紹介しました. speakerdeck.com 具体的にはStranglerパターンによるMonolithからMicroservicesへの段階的なリクエスト移行を行うためのAPI gatewayの開発や,Microservicesのインフラのセットアップを簡単にしサービス開発チームのSelf-service化を進めるためのStarter-kitの開発,GoでのMicroservicesの開発を高速で始めるためのTemplateプロジェクトの開発,Spinnakerの導入などについて紹介しました. これらはPlatformとして最低限の機能を整備したにすぎず,さ
TL;DR: Instead of redirecting API calls from HTTP to HTTPS, make the failure visible. Either disable the HTTP interface altogether, or return a clear HTTP error response and revoke API keys sent over the unencrypted connection. Unfortunately, many well-known API providers don't currently do so. Updated 2024-05-24: Added the Google Bug Hunter Team response to the report that the VirusTotal API resp
しばらくしたら次のことを考えたいなと思ってるので、よい仕事や空いてるポジションがあったら教えてください!— Mitz Shiiba@フルスタックエンジニア (@bufferings) December 8, 2022 突然ですが CircleCI を辞めることになりました。そのことについてあまり話すつもりはないのですが、今の気持ちだけ書いておくと、びっくりはしたけど特にネガティブな感情はなく、面白い経験だなぁという気持ちです。 この一年間、色々とあまりできない体験をしてきた締めくくりにピッタリです。この状況を受け入れて、流れに身をまかせて楽しもうと思います。 ということで、こんな機会はあまりないので、次をどうするか、折角だから色々な会社のお話を聞いてから考えたいなぁと思ってつぶやいたら、たくさんのご連絡をいただき、とても嬉しく思っています。ひとつひとつのお誘いや励ましが、とてもありがたいで
はじめに GoogleのマネージドKubernetesディストロであるGKEの新機能(厳密には新しい種類のクラスターといったほうがユーザーにとっては正しい説明になると思いますが)、GKE Autopilotが先週大きく話題になりました。 ノードがGoogle Cloudによるマネージド Podごとの課金体系 ノードへのSSHが使えない といった特徴が大きく取り上げられており、ぱっと見AWSのEKS Fargateと非常に似ているように見えます。が、(少なくとも、user facingな部分においては)技術的には全くやっていることが違うと思います。なぜならFargateはEC2とは全く異なるVM技術がベースになっているのに対して、Autopilotは通常のGCEを応用した機能として提供されているからです。 ※まあ、GCEは実はコンテナで動いてるみたいなちょっとした裏話もあったりするんで、本当
風音屋では、データエンジニア、データアナリスト、データコンサルタントを募集しています。 書籍執筆者やOSSコントリビューターなど、業界を代表する20名以上のアドバイザーと一緒にベストプラクティスを追求できる環境です。 ぜひカジュアルトークをお申し込みください。 風音屋アドバイザーの山田雄(@nii_yan)です。 データ活用においてセキュリティ対策が最重要トピックであることは言うまでもありません。 風音屋でBigQueryの導入支援を行うにあたって、どのようなセキュリティ対策を行っているのかをご紹介します。 この記事の全体像 この記事は2つのパートに分かれています。 最初に、BigQuery導入プロジェクトを始めるにあたって、セキュリティ観点でどのようなコミュニケーションが必要になるかを説明します。 次に、一般的な情報セキュリティ対策である「抑止」「予防」「検知」「回復」の4つの観点にもと
はじめに 商品推薦システム: RecSys について GKEを採用した理由 GKEノウハウの紹介 RegionalクラスタでZone, NodeごとにPodが分散されるようにAffinityを設定 graceful shutdownするコンテナでもpreStopが必要 コンテナネイティブの負荷分散を利用 負荷試験によるHPAのパラメータ調整 まとめ はじめに こんにちは。EC基盤グループの池田(@progrhyme)です。 モノタロウでは昨年、商品のレコメンデーションに用いるシステムを内製化するという取り組みを行いました。 私もこのプロジェクトに参加し、主にGoogle Kubernetes Engine(以下、GKE)上でのアプリケーションの構築・設定やCI/CD設定、監視設定などを行っていました。 私自身、本番運用するGKEのプロダクトを本格的に触るのは、本件が初めての経験でした。 そ
この記事では、以下のようなチームを想定して、お金と手間をできるだけかけずにそこそこセキュリティを向上させることをまとめようと考えています。そんなんじゃだめだ!とか、こういう場合は漏れませんか?というコメント大歓迎です。 想定するチーム 営業やCS、マーケの人など全職種含めると30人前後あるいはそれ以下で、Webサービス(アプリ含む)開発を行っている 副業人材も多く、半数のメンバーは会社支給でないマシンを使っている それらのマシンは他社の業務でも使用されている Macが多めだがWindowsもいる 基本的に業務データはクラウド上にあり、PCローカルにあるのは開発途中のデータ、Biz/バックオフィス系のドキュメント、重たいデザイン系データ程度。自社データセンターや、オフィスネットワークでしかアクセスできないサーバはない。 メインの業務ツールはGoogle WorkspaceとSlackとGit
※この投稿は米国時間 2020 年 2 月 1 日に、Google Cloud blog に投稿されたものの抄訳です。 作業効率を検証するために Google のサイト信頼性エンジニア(SRE)が使用している主な測定指標の一つが、日々の時間の使い方です。長期間のエンジニアリング プロジェクトのために時間を確保する必要がありますが、エンジニアには Google のサービスを稼働し続ける責任もあり、そこにも手作業が生じることがあります。Google の SRE は、いわゆる「トイル」に費やされる時間を勤務時間の 50% 未満にすることを目指しています。では、トイルとは何でしょうか。トイルに邪魔されずに開発スピードを維持するには何をすべきでしょうか。本稿ではこれらの問いについて見ていきます。 まずトイルの定義ですが、『Site Reliability Engineering』の第 5 章には次の
こんにちは。Zucksでエンジニアをやっています@karahiyo_nです。 先日社内向けに「Zucksで働き学んだ成果に繋がるプラクティス」という発表を行いました。今回はその一部を紹介したいと思います。 発表では6年間でシステム構成がどう変わってきたのかと実際にやってきたタスクを紹介しつつ より妥当な意思決定をするために より早く価値を提供できるように システムの複雑性と戦う方法 などいくつかプラクティスを紹介しました。 今回はその中のひとつ「システムの複雑性と戦う方法」について書きたいと思います。 対象のシステム像 元の発表ではZucksのシステムを取り上げて解説したのですが、ここでは次のようなシステムをイメージしてください。 非常に高いサービスレベルが求められるシステム(例えばAmazon Compute SLA相当) 低レイテンシ、高トラフィック(で、さらに増加傾向) 機能要望は尽
はじめまして。JX通信社でデータアナリストをしている @nrtaking です。 弊社では、7/23〜8/8に行われた東京オリンピック、8/25〜9/5に行われた東京パラリンピックにあわせて関連した日本語ツイートを全量収集し、Twitter Japanなど各社に提供していました。 内容に関する簡単な分析についてはプレスリリースでお伝えしているので、そちらもあわせてご覧ください。 prtimes.jp 実はこのツイート収集システムは、2週間ほどでほぼゼロから立ち上げたものでした。 今回は五輪関連のツイート収集を支えた技術について紹介します。 叶えたかった要件 五輪に関するツイートを、NTTデータの提供するAPIからストリームで受け取り続ける ツイート量などの統計情報やRTが多いツイート情報をダッシュボードの形で見ることができる 上記を(ほぼ)リアルタイムで実現できる 実はこの取り組みにあたり
当記事は みずほリサーチ&テクノロジーズ × G-gen エンジニアコラボレーション企画 で執筆されたものです。 G-gen の佐々木です。当記事では、Google Cloud (旧称 GCP) でマネージドな Kubernetes クラスタを使用することができる Google Kubernetes Engine (GKE) を解説します。Amazon Elastic Kubernetes Service (EKS) や Azure Kubernetes Service (AKS)など、kubenetes をマネージドに提供するサービスは存在しますが GKE はそれらの中でもよい評判を耳にします。例えばマスターノードの料金が不要、起動が早いといった具合です。GKE は Google Cloud 採択の理由たりえるサービスのため、優先的に仕様を調査することにしました。 Google Kube
ニューラルネットワークのトレーニングや実行にはGPUが使われることが多く、クラウドサービスのGPUの需要はAIの普及に伴い高まりつつあります。そんなクラウドGPUの構成や価格を、AI関連のニュース&コミュニティサイト・The Full Stackが公開しました。 Cloud GPUs - The Full Stack https://fullstackdeeplearning.com/cloud-gpus/ 表はクラウドサーバーとサーバーレスの2種類に分かれています。ピックアップされたサービスはAmazon Web Service(AWS)やMicrosoft Azure、Cudo Compute、Google Cloud Platform(GCP)、AWS Lambdaなど。Hugging Faceなど一部サービスの記載はありません。 クラウドサーバーの表がこんな感じ。最左列にサービス名
はじめに 最近 Google Cloud Platform の Cloud Run が GA となったのが話題に上がりました。また gcloud コマンドを GitHub Actions 上で簡単に扱うための GoogleCloudPlatform/github-actions もリリースされました。これまで使われることの多かった actions/gcloud は deprecated となりアーカイブされています。 これらのサービス、ツールを使うことでかなり簡単に Docker コンテナを動かす環境を構築できます。そのユースケースの一つとして、実際に僕が携わっているプロジェクトでレビューコスト低減のために行っている、Pull Request (以下 PR) 単位で独立したプレビュー環境を起動する方法についてメモがてらブログにまとめようと思います。 前提 以下のようなアプリケーション、プロ
インターネット専業銀行が勘定系システムの新規構築や刷新に動き始めた。パブリッククラウドや最新のアーキテクチャーを採用し、軽量なシステムを志向しているのが特徴だ。各行の新システムがトラブル無く稼働し、安定運用が軌道に乗れば、地方銀行などにも同様の動きが広がる可能性がある。 「2段階」提案でLINE案件勝ち取る LINEとみずほ銀行が2020年度に開業する新銀行は、ソニー銀行などで稼働実績のある富士通製のシステムをベースに勘定系システムを構築する。実は富士通は2020年以降の稼働を目指してクラウドで動作する新しい勘定系を開発中だ。第1号ユーザーとしてソニー銀への提供を検討している。 ソニー銀へのシステム提供計画を踏まえ、富士通はLINEらに「2段階」で提案したもようだ。まずソニー銀などで実績のあるシステムを納入し、開発中の新システムがソニー銀で稼働したら将来的にLINEの新銀行のシステムも刷新
はじめに 概要 AWSの個人アカウントでEC2インスタンスを立ち上げて、そこにNginxやCMSを入れて、ブログを開設しました。ドメイン名を取得してIPアドレスとの紐づけ等はしましたが、コンテンツはまだ投稿しておらず、ロクにアクセスも来るはずがありません。 ところが、Nginxのアクセスログを見てみると、作成して1,2日のうちに、世界中から攻撃を試みられていたことがわかりました。ここでは、具体的にどのような攻撃があったのかについてまとめておきます。 サーバーの設定 サーバーは、EC2のt2.mediumのインスタンスです。ミドルウェアとしてはNginxとMySQLを入れていて、CMSとしては、私が苦手なPHPで動くWordpressではなく、Node.jsで動くGhostを入れました。 SecurityGroupの設定は、ポート80と443を開放してあります。 攻撃の内容 以下に攻撃の内容
最近、社内でよく話をする内容についてまとめました。 企業がOSS化するといろいろメリットがあると思っていて、社内でもそこのコンセンサスはうちの技術横断部門のメンバー間では取れていたりするのですが、自社以外の人とかと話をする時もあるので、いろいろまとめておきます。 なお、この文章では本業をOSSにしつつビジネスを回そうみたいなElasticsearchとかMongoDBとかMySQLみたいな話題はとりあげず、本業が別にある会社がOSS化する、という部分に特化した話です。 9/13に追記 よく言われるメリットとデメリット メリットは、公開することで開発が自然と進み、コスト削減になる。一方でノウハウの流出などのデメリットがある、みたいなトレードオフ、という理解をしている人が多いようです。 コストは削減にならない OSS化したら多くの人に使ってもらいたいですよね?というのは考えるわけですが、その「
概要 創業2期目のスタートアップ株式会社NoSchoolにて、WordPressで開発された自社サービスを、2ヶ月掛けてAWS+Laravel+Nuxt.jsにフルリプレイスした際の技術選定について書きます。 対象読者 Laravelを使ってみたい/使えるライブラリを一通り知りたい AWS構築の全体感を知りたい Nuxt.jsやVuetifyの使用感を知りたい WordPressを脱却したい 技術選定の背景 技術選定と言っても好きな技術を選べばいいというわけではありません。自社が持っている技術力、事業の状況によるところが大きいため、まずは背景としてそのあたりを説明していきます。 先に技術が気になる方はここは読み飛ばして、あとで戻ってきてください ①自社の技術力 CTO @mejileben NoSchoolは創業2期目で2019年6月現在、フルタイムメンバーが僕と社長しかいません。 そして
自社パッケージ製品のクラウド版 を開発していて、色々やりたい放題やってるのでメモ。 方針 遠回り駆動開発 やりたい放題やる 王道は無視して「じぶんのかんがえたさいきょうの」をでいく 可能な限り OSS 開発元が提供しているクラウドサービスを利用する ベアメタルサーバーを使う 三大クラウドサービス (AWS, GCP, Azure) を使わない なぜ利用している技術を公開するのか 自社で使って良かった OSS やサービスはより多くの人に知って欲しいと考えています。 また、特に隠す理由がないというのもあります、むしろ大きな声で Tailscale や TimescaleDB 、 VictoriaMetrics 、Cloudflare 、DataPacket など、ほんとうに素晴らしい使わせて頂いていると言っていきたい。 我々が利用させて頂いている製品の企業や開発者の方へ とても素晴らしい製品を
こんにちは、SRE部MA基盤チームの谷口(case-k)です。私達のチームでは、データ連携基盤の開発・運用をしています。 データ基盤には大きく分けて2種類あり、日次でデータ連携してるものとリアルタイムにデータ連携しているものがあります。本記事ではリアルタイムデータ連携基盤についてご紹介します。 既存のデータ連携基盤の紹介 リアルタイムデータ連携基盤の紹介 なぜ必要なのか 活用事例の紹介 データ連携の仕組みと課題 リプレイス後のリアルタイムデータ連携基盤 SQL Serverの差分データの取り方を検討 アーキテクチャ概要と処理の流れ Fluentdのプラグインを使った差分データの取得 Dataflowでメッセージの重複を排除 Dataflowで動的にBigQueryの各テーブルに出力 Pub/Subのメッセージ管理 イベントログ収集基盤 個人情報の取り扱い ビルド・デプロイ戦略 監視 データ
はじめに タイトルは釣りです(テンプレ) はじめましての方ははじめまして。特にこの記事がバズるとも思ってないんですが、なんとなく新しく僕のことを知っていただいた方のために自己紹介しておきます。 ZOZOテクノロジーズ開発部に所属するインフラエンジニアのようなことをやっている者です。チーム的にはMLOpsチームという組織にいます。Dockerが好きです。 社内では本名の太田さん、pchan、いんだくたーさん、こうちゃんなどと呼ばれています (Ref: @sonots) 自分のことを知っている方はご存知だと思いますが、自分語り満載のエントリーになる予定です。だるいと思った方はスルーしてもらって大丈夫です! 入社の経緯とか そもそもの入社のきっかけは、前職で働いていた頃に遡ります。前職では小さな(?)Web制作会社で受託案件のPHPを書いたりAndroidアプリ(Java)の保守などをメインに担
まえがき 昨年LastPassのセキュリティインシデントが話題になりましたが、みなさんはパスワードや秘匿情報の保護はどのようにされていますか? SSOログインや、YahooさんのようにSMS認証でパスワードそのものを排除する方式もあったり様々なパターンがでてきました。 とはいえ、引き続きID/Passwordを必要とする場面はまだまだ継続するんじゃないかなと思っています。 また、WEBサイトのID/Password以外にもクレジットカード番号や、ソフトウェア開発するときに必要となるSSH秘密鍵等のように保存しておきたい秘匿情報も多いかと思います。 1Passwordを使って、ローカルにファイル(~/.configや.env)として置かれてる生のパスワードなどを削除した@Web Scratchにもあるように、ローカルからどんどん秘匿情報を削除する素晴らしい方法もあります。 私も日々生成される
こんにちは。BASE BANK 株式会社 Dev Division にて、 Software Developer をしている東口(@hgsgtk)です。 BASE BANK Dev での開発では、クラウドインフラの構成管理に、 Terraform を利用しています。 世の情報をたくさんキュレーションしている CTO の@dmnlkさんに、手軽に CI に組み込めそうなセキュリティチェックツールがあることを教えてもらったので、導入してみました。 CTO氏のキュレーションメディアで紹介された tfsec を早速試して良さそうだったhttps://t.co/bl67dlW2Ub https://t.co/vAkTOVagec— Kazuki Higashiguchi (@hgsgtk) August 21, 2020 このブログの公開日は 2020/10/30 ですので、導入してから約 2 ヶ月
AI Academy Bootcamp 6ヶ月35,000円にてチャットで質問し放題の環境で、機械学習やデータ分析が学べるサービスを提供しております。 数十名在籍しているデータサイエンティストや機械学習エンジニアに質問し放題の環境でデータ分析、統計、機械学習、SQL等が学べます。AI人材に必要なスキルを効率よく体系的に身に付けたい方は是非ご検討ください! https://aiacademy.jp/bootcamp この記事の対象者 ・将来Pythonでデータ解析をしたいと考えているが、何から手をつけたら良いか知りたい方 ・将来、人工知能に関連した業務に携わりたいと検討中の初学者の方 ・未経験者からAIエンジニアになりたく、そのためにどのような知識が必要か知りたい方 ・AIプログラミングスクールや専門学校に進学しようか考えているが、独学で勉強できる方法を知りたいという方 対象ではない方 ・既
まだ機能的に足りないところもあるが、頑張ったら使える感覚だった。 githubにもfeedbackが送れる所があれば送ろうと思う。 circleciでやっていたことはざっくり書くと以下。 test系 golangのbuild/lint/test helm chartのlint helm templateで吐き出されたyamlのlint build系(only master) base imageのbuild & push k8s上で動かすprod imageのbuild & push deploy系(only master) GKE上にhelm secrets upgrade これをgithub actionsに移行した際にcircleciとの差分を感じた機能は以下。 slack通知 自分のリポジトリでは未実装、デフォルトは失敗するとメール通知が来る 未確認だが多分いろいろな人がbeta向
この記事はこの記事は 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
こんにちは。株式会社 Flatt Security セキュリティエンジニアの梅内(@Sz4rny)です。 本記事では、主にFirebaseの概要やセキュリティルールを用いた堅牢なCloud Firestore環境の構築について説明します。本記事を読むことで、Firebaseに関する基礎知識やデータベースにおけるセキュリティ上の懸念事項について理解するとともに、セキュリティルールを用いて堅牢なCloud Firestore環境を構築するための初歩を身につけることができるでしょう。 また、Flatt Securityでは開発/運用中のプロダクトにおいて、Firebaseをセキュアに活用できているか診断することも可能です。 Firebase を用いた開発におけるセキュリティ上の懸念事項が気になる場合や、実際に診断について相談したいという場合は、ぜひ下記バナーからお問い合わせください。 Fireb
こんにちはあんどう(@t_andou)です。 今回はKubernetesを使って並列処理させた記録です。 まだ「とりあえずそれっぽく動くまで試してみた」という段階で、kubernetesを理解できてはいないので自分用のメモを公開しているという認識でご覧ください。 間違っている部分や、よりスマートなやり方がありましたらご指摘いただけると幸いです。 この記事の概要 機械学習に使う特徴量の作成で1週間かかりそうな処理を10分くらいで終わらせられないかと考え、GKE(=GoogleのKubernetes環境)を使い試行錯誤した記録です。 今回は一部失敗して完了時間が1.5時間になったものの、設定を上手く出来れば15分程度で終わる見込みです。 対象読者 ・Kubernetesの概要は知っているくらいのレベルの人 ・KubernetesのJobを使った並列処理をしたい人 目次 この記事の概要 対象読者
はじめに こんにちは。DeSCヘルスケアシステム部でインターンをしている中島です。本記事では開発に関わった2つのサービス「ハレトケ」「カラダモ」の負荷テストで得た知見について紹介したいと思います。 負荷テストをこれからやる方や、システムのパフォーマンスチューニングに興味のある方などの参考になると嬉しいです。 負荷テストの目的 まず、負荷テストをどのような目的でやるのかについて抑えておきます。一般的にクラウド環境での負荷テストの目的は以下の5つが挙げられます。(出典:Amazon Web Services負荷試験入門 ――クラウドの性能の引き出し方がわかる Software Design plusシリーズ) 各種ユースケースの応答性能を推測する 高負荷時の性能改善を行う 目的の性能を提供することができるハードウェアをあらかじめ選定する システムがスケール性を持つことを確認する システムのスケ
こんにちは ハタ です。 Mirrativのインフラ内で実際に開発・運用している内製のRedisサーバについてお話したいなと思っています。 前回の記事 は、今回紹介する内製Redisサーバで起きたメモリリーク対策に関するお話しとなっておりますので、もし未読であればあわせて読んでいただければと思います。 今回はなぜ Redis サーバを内製することにしたのかの経緯や実装についての簡単な紹介が出来たらなと思っています Redis 導入の経緯 課題感: 揮発しないでほしい 課題感: 生存時間が短いデータを保持したい 課題感: 日次データをなんとかしたい 候補 Redis Cluster のヨシアシ: slot 管理 Dynomite のヨシアシ: sharding/replication radisha = Raft + Redis + HA Raft クラスタ コマンドとデータストア レプリケ
2019年6月20日、TECH PLAY SHIBUYAにて「CTOが考える、チームで向き合う技術的負債との付き合い方」が開催されました。メドピア・SansanのCTOが、自社における技術的負債といかにして向き合ってきたか、その経緯と取り組みを語りました。(※当初登壇予定だったアイスタイルCTO竹澤氏は体調不良により欠席)。公開Q&Aには、メドピア株式会社執行役員のCTO福村彰展氏と、Sansan株式会社CTOの藤倉成太氏が登場。会場からの質問に回答します。 技術的負債を返す重要性をどう説明するか 司会者:お待たせしました。Q&Aなんですけど、最初に、みなさん申し込みいただいたときに質問をいくつかいただいていたと思うので、そのなかで質問が多かったものを私のほうで5つぐらい取り上げさせていただいております。そのあと、会場のみなさんから質問を募集して、ディスカッションのようなかたちで進められれ
APIデザイン・パターン (Compass Booksシリーズ) 作者:JJ Geewaxマイナビ出版Amazon ManningのAPI Design Patternsの日本語翻訳版で、GoogleのソフトウェアエンジニアでGCPのAPIデザイン等にも従事された方が書かれた書籍とのことです。原著はこちら。 API Design Patterns (English Edition) 作者:Geewax, JJManningAmazon なかなか分量があるのと、誤植と思われる箇所や洋書の翻訳本にありがちな日本語として意味が取りづらい部分が多く、一通り読むのに結構時間がかかってしまいました。 基本的にHTTPベースのJSON APIを想定した内容になっています。さすがにGoogleの方が書かれたというだけあり、通常のユースケースでは思い至らないであろう懸念点なども指摘されており「なるほど」と思
こんにちは、株式会社カミナシのエンジニア @imu です。 はじめに 2021年11月に以下の開発者ブログを公開しました。 kaminashi-developer.hatenablog.jp α版として構築したインフラですが、2022年1月にインフラ移行の話が突如検討されました。 なぜ最終的にAWSへ移行になったのかと私が何を感じたのかをお話します! 補足 完全移行したのはAPIサーバーです。クライアントアプリはCloudBuild + Firebase Hostingの環境が残った状態です。 移行後のAWS構成図はここでは共有していません。また別の機会に。 GCPを否定する記事ではありません。 本記事で様々なコメントを頂いておりますが、追加で補足をさせてください。 記事内の「私がGCPを選択した理由」で、私個人が勝手な意思決定をしてGCPを選択したように受け止められてしまう書き方でした。
2018年にリリースされ、未だに人気サービスとして使われている「Peing -質問箱- 」。 実はこのサービス、開発と開発後の数ヶ月の間はたった1人の個人開発者・せせりさんによって開発・運営されていました。 しかもこのせせりさん、これまでに複数のサービスを収益化・事業譲渡されており、間違いなく日本でもトップレベルの個人開発者の1人です。 そんなせせりさん、なんとほぼすべてのサービスを1人で作り上げているとのこと。 AWS・GCPといったクラウドサービスの普及やスマホアプリの登場に伴いハードルが低くなりつつある個人開発ですが、参入も増え成功するのは難しくなってきています。 今回は、個人開発者として開発を続けてきたせせりさんに、個人開発で成功するための秘訣をインタビュー! と思いきや、せせりさんの回答は…「個人開発はおすすめしない」!? せせり : 本名は大岡まひろ。月間2.5億PV超えを達成
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く