サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ドラクエ3
engineer.crowdworks.jp
ようやく涼しくなってきましたね。もう少し漸進的に気温が下がってほしい。プロダクト開発部部長の塚本@hihats です。 前置き この二、三年くらいは個人的にシステム思考への傾倒があり、以前ここに書いた変化に適応するソフトウェアアーキテクチャと組織構造への道程も、Qiitaに書いたソシオテクニカルアーキテクチャ概要もその系譜の記事だった。今回は、エレガントパズルという書籍を読んでいて、そこかしこにドネラ・メドウズ公の話が出てくるので改めて私もシステム思考について記事を書こうと考えていた。 そんな折、他社のCTOと話す機会があってそこで「自社の開発組織や開発力にそこまで特別さを感じていないんですよね」という話を聞いた。実は過去にもそれはあって、自社のWebプロダクトで会社の利益を上げているにも関わらず、開発の責任者がそう思っているケースは少なくないのかもしれない。 一定の市場シェアを獲得してい
こんにちは、 @ttaka_66 です。 CROWDWORKSコンサルティングの業務効率化を目的とした自社システムを開発しています。自社システムではO/RマッパーにPrismaを利用しています。今回はスキーマ変更を伴うデータ移行を行ったので、それについて記載します。 背景 背景として、以前リンクスエージェントで利用していたシステムをCROWDWORKSコンサルティングで使えるように改修しています。 リンクスエージェントでは、クライアントとワーカーのマッチングを支援する事業であったため、クライアントとワーカーが1対1で対応する契約を結びます。 一方でCROWDWORKSコンサルティングでは、クライアントの経営課題解決を目的としたコンサルティング事業のため、クライアントとクラウドワークスが直接契約するケースがあります。また、課題解決にワーカーの方に支援いただくケースがあり、クライアントとワーカ
Aurora MySQL Zero ETL Integrations クラウドワークスのSREチームに所属しています@ciloholicです。 2023年11月にAurora MySQLとRedshiftのゼロETL統合がGAされました。この度、ゼロETL統合が本番導入可能かを検証する機会があったので、その検証結果を記載します。 aws.amazon.com 2024年7月時点での検証結果ですので、時間経過によって内容が変わっている可能性があります。その点は十分ご注意ください。 背景 まず、ゼロETL統合の検証しようと考えた背景について軽く説明したいと思います。クラウドワークスでは、MySQLのテーブルをDMS経由でRedshiftにニアリアルタイムで同期し、データ分析を行なっています。3年前は約30億レコードでしたが、現在では古いレコードの削減を行なったため、約25億レコードになりました
こんにちは、 @t0yohei です。 ruby.wasm は、Ruby のコードを Wasm に変換しブラウザー上で実行できるようにする技術です。 今回は、この ruby.wasm を使用してちょっとした web アプリを作成したので、そのことについて記載してみようと思います。 ※ この記事は、RubyKaigi 2024 のクラウドワークス社ブースにて展示するクイズアプリの解説記事です。 目次 目次 作ったもの クイズアプリの解説 大まかな仕組み 使わせてもらったライブラリ i18n 対応 問題について デプロイ先 難しかったこと タイマーの部分の実装 Ruby のコード規約、JavaScript のコード規約の使い分け サンプルコード探し 感想 作ったもの Ruby に関するクイズを出題して、それに答えてもらうクイズアプリを作成しました。 RubyKaigi でのクラウドワークス社ブ
こんにちは、 @t0yohei です。 先日、crowdworks.jpで使用されているヘッダーのリプレイスを行いました。 ヘッダーのデザインを改善し、より使いやすくなりました! – クラウドワークス お知らせブログ このリプレイスでは、ユーザビリティやアクセシビリティの向上を目指すと同時に、技術的負債の解消や新しい画面レイアウトの下準備といった意図もありました。 このブログでは、今回のヘッダーリプレイスで直面した課題やポイントを共有したいと思います。 ヘッダーの改修や多くの画面に適用されているUIパーツのリプレイスに取り組む方にとって参考になれば嬉しいです。 バリエーションの把握と、採用パターンの選択 サービス全体に反映されているヘッダーをリプレイスするには、まずどのようなバリエーションが現在存在しているのかを知る必要があります。 時には特定画面に向けてカスタマイズされたヘッダーもあった
こんにちは。crowdworks.jp SREチームの田中です。 最近じわじわと円安が進み、AWSの料金が気になるこの頃です。 今回はAWS Configで急に料金が増加した件と、その対応についてご紹介します。 朝、AWS Cost Anomaly Detection(AWSコスト異常検知)からお知らせが来てました。 AWS Configが増えてるAWS Cost anomaly summary 4/18からAWS Configで1日あたり約10USDの増加。結構なお値段ですね。 参考までに、AWS ConfigはAWSリソースの設定を監視、評価、監査し、設定変更を追跡するためのサービスです。 調査 AWS Configの配信先 AWS Configで何もわからなかったので、まずはAWSの記事を参考に配信先のS3をAthenaでクエリし、該当日でリソースタイプ・リソースごとのレコード件数を
こんにちは。エンジニアの砂川です。 2023年10月頃にGoogle・Yahoo!から新しいメール送信者ガイドラインが出されました。 該当するメール送信者は、ガイドラインに沿っているか確認をし、沿っていない場合は対応する必要があります。 blog.google support.google.com 対応完了しきった皆様、お疲れ様でした。 絶賛対応中の方々、頑張っていきましょう。 ところで皆さんGmailのPostmaster Toolsの迷惑メール率の監視はいかがでしょうか? クラウドワークスではGmailガイドラインで定めているPostmaster Toolsの迷惑メール率を監視し、閾値を超えるとアラートを通知するような仕組みを作り、運用をしています。 この記事では、その仕組みをご紹介します。 なぜ作ったのか 定期的にPostmaster Toolsにログインして監視するのが面倒 (サブ
1年をふりかえる 年の瀬ご多端の折、皆様におかれましては本年も大変お世話になりました。crowdworks.jpの開発をしているプロダクト開発部部長の@hihatsです。 本記事はクラウドワークスAdvent Calendar 2023 シリーズ2の25日目の記事です。 今回は、プロダクト開発部として今年取り組んできたことと、その中での気づき、「Think Like a CTO」という書籍の話にも触れていきます。 今年やってきたこと 技術的負債解消への取り組み 昨年のアドベントカレンダーでも書きましたが、2023年も技術的負債の解消に取り組んで参りました。 結果としては、フロントエンドでの注力の割合が大きかった一年でした。詳しくは@okuto_oyamaさんの1日目の記事をご覧ください。 記事にもありますが、Vue.js化をフロントエンドを触る全チームが行える体制に整えることで加速させてい
この記事は クラウドワークス Advent Calendar 2023 シリーズ2 の 14日目の記事です。 こんにちは。crowdworks.jp SRE チームの田中(@kangaechu)です。 この記事を読んでいる方はGoogle/Yahoo.comから出されたメール送信者のガイドライン対応を絶賛対応中かと思います。 support.google.com support.google.com Postmaster @ Yahoo & AOL — More Secure, Less Spam: Enforcing Email Standards... みなさん、DNSにDMARCの設定を追加しましたか? ひとまずDMARCで設定したレポート送信先メールアドレスに大量のレポートが届いているものの、次になにしたらいいんだろう?と思っている方も多いかと思います。 DMARCレポートを解析し
この記事は クラウドワークス Advent Calendar 2023 シリーズ2 の 7日目の記事です。 こんにちは。crowdworks.jp SRE チームの田中(@kangaechu)です。 2023年は生成AI、特にLLM(大規模言語モデル)が盛り上がりを見せた年でした。皆さんもChatGPTやGitHub Copilotなどにより、その恩恵にあずかった1年だったかと思います。 自分も流行りに乗り、OpenAIのAPIを使用してチャットボットを作りましたが、うまくいかなかったためお蔵入りしました。 今回はその供養のため、どのようなことをやったかを書き残そうかと思います。 背景 LLM (大規模言語モデル) LLMブームの始まりは2022年11月30日にOpenAIがリリースしたChatGPTでした。 openai.com ChatGPTは大量のテキストデータを用いて訓練された事前
この記事は クラウドワークス Advent Calendar 2023 シリーズ1 6日目の記事です。 こんにちは。crowdworks.jp SRE チームの田中(@kangaechu)です。 この記事では crowdworks.jp の SRE チームが2023年にやったことを記載していきます。 やっていることは色々で、まとまりはありませんが、そこら辺はご容赦ください。 2022年の振り返り 2023年にやったこと CircleCI インシデント対応 RundeckのECS化 Railsで使用しているMemcachedをRedisに寄せる 課題 1. Memcachedでは停止時にデータが揮発する 2. Memcached単体ではマルチAZ構成でデータのレプリケーションができない 3. Memcached/Redisともにバージョンアップをしていない 4. MemcachedとRedi
この記事は クラウドワークス Advent Calendar 2023 シリーズ2 2日目の記事です。 こんにちは。crowdworks.jp SRE チーム 田中(@kangaechu)です。 年末といえば大掃除ですね。 皆さんのデータベースにも使っていないインデックスが溜まっていませんか? お掃除してきれいな新年を迎えましょう。 手順 1. MySQLで使っていないインデックスの一覧を取得 未使用のインデックスは sys.unused_indexes ビューで確認できます。 dev.mysql.com しかし、このビューの元データである performance_schema テーブルは起動時から終了時までのデータしか保持していません。 Tables in the Performance Schema are in-memory tables that use no persistent
この記事はクラウドワークス Advent Calendar 2023 シリーズ 1の1日目の記事です。 クラウドソーシングサービス「クラウドワークス」(以下 crowdworks.jp )にてエンジニアをしております、フロントエンドの可能性をしつこく信じ続ける@okuto_oyamaです。 一昨年・去年と引き続き、今年もアドベントカレンダー初日の盛り上げ手としてやっていきます。よろしくお願いします。 フロントエンド活動の振り返りをしてみよう 一昨年・去年もフロントエンド活動の振り返りをしてみましたが、今年もやっていきます。 qiita.com engineer.crowdworks.jp 全体総括編 まずは crowdworks.jp の全体のフロントエンド活動を総括していきます。 erbのVue.js化活動が拡大 昨年から続けているフロントエンドとバックエンドの分離作業についてお話ししま
こんにちは。crowdworks.jp SREチームの田中(kangaechu)です。 crowdworks.jpでは、2023年8月にAWS RDS MySQL 5.7から8.0へのアップデートが完了しました(ようやく!)。 今回はMySQL 8.0へのアップデートの手順と対応が必要な変更点について書いていきます。 MySQL 8.0にアップデートした理由 MySQL 8.0にアップデートした理由はAWS RDS MySQLのEOL対応のためです。 AWS RDS MySQL 5.7のEOLは2023年10月(のちに2023年12月に変更されました)であり、8.0へのアップデートが必要でした。 crowdworks.jpで使用している他のMySQLデータベースは8.0へのバージョンアップを完了していました。 しかしcrowdworks.jpのマスタデータベースは30億行を保持し、1日に約
crowdworks.jpでEMをしている久村です。 2023年5月より1つのチームのスクラムマスターをすることになりました。 私は開発者としてスクラムの経験はありましたが、スクラムマスターの経験はなかったです。 この記事では、直近チームで改善したことの内容と、そこからの学びを記事にしようと思います。 チーム説明 私がスクラムマスターとして関わっているチームは以下です。 エンジニアメンバーの異動・退職があり人数が減少し、プロダクトオーナー(PO)もメインとサブ(入社年次が浅い)で2名いましたが、サブの方が独り立ちしてメインで担当されるように変更になりました。 そのタイミングでスクラムマスターとして私がメンバーに加わりました。 メンバー変更した当初の状況としては、1週間のスプリント期間で以下のスクラムイベントは実施しておりました。 デイリースクラム リファインメント レトロスペクティブ プラ
はじめに Terraform職人の@minamijoyoです。先日、tfupdateが.terraform.lock.hclの更新に対応しました。v0.7.0から tfupdate lock というコマンドが追加されています。 github.com 例えば、あるディレクトリ配下のすべてのAWSプロバイダを指定バージョンに更新しつつ、複数プラットフォーム混在で使う.terraform.lock.hclもまとめて一括更新するには、以下のようなコマンドで簡単にできるようになりました。 $ tfupdate provider aws -v 5.7.0 -r ./ $ tfupdate lock --platform=linux_amd64 \ --platform=darwin_amd64 \ --platform=darwin_arm64 \ -r ./ 内部的にterraformコマンドには依
こんにちは。crowdworks.jp SREチームの田中(kangaechu)です。先日RubyKaigi2023に参加するため、松本に行きました。街を歩いていると目線の先に山が見えたり、温泉が近くにあったりなど松本の自然が近くにある感じがとてもよかったです。ちょっと住みたくなって不動産屋さんで家賃を眺めたりしておりました。 今回は小ネタとして、AWSのCloudWatchの料金が高くなったことで見つけたCloudTrailの設定についてです。 あなたのCloudWatch LogsとCloudTrailの料金、高くないですか? 先日、AWSのコスト異常検知サービスのCost Anomaly Detection からCloudWatchとCloudTrailのコストが跳ね上がっているとの通知が来ました。 Cost Anomaly Detectionで通知されたCloudWatchとClo
RundeckをFargate化してデプロイを自動化しました 久方ぶりです。crowdworks.jpのSREチームに所属しています @ciloholic です。 この記事では、半年ほど行なっていた「RundeckのECS on Fargate化」の取り組みを紹介していきます。 まず、Rundeckとは PagerDuty社が提供するOSSのジョブ管理ソフトウェアです。OSS版の「Rundeck Community」とEnterprise版の「PagerDuty Process Automation」が存在し、ジョブのスケジュール実行や処理失敗時の自動リトライ、処理の開始/終了/成功/失敗に対して通知フックが設定できます。SSH経由でもコマンドが実行できるため、複数サーバに渡ってジョブ実行が可能です。 なぜ、RundeckをFargate化したのか crowdworks.jpでは、2017
初めまして。crowdworks.jpのSREチームに所属しています @ciloholic です。 入社してかれこれ1年経ちますが、筆を執る機会がなかったため、今回が初エンジニアブログとなります。 この記事では、入社して3か月ほど行なっていた「AWS Lambda周りのメンテナンスコスト削減」の取り組みを紹介していきます。 背景 crowdworks.jpでは、多くのエンジニアがさまざまなGitHubリポジトリに色々な言語でLambdaを活用してきました。GitHubリポジトリは30個以上、使用言語はNode.js / Ruby / Goとさまざま、CI/CDもCircleCI / GitHub Actionsとバラバラです。 SREチームでは、定期的に各種言語のEOL対応やライブラリのアップデート作業を行なっているのですが、GitHubリポジトリもそれぞれ異なる、使用言語もCI/CDもバ
こんにちは、crowdworks.jp のデザインシステム構築に携わっているエンジニアの @t0yohei です。最近は日々デザインシステム難しいいいいと思いながらあれやこれやと考えているのですが、開発者の観点から何が難しいと思うのかをせっかくなので共有したいと思います。 デザイナーの観点からのデザインシステム構築については、一緒にやっているデザイナーさんがブログを投稿していました。よろしければ合わせてどうぞ。 デザインシステムを導入する為にやって良かったこと5選|YUCCA|note 余談ですが、デザインシステムに関わるエンジニアって何エンジニアなのでしょうか?デザインエンジニア?フロントエンドエンジニア? 自分はデザインをしないし(できないし)、元々は Rails エンジニアだったのでフロントエンド専門というわけでもなく、一体何者なんだろう...?と日々迷走しています。自分が何者かはわ
年の瀬ご多端の折、皆様におかれましては本年も大変お世話になりました。crowdworks.jpの開発をしているプロダクト開発部部長兼VPoEの@hihats です。 本記事はクラウドワークスAdvent Calendar 2022 24日目の記事です。 我々の組織ではこれまでも技術的負債解消に取り組んできていましたが、今期(10月)よりさらに人と時間をそこに集中しています。これまでこのブログでも紹介されてきたようにRuby on Railsのモノリスとなっているcrowdworks.jpにおいて、フロントエンドのVue.jsへの移行は今年に入ってから着々と進む中、バックエンドのほうは保守性の低下からどう脱却していくかが手付かずに近い状態でした。 この本丸を攻略するにあたって、闇雲にリファクタリングしていくぞ!では到底うまくいきそうにない。まず「何故やるのか、何をゴールとするのか」の意識あわ
こんにちは。crowdworks.jp における技術的負債の解消をリードするジャンヌチームです。 12 月ということでアドベントカレンダーの時期ですね。今年も弊社で開催しており、合計 25 名が参加して盛り上げております。 qiita.com ジャンヌチームからは @okuto_oyama が今年のフロントエンド活動の振り返りをしていました。 engineer.crowdworks.jp その中の1つに「Webpacker から Simpacker + webpack 構成へ」というものがあり、今回はそれに関する取り組みを紹介していきます。 Webpacker とは Webpacker は Rails アプリケーションにおける webpack でのフロントエンド開発をするときに用いる公式ライブラリです。このライブラリの利点として webpack のビルドシステムに詳しくなくとも汎用的な設定
この記事は クラウドワークス Advent Calendar 2022 の 2日目の記事です。 こんにちは。crowdworks.jp の SRE チームに所属している高橋です。 この記事では crowdworks.jp の SRE チームが2022年にやったことを記載していきます。やっていることは色々で、まとまりはありませんが、そこら辺はご容赦ください。 目次 2021年のふりかえり 2022年にやったこと crowdworks.jp の SRE チームメンバーが執筆したエンジニアブログ(再掲) スロークエリ改善 バージョンアップ祭り GitHub Actions と CircleCI の OIDC 対応(AWS アクセスキー廃止) Lambda のデプロイツールを lambroll に変更 ドキュメント運用の設計支援 さよなら sider.review いままでありがとう まとめ 20
この記事は クラウドワークス Advent Calendar 2022 の1日目の記事です。 クラウドソーシングサービス「クラウドワークス」(以下 crowdworks.jp)にてエンジニアをしております、フロントエンドの可能性をしつこく信じ続ける @okuto_oyama です。 一昨年・去年と引き続き、今年もアドベントカレンダー初日の盛り上げ手としてやっていきます。よろしくお願いします。 フロントエンド活動の振り返りをしてみよう 一昨年・去年もフロントエンド活動の振り返りをしてみましたが、今年もやっていきます。 qiita.com engineer.crowdworks.jp 去年と変わらず crowdworks.jp にはフロントエンド専属チームというものは存在しておりません。ですが、今年は去年よりも重要なフロントエンドにまつわる活動をしてこれたと思っています。 それでは、ご覧くださ
序文 こんにちは、私達は「かけたくないコストを削減し、クラウドワークスをスケールさせる環境をつくる」ことを目的としているチームです。 今回は半年以上かけてやってきた施策である「決済機関上への返金」の仕組みの導入とそれに伴うDBテーブルの段階的な切り替えについて効果や工夫した点など紹介します。 なぜ「決済機関上への返金」を導入したか 今までクラウドワークスではユーザーからお支払いいただいたお金を返金する場合、クレジットカード等の決済機関経由の支払いの返金も、ユーザーの銀行口座に対してクラウドワークスから出金していました。 このような仕組みだと、決済機関経由で支払ったユーザーが返金を受け取りたい場合、出金の申請を行う必要があるという課題がありました。 この課題を解決するために、「決済機関上への返金」の仕組みの導入施策に取り組みました。 (具体例:「クレジットカードで支払ったお金は、クレジットカ
こんにちは。crowdworks.jp SREチームの@kangaechuです。 先日開催されたイベント HashiTalks: Japanを見ていましたが、Terraformのドリフト検出に関する発表が多く、Terraform運用において重要なポイントなんだなと感じました。 流行りに乗ったわけではないですが、今回はTerraformのドリフト検出をAtlantisで行った方法をご紹介します。 この記事は以下環境で検証しています。 Atlantis: 0.19.8 Terraform: 1.2.8 ドリフト検出 Terraformはインフラストラクチャを安全かつ期待通りに構築するために使用する、Infrastructure as Codeのソフトウェアです。 crowdworks.jpではAWS、GitHub、GCPの管理をTerraformで行っていますが、今回はAWSに絞って話します。
はじめに SREチームの @bayashi_ok です。 今回はクラウドワークスで運営しているWordPressサイトを静的ホスティングサービスであるShifterへ移行した話を書きます。 Shifterについて www.getshifter.io 特徴は公式リンクに詳しく書かれていますが、内部の仕組みとしては DockerでWordPressを更新時に起動 WordPressのコンテンツを静的HTMLに変換しS3に配置 CDN(CloudFront)からコンテンツを配信 となっており、 フロントエンドでは、WordPressを直接公開しなくなるのでWordPress本体やプラグインの脆弱性を気にすることなく運用できる バックエンドでは、必要な時のみDockerでWordPressを起動するため、セキュリティリスクが低減される と運用上かなり助かる仕組みだなと感じました。 speakerd
CoffeeScript 辞めました はじめに こんにちは、CrowdWorks のジャンヌチームのエンジニア bugfire です。 CrowdWorks は歴史のあるサービスで CoffeeScript が利用されている箇所が大量にあります。 具体的には411ファイルありました。1 いまとなっては CoffeeScript を利用したコードを新たに書くことも少なくなり、改善するときに TypeScript で書き直されることも多くなってきました。しかし、個別に変換すると時間が掛かってしまうため、まとめて機械的に変換することにしました! 3行まとめ CoffeeScript より TypeScript の方に記述を移していきたい。 利用している Sprockets の CoffeeScript 変換コードを借用して全ファイルを変換しました。 確認は変換前後の出力 JavaScript コ
はじめに SREチームの @minamijoyo です。趣味のTerraformで遊んでいたら、先日HashiCorpさんから「Core Contributor to HashiCorp Terraform for 2022」という名の、がんばったで賞をもらいました。対戦よろしくおねがいします。 HashiCorpさんから「Core Contributor to HashiCorp Terraform for 2022」に選ばれました。わーい。https://t.co/qMzV3d2eOc 写真は頂いたTerraformマグカップです。ありがとうございます。家宝にします。最近やってることの近況などを書いた。https://t.co/6u63Bm5urZ pic.twitter.com/GDbiD6Evzf— 城陽人 (@minamijoyo) 2022年4月11日 crowdworks.j
次のページ
このページを最初にブックマークしてみませんか?
『クラウドワークス エンジニアブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く