サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
techblog.kayac.com
この記事はdbt Advent Calendar 2023の5日目です。 こんにちは、その他事業部SREチーム所属の@mashiikeです。 カヤックは様々な事業・プロジェクトを展開しておりますが、その一つとして『北欧、暮らしの道具店』を運営する株式会社クラシコムとの協業プロジェクトがあります。 www.kayac.com こちらのプロジェクトでは2019年より継続して、クラシコム様のデータ基盤の構築・運用のサポートの一部を行っております。 その中で、troccoのdbt連携機能を用いて、データの変換を実装しております。1 今回の記事は、同プロジェクトの中で行われた一風変わったdbtの活用例の紹介になります。 内容の関係上、予めLookerの用語と概念を知っていると読みやすいと思います。 cloud.google.com 背景 クラシコム様のデータ分析基盤では、ビジネスインテリジェンスにL
SREチームの藤原です。 この記事は 面白法人グループ Advent Calendar 2023 4日目の記事です。 今日は、自分が開発・メンテナンスしている Amazon ECS デプロイツール ecspresso の次のバージョンでリリースされる予定の新機能を、予告として紹介したいと思います。 github.com ecspresso v2.3 に入りそうな新機能 Pull Requestで v2.3 ラベルが付いているもの を新機能としてリリースする予定です。 Secrets ManagerのARNを取得する secretsmanager_arn テンプレート関数 add secretsmanager plugin by fujiwara · Pull Request #618 · kayac/ecspresso · GitHub ECSタスクにSecrets Managerで管理し
SREの今です。 CircleCIやGitHub Actions等のCI/CDツールでデプロイの自動化に取り組む際に、意図しない本番反映の防止策として承認アクション(Manual approval)を挟んでおくことがあります。 GitHub Actionsでは、Environmentsを利用することでワークフローの実行前にレビューを必須化することが出来ます1。しかし、この機能をプライベートリポジトリで利用するにはリポジトリの所有者がGitHub Enterpriseを契約している必要があります2。 業務の都合上、Environmentsを利用できないリポジトリでManual approvalを利用したい機会があり、ワークフロー実行履歴を利用したManual approvalを実装したのでご紹介します。 本記事はSRE連載の12月号 + 面白法人グループ Advent Calendar 20
こんにちは! Tech KAYAC Advent Calendar 2023 2日目を担当する荒賀(@ken39arg)です。 昨年 NIPPON ITチャリティ駅伝 に エンジニア5人のカヤックチームで参加し総合20位でした が、 今年も社内の有志チームで参加してきました。 なんと今年は2チーム+1名の11人で参加してきました!! 平均年齢45歳のおっさんチーム「KAYAC RUN 45」と、若者チーム「KAYAC RUN 30」です。 ちなみに今年も10人中9人がエンジニアで、残りの一人も最近は 42.195km採用 などのエンジニア採用や、社外や面白法人グループなど様々な括りでの合同勉強会を担当している ほぼエンジニアみたいな人 です。 #club-running カヤックのSlackチャンネルである #club-running は2019年に立ち上がり一時はbotしかいない超過疎状
こんにちは、カヤック SRE の市川です。 このエントリは【カヤック】面白法人グループ Advent Calendar 2023の1日目の記事です。 はじめに いきなり鬼のように私事ですが、結婚することになりました。 ISUCON 起床試験に失敗し、成長への決意を込めて(?)購入したチュードル 技術ブログとは全く関係ない話と見せかけて、婚約者が MySQL 互換な分散 DB の会社で働いていることが、想像していた以上に「データの整合性と向き合う機運」の高まりに繋がりました。 ということで今年は気合を入れて 気合いで DDIA 読破 Advent Calendar 2023 なるものを計画しているのですが、会社のアドベントカレンダーも運営担当をしているので、トップバッターやっていきます。 GopherCon Singapore での学び 個人的な話が連続して恐縮ですが年末なので(?)お許しく
SREチームの橋本です。SRE連載の11月号になります。 AWSの多くのリソースはIAMでアクセスを一元管理されていますが、Lambdaではユーザーが実行したり他のAWSサービスから実行されたりする都合上、様々なポリシーが絡んでいます。 特に「Lambdaを呼び出す許可」についてはID(アイデンティティ)ベースのポリシーとリソースベースのポリシーで内容が被るため、どちらで設定するか混乱しているケースも見られます。 本記事ではこうしたポリシー事情をterraformの例と共に整理し、権限設定のベストプラクティスも検討します。 そもそもIAMのポリシーについて ドキュメントによればAWSのポリシーは実に6種類ものタイプがありますが、「使用頻度の高いものから」とあるように最初のIDベースが非常に多くのサービスで共通して使われており、次いで2番目のリソースベースが一部サービスで必要になるでしょう。
SREチームの池田です。 Redshiftが大好きなバケツアイコンの人です。 先日、Aurora MySQL と RedshiftのZero-ETL integrationがGA(Generally Available、一般提供開始)しました。 aws.amazon.com この記事は、早速Zero-ETL integrationの実戦投入を試してみたという内容です。 なお、この記事は失敗事例になりますが、Zero-ETL integrationはとても素晴らしい機能ですので、皆様も是非お使いください。 はじめに Zero-ETL integrationは、Aurora MySQLのデータをニアリアルタイムでRedshiftに同期してくれる素晴らしい機能です。 マネージメントコンソールから数ステップでAurora MySQLの中の すべてのテーブルを Redshiftに同期してくれます。
こんにちは。人事部の高田です。 2023年10月20日、primeNumberさんと合同で勉強会を開催しましたので、その様子をご報告します。 primeNumberさんとは2022年12月にも合同で勉強会を開催させていただきました。 イベントの内容 イベントタイトルは 「組織拡大と共に発生するソフトウェア品質の課題と裏話LT」 です。 簡単に言うと、長期的にサービスやシステムが運用される中で発生する課題や、いわゆる「技術的負債」に関する各社の知見を共有するための会でした。 発表内容 登壇者とトークテーマは下記の通りでした。 発表者 所属 タイトル 鈴木さん primeNumber インシデントの重大度レベル(SEVレベル)策定の話 元木 カヤック Railsでスピード重視で立ち上げたプロダクトの数年後あるある集 中根さん primeNumber 自動化テストをほぼ0 -> 1で社内に浸透さ
SRE チームの市川恭佑です。 先日、CloudNative Days Tokyo 2023 のプロポーザルを提出したのですが、残念ながら採択に至らなかったので、今回は宇宙最速の(?)供養エントリになります。 シェア・投票など、ご応援をくださった皆様にはこの場でお礼を申し上げます。ありがとうございました。 event.cloudnativedays.jp 背景とか、経緯とか 筆者は、カヤックの SRE チームにちょうど2年ほど在籍しています。とは言っても半年ぐらいは学生アルバイトだったので、正社員としては1年半ほどです。カヤックに入る前も、いくつかの会社で IT エンジニアとしてインターンやアルバイトをしていました。 という訳で、何だかんだ仕事で使うプログラムを書き始めてトータル4年半ほどになりますが、そのうち3年半ほどは全て Amazon Web Services(AWS)でホストされる
SREチームの長田です。 みなさま開発・運用上の定形オペレーションに伴うタスク実行をどのように管理していますか? 今回は make をタスクランナーとして使う例を紹介します。 タスクランナーがほしい タスクランナーを使う主なモチベーションは以下の2つです。 タスクをリスト化したい タスクの実行インターフェイスを統一したい タスクがリスト化されていれば、それ自体が生きたドキュメントとして機能します。 また、タスクの実行インターフェイスが統一されていれば、 例えばタスクに前処理や後処理を追加したとしても、 開発・運用メンバーが実行するべき操作が変わることはありません。 操作変更の周知コストも下がりますし、変更に伴う操作ミスも減らすことができます。 タスクランナーに求めるもの タスクランナーの機能としては必要最低限のものがよいと考えています。 高機能なタスクランナーも魅力的ではあるのですが、タス
こんにちは。バックエンドエンジニアの荒賀です。 タイトルの通りですが、10/25(水)19時から渋谷で、400mハードル日本記録保持者の為末大さんと「なぜ、ランニングをはじめたら仕事もうまくいくのか?」をテーマに対談イベントをします。 connpass.com フワッとしていて、ランニングの話になるのか?キャリア論的な話になるのか?技術的な話になるのか?はたまた単なる雑談になってしまうのか?今のところ当事者の僕も全くわからないのですが、エンジニアでランニングが好きな人であれば共感できるような内容にはなるんじゃないかなあと勝手に妄想しています。 というか、為末さんはスプリントの人ですし、実は僕も最近のメインとしている趣味は水泳でランニングはその補強として行っているのでスポーツ好きでエンジニア寄りな人は集まれ!みたいな感じかもしれません。 対談者について 為末 大 2001年のエドモントン世界
面白プロデュース事業部 フロントエンジニアのゆうもやです。 面白法人カヤックでは、毎月社員が個人で制作したものを発表する「つくっていいとも」という会があります。 カヤックの社員は、業務に関係なく自由に制作・試作することで常に新しいアイデアを生み出すことに取り組んでいます。 今回は、そんなアイデアのネタになりそうなWeb SpeechRecognition APIのご紹介です。 Web SpeechRecognition API とは? Web SpeechRecognition APIは、ブラウザで音声認識を行うためのAPIです。ブラウザに標準で実装されているため、サーバーや特別なライブラリをインストールする必要なく、JavaScriptだけで利用することができます。 対応状況 一部非対応のブラウザはあるものの、ChromeとSafari 14.1以降ではPCとモバイル両対応しているため、
SREチームの池田です。 この記事が出ている頃には私は SRE Next 2023 に参加しているでしょう。 SRE Next 2023での私のセッションは『Warningアラートを放置しない!アラート駆動でログやメトリックを自動収集する仕組みによる恩恵』です。 このセッション中で話す仕組みはOSS『Prepalert』というもので実現しているのですが、今回の記事ではセッションの裏番組的にOSS『Prepalert』の紹介をします。 github.com Prepalertについては以前にTechBlog上で記事を書いているので、そことの差分を中心に紹介します。 techblog.kayac.com 3行でまとめ OSS『Prepalert』はMackerel Webhookを受け取って、各所に情報を問い合わせてMackerelのアラートのメモに貼り付ける仕組み そろそろ運用歴2年でv1リ
SREチームの長田です。 今回は開発・検証用Amazon RDS(以下RDS)の運用のはなしです。 はじめに 「常時使用するわけではないけど、一定の頻度で必要になるデータベース」というものがあります。 AWSリソースの動作確認を行う環境(カヤックではこれを「ステージング環境」と呼ぶことが多いです)や、 リリース後の負荷試験環境など、本番環境とは異なる環境にあるデータベースがこれにあたります。 AWSのようなクラウドサービスを利用している場合、起動時間に対して課金が発生することが多いでしょう。 負荷試験用に用意したRDSインスタンスは、試験が実施されていない期間はただ課金が発生するだけのリソースになってしまいます。 たまにしか使われないデータベースを放置しておくのはもったいない 負荷試験で使用するものは、大抵の場合本番環境と同じスペックのものを用意することになるでしょう。 すると本番環境と同
カヤックSREの今です。 SRE連載8月のエントリーになります。 techblog.kayac.com Amazon CloudWatch Logs Insights(以下Insights)は、CloudWatch Logsのログを期間を指定して検索、集計、簡単な文字列処理を行うことが出来ます。 Webコンソールから手軽に利用することができ、エラーが起きた際のログ調査に日常的に利用しています。 クエリは非同期で実行されますが、Webコンソールからクエリを実行して結果の表示前にページを離れてしまうと、クエリ結果をWebコンソール上で確認することができません。 Webコンソール上の履歴からリクエストIDを取得し、AWS CLIからaws logs get-query-result --query-id=[リクエストID]を実行することで結果をjsonで得ることができます。 今回は自動で日時の集
おはこんばんちは!面白プロデュース事業部 フロントエンジニアの中村です。 とうとう新卒ではなくなり、2年目になった今、入社する前に知りたかったな〜という記事を書きたいと思います。 はじめに 皆さんはCSSを勉強したことがありますでしょうか。 自分の中では、CSSはプロパティをいっぱい知っていて、それを適切なタイミングで適切なものを使えるようにする技術が必要なものだと思っています。 別に暗記してなくても、なんとな〜くこんなのあったな〜ぐらいで覚えていると、調べることができますからね。 しかしながら、よく使われるものや便利なものが優先的に知識としてたまり、意外と身近にあるのに知らないプロパティがあったりします。 例えば、要素をセンタリングするだけでもいろいろな書き方があり、調べていくうちに新たな発見があったりするのではないでしょうか。 今回はそういう感じで、レスポンシブデザインを作っていく中で
SREチームの橋本です。SRE連載の7月号になります。 カヤック社内では弊社藤原のecspressoをAmazon ECSのデプロイツールとして活用していますが、AWS公式のデプロイツールAWS Copilot(現在v1.29)もそのオールインワン的な性質から、開発・運営リソースが限られるプロジェクトでは選択肢に入るようになってきました。 今回はそのAWS Copilot活用のため、背後にあるAWS CloudFormationテンプレートをカスタマイズする手法を紹介します。 AWS CopilotとCloudFormation AWS CopilotはECSなどのデプロイを簡単にするCLIツールですが、実態としてはManifestと呼ばれるYAMLの設定ファイルからCloudFormationテンプレートを生成し、各種リソースを作成・管理するものです。 AWS Copilotは内部的にC
SREチームの藤原です。今回は監視サービスのMackerelと、障害発生時に担当者へのオンコールを自動化するGrafana OnCallを連携してみた話です。SRE連載 6月号になります。 3行でまとめ MackerelとGrafana OnCallを連携しました MackerelのアラートWebhookをGrafana OnCallのWebhookに変換するproxyをAWS Lambdaで作りました。OSSで公開しています Grafana OnCallの管理はTerraformでやっています はじめに カヤックでは、運用しているサービスの監視のためにMackerelを利用しています。サービスで障害が発生した場合に担当者を呼び出す(オンコール)ためのツールとして、2023年3月までは ryotarai/waker を使用していました。 wakerはもともとクックパッド社で利用されるために
湿気たちが騒がしい季節となってまいりましたね。みなさまいかがお過ごしでしょうか。カヤック技術部の谷脇です。 先日に面白法人グループの3社、カヤック・カヤックアキバスタジオ・カヤックボンドが集まり、合同で技術部勉強会を開催しましたのでご報告させていただきます。 合同勉強会の趣旨 今回集まった3社には、それぞれ様々な領域のエンジニアが所属しています。今までの技術部勉強会ではカヤック内部に範囲を絞っていましたが、グループに範囲を広げていろんな知見を循環していこうというのが建前です。 実際の趣旨としては「仲良くなる!」です。また、会場は秋葉原のカヤックアキバスタジオおよびカヤックボンドがある秋葉原のオフィスの会議室およびオンラインのハイブリッドスタイルで行いました。カヤックからも秋葉原の現地会場に多数参加しました。実際に顔を合わせて交流できるのは良いですね。 会場の様子 発表内容 勉強会は、それぞ
SREチームの長田です。 突然ですが、 mirage-ecs というツールをご存知でしょうか? 今回はこのツールをまちのコインの開発チームでの使用例をもとに紹介します。 coin.machino.co mirage-ecs を使うと動作確認用のサーバー環境を、サーバーサイドのエンジニアでなくとも自由にいくつでも立ち上げることができるようになります。 「環境」は AWS のECSクラスタ上で起動し、専用のURLが割り当てられ、 認証*1を通過すればどこからでもアクセスできます。 これにより 「クライアントアプリとつなぎ込んで動作確認したいけど、開発環境が空いてないから確認できない」 や、 「プロダクトオーナーに新機能を確認してもらいたいけど、開発環境が空いてないから(以下略)」 といった問題が解消し、 開発と動作確認のサイクルをスピーディーに回すことができるようになります。 mirage-e
SREチームの池田です。 今回はAmazon RedshiftのMERGE SQL commandがGAになりましたので、MERGE SQL commandの何が嬉しいのかを話をしたいと思います。 SRE連載 4月号になります。 aws.amazon.com 3行でまとめ RedshiftのMERGE SQL commandがGAになりました。 Bulk UpsertをSQL1文で実行できるものです。 以前と比べるとスッキリします。 複数のデータソースから算出されるレポートの更新に使うと嬉しい。 以前のRedshiftにおけるBulk Upsertについて ご存知かもしれませんが、『なかったらInsert、あったらUpdate』を通称Upsertといいます。 Redshiftにおける、Upsertのやり方ですがMERGE SQL commandが出る前のRedshiftでは以下のドキュメン
技術部の小池です。 この記事は 【前編】YAPC::Kyoto 2023 におみくじと紙絵馬のブースを出展しました の後編です。 お焚き上げ 前編の記事では以下のように書いていました。 みなさんの願いがこもった紙絵馬は鎌倉のオフィスにすべて持ち帰っており、神社で祈祷をする準備を進めております。本当は祈祷をしてから記事を書く予定でしたが、少々時間がかかりそうなので前後編の2つに分け後編の記事にて祈祷の様子をお送りしていきます。 残念ながら神社での祈祷は断念しましたが、関係者で相談し海岸で焚き火をしてセルフお焚き上げを行いましたので後編としてお届けします。 お焚き上げは登壇者の macopy を含む有志の社員で逗子海岸*1で行いました。みなさんが書いた紙絵馬、焚き火台、火消し壺、着火グッズ、薪を用意して逗子海岸に向かいます。 薪割りをして火の準備をする様子 無事に火がつきました 火がついたので
エンジニアはどれだけユーザーのことを理解する必要があるのでしょうか? 事業開発ではどんなエンジニアが活躍できるのでしょうか? はじめまして! KAYACのまちのコインチームでFlutterエンジニアをしている今城です。 せっせと機能開発や運用に励んでる毎日ですが、最近はユーザーインタビューもしています。 この記事ではエンジニアがユーザーインタビューするメリットについて触れていきます。 「まちのコイン」のユーザーインタビューは何をしているのか? ユーザーインタビューとは、ユーザーのニーズや課題を理解し、製品やサービスを改善するために行われる会話形式の調査手法です。 まちのコインチームでは以下のステップを行なっております。 インタビュー相手を探す。 アポを取る。メールで連絡しています。 当日、ヒアリングする。時間は30分程度です。 ヒアリング後、仲間と振り返りをする。これも30分程度です。 も
技術部の小池です。 カヤックが協賛した YAPC::Kyoto 2023 にゴールドスポンサーのブース運営スタッフとして参加してきました。 ブース テックカンファレンスにブースを出すのは久しぶりなのでコンテンツをどうするか悩みましたが、鎌倉で京都に挑むぞ!ということでおみくじと紙絵馬を用意することにしました。 おみくじは100枚ほど引いてもらい、絵馬は69枚ほど書いてもらいました。運勢大吉を引いた方も運勢 undef を引いた方も YAPC の思い出のひとつとなっていれば幸いです。会場でお会いしたみなさま、ありがとうございました! 大吉 と undef のおみくじ ほかにも 吉 中吉 小吉 がありました 大吉を引いて喜ぶ fujiwara の様子 #yapcjapan 身内なのに大吉引いてしまった pic.twitter.com/WS6u41WCry— fujiwara (@fujiwar
SREチームの藤原です。今回はAmazon ECSのサービス内のタスクを定期的に再起動することで、日々のメンテナンスコストを削減する話です。SRE連載 3月号になります。 3行でまとめ ECS Fargateのタスクは時々再起動が必要 人間が対応するのは面倒 Step Functionsを定期実行して常に新鮮なタスクに入れ換えて予防しよう ECS Fargateのタスクは時々再起動する必要がある ECS Fargateでサービスを運用していると、数ヶ月に一度ほどの頻度でこのようなお知らせがやってきます。 [要対応] サービス更新のお知らせ - AWS Fargate で実行されている Amazon ECS サービスの更新が必要です [Action Required] Service Update Notification - Your Amazon ECS Service Running
SREチーム(新卒)の市川恭佑です。 Google Cloud が主催するオンライン形式のイベント Innovators Live Japan につきまして、この度、3月9日(木)開催のウェビナー「実録!SRE」の1コーナーを担当することになりました。 cloudonair.withgoogle.com 最年少なのに何故かトリですが、たぶん特別な理由はないので、リラックスして当日を迎えたいと思っています。 発表概要 タイトルは「SRE の目的に立ち返った Infrastructure as Code の再考察」というものです。 イベントの紹介ページには書かれていない背景の補足も含めて、発表内容を軽く紹介いたします。 なぜ Infrastructure as Code の話? SRE 文脈で Infrastructure as Code(IaC)と聞くと「あくまでもツールの話だよね」という印
技術部の長田です。 3/19に京都リサーチパークにて開催されるYAPC::Kyoto 2023に、カヤックからも2名が登壇者として参加することになりました。 yapcjapan.org トーク内容をYAPC::Kyoto 2023公式サイトのタイムテーブルより引用して紹介します。 いずれも普段行っている業務から得られた知見の紹介となっておりますので、これを機にカヤックがどんなことをしているのかを技術的な面から知っていただければ幸いです。 デプロイ今昔物語 〜CGIからサーバーレスまで〜 https://yapcjapan.org/2023kyoto/timetable.html#talk-118 登壇者: macopy 場所: Scrapboxホール by Helpfeel 時間: 15:00〜 みなさま日々Webアプリケーションのデプロイにいそしんでいるかと思います。 デプロイの風景は数
SREチーム(新卒)の市川恭佑です。これはカヤックSRE連載の2月号です。 よく見ると投稿日が3月になっていますが、どちらかと言うと2月が28日までしかない方に問題があるので、大丈夫です。(何が?) ということで、2023年も滑り出し好調のカヤックSRE連載ですが、前回の記事ではCircleCIからGoogle CloudにOIDCでアクセスする方法について、 ちゃんと動く(はずの)ソースコードをサクッと紹介いたしました。 techblog.kayac.com さて、Google CloudとCircleCIをお使いの皆様、もうOIDC対応は完了しましたか? 安心してください。私のプロジェクトでも一部未完遂です。(おい) ということで今回は、前回紹介したソースコードを深掘りして解説します。 私と同じように、途中でなんか面倒になって一旦塩漬けにしたら正直忘れかけてる長い道のりの途中にいる皆様
こんにちは、ちいき資本主義事業部でフロントエンドエンジニアをしている片岡です。 この記事ではカヤックが開発している「まちのコイン」の管理ダッシュボードで、APIサーバからのデータ取得部分の改善したことについて紹介します。 まちのコインについては、以下のURLをご覧ください。 coin.machino.co 管理ダッシュボードについて dev環境のダッシュボードのスクリーンショット画像 管理ダッシュボードは、まちのコインが導入されている地域の運営団体の方が主に利用します。ダッシュボードには、統計情報の確認やお知らせの配信、まちのコインの体験を作成できる機能があります。 管理ダッシュボード開発の課題 ダッシュボードは、Next.js(React)で開発をしていて状態管理ライブラリはRecoilを採用しています。 ReactコンポーネントでAPIを叩いてデータ取得をする場合は、React Hoo
次のページ
このページを最初にブックマークしてみませんか?
『KAYAC engineers' blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く