サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
WWDC23
engineer.crowdworks.jp
こんにちは。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 にはフロントエンド専属チームというものは存在しておりません。ですが、今年は去年よりも重要なフロントエンドにまつわる活動をしてこれたと思っています。 それでは、ご覧くださ
こんにちは。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
「HTMLの前提についてはざっと知った、ステップアップできるHTMLの勉強がしたい」「人に勧められるHTMLにまつわる書籍はあるだろうか」「令和でHTMLを学ぶならこの1冊、というものがほしい」―――そうした人々のニーズを叶えてくれる書籍が販売された。 その名も「HTML解体新書」だ。 本ブログ記事は、レビュアーとして関わり本書を読んだ@okuto_oyamaによる感想と、HTMLのこれからについて考えていることをまとめたものである。 本の内容については、著者によるブログ記事にまとまってあるのでそちらを参考にしてもらいたい。 creators.bengo4.com まだまだHTMLについて知らないことがあった 私がHTMLについて始めて触れたのは、とあるブログサービスのHTML編集機能からだ。その頃は HTMLの仕様というものを知る由もなく、どういったタグを使うと画面上にどのように表示され
こんにちは。SREチームの田中 (@kangaechu)です。リモートワークで座ってばかりの生活に危機感を感じ、昨年11月頃からランニングを始めました。最初は1キロ走っただけでヒイヒイ言っていたのですが、最近は10キロくらい走れるようになりました。運動は嫌いな方だったのですが、走るのが楽しいと思えるようになったのが一番の収穫かなと思っています。 今回はALB(Application Load Balancer)のログ検索について紹介します。 3行で説明するよ AWSの公式ドキュメントの通りAthenaの設定をするとALBの過去ログが検索できない 正規表現をいい感じにすることで過去ログも検索できるようになった Athenaのテーブル作成、Terraformでできるよ crowdworks.jpのシステムログ検索: Athena システムのイベントを適宜記録し、利用状況の把握や障害時の調査、シ
はじめに こんにちは、ジャンヌチームです。 前回のVue3 移行記事に引き続き、フロントエンド周辺の改善をおこなっています。 今回は開発体験の向上を目的とした、 VRT の導入の記録となる記事になります。 VRT について VRT とは Visual Regression Testing のことで、画像による回帰テスト、つまり画像の変更をテストするものです。 クラウドワークスでは Vue3 移行に伴い、ほぼ全ての Vue.js コンポーネントで Storybook を定義しています。 この Storybook 定義を用いて、Storyshot による DOM レベルの自動回帰テストを行っています。 しかし CSS の変更におけるビジュアルテストは担保できていなかったため、VRT を導入することにしました。 VRT 調査対象 VRT を導入するにあたり、どのツールを用いるとよいか調査をしてみ
Vue.js ロゴ画像提供 : https://github.com/vuejs/art はじめに こんにちは、クラウドワークス ジャンヌチームの@bugfire、@okuto_oyama、@yizknnです。 ジャンヌチームはクラウドワークスの負債を管理下に置くことがミッションのチームです。 問題の大きさに合わせて、直接解決する場合や、他チームと連動したりこちらから依頼することもあります。 弊社のアドベントカレンダー「crowdworks.jp のフロントエンド活動を振り返る 2021」の記事で触れていた Vue 3 移行が完了したので、その報告になります。 Save the date: Vue 3 is becoming the new default version on Monday Feb 7, 2022.https://t.co/ub8L4KhPsJ— Vue.js (@vue
この記事は クラウドワークス Advent Calendar 2021 の18日目の記事です。 こんにちは。crowdworks.jp で、市場投入までの時間短縮を目指して日々改善活動をしている @ryogift です。最近はCIのテスト実行時間改善に取り組んでいますので、その際に調査した内容を紹介します。 はじめに CI(continuous integration)とは、自動でアプリケーションのビルドとテストを行うDevOpsソフトウェア開発の手法です。CIの目的は、バグを早期に発見して対処することやソフトウェアの品質を高めること、そしてソフトウェアの更新を検証してリリースするためにかかる時間を短縮することが挙げられます。 crowdworks.jpでは、CIツールにCircleCIのクラウド版を利用しており、テスティングフレームワークにはRSpecを利用しています。そのため、本記事で
この記事は クラウドワークス Advent Calendar 2021 の 11日目の記事です。 こんにちは。SREチームの@kangaechuです。 この記事ではSREチームが2021年に実施したことをまとめました。やっていることは色々で、まとまりはないですが、そこら辺はご容赦ください。 2020年の振り返り 去年までにどのようなことをしてきたかはこの記事を参照ください。 engineer.crowdworks.jp 【あらすじ】 crowdworks.jpでは2012年のサービス開始から約9年が経過していた。サービス開始当初はさくらインターネットのVPSだったが、その後AWSに移行。インフラの継続的な改善は行なっていたが、サービスの成長や技術の進化に伴い、インフラ構成のモダナイズは喫緊の課題であった。2020年までに、SREチームではアプリケーションサーバのDocker化を進めたり、C
こんにちは、crowdworks.jpのRubyバージョンアップを担当した高橋です。 クラウドワークスは、RubyKaigi Takeout 2021のPlatinum Sponsorとして参加しており、crowdworks.jpのメインプログラミング言語であるRubyを応援しています。 RubyKaigi Takeout 2021 クラウドワークスCM 今回の記事では、crowdworks.jpの開発から10年目を迎え、そこそこ巨大なモノリシックアーキテクチャで構成されたRailsアプリケーションのRuby2.6から2.7へのバージョンアップ、およびRuby2.7から3.0へのバージョンアップ事例を紹介します。 Rubyバージョンアップの経緯 アプリケーションを長く運用していると各種ソフトウェアのバージョンが古くなります。定期的に変更差分の少ない段階でバージョンアップを繰り返さないとバー
こんにちは、こんにちは。フロントエンドとWebの可能性を信じる@yamanokuです。 最近気になっている W3C Working Draft はCSS Nesting Moduleです。*1 現在クラウドワークスのプロダクトで導入されているフロントエンドのlintツールはeslint、stylelintで、これらの規約に違反しているコードはCIによるチェックを通じて指摘されるようになってます。 今回このlintツールの中に新たに「markuplint」を追加した話をしようと思います。 markuplintについて 詳細については公式のリポジトリや作者による紹介(YouTube動画)を見ていただくのが一番なので、ここでは軽い紹介に留めます。 その名の通り「マークアップすること」に関するlintツールで、各種ルールについても柔軟に設定できるようになっています。 かつてフロントエンドチームでア
こんにちは!クラウドワークスで引き続きフロントエンドとWebの可能性を模索し続けている @yamanoku です。 最近の取り組みとして、この度「デザイン基盤整理」という有志活動の中でログインページを刷新しました。 Before After 以前はPC・モバイル画面それぞれ定義されていましたが、今回の改修でレスポンシブ対応したモバイルファーストな改修になりましたね。 今回はその刷新した取り組み・内容についてをフロントエンドの観点から紹介してみようと思います。 8/25 更新:デザイナーブログも公開されましたのでこちらも合わせてご覧ください。 note.com デザイン基盤整理とは ユーザーに価値を提供するために日々デザイン・開発をしていますがプロダクトが大きくなるにつれて以下の問題点が生じてきます。 何の意図をもってデザインされたものなのかわからない 複雑な実装になっているため変更提案がで
概要 こんにちは。クラウドワークス SREチームの@kangaechuです。最近好きなラジオ番組は空気階段の踊り場です。 企業にとってデータは非常に重要です。さまざまなデータを組み合わせて分析を行うことにより、ユーザをより深く知ることができ、それによりサービスやビジネスモデルを継続的に変革することが可能になります。 クラウドワークスでも同様に、施策やマーケティング、新サービスの開発など、さまざまな取り組みの源泉としてデータを活用しています。 crowdworks.jpではマスタデータベースにAWS RDSで稼働するMySQLを使用し、分析系のデータベースにはAmazon Redshiftを使用しています。Redshiftに同期されたテーブルは約270テーブル、レコードにして約30億件あり、1か月に1.5億件のレコードが同期されています。 今回はMySQLからRedshiftへの同期の仕組み
こんにちは! クラウドワークスの新規事業開発チームでプロダクトマネージャー(以下、PdM)を担当している八尾です。 クラウドワークスでは、新規SaaSプロダクトを目下開発中です。 プロダクトの中身はまだ詳しく言えないのですが、新規事業の考え方などはこちらの記事をぜひご覧ください。 現在開発中のプロダクトでは初期からドメイン駆動設計(以下、DDD)の思想を取り入れて設計をしています。 DDDは、端的にいうと、ドメインモデルを中核に据えて設計しようということだと理解しています。 (参照:Webアプリケーションフレームワーク導入時に考慮すべき22の観点 - Qiita) この記事では、なぜ初期の小さな規模のプロダクトでDDDを取り入れる意思決定をしたか、取り入れてみてどういう効果が得られたかについて、非開発者のPdM視点で書いてみようと思います。 (開発者視点でどうだったかは後々また公開する予定
こんにちは、脆弱性対応チームの石川です。7/9(金)で最終出社です。 突然ですがバグバウンティって知っていますか?脆弱性・バグを報告することで企業や団体から報奨金が貰える制度のことです。ここで誤解の無いように述べておきますが、手当り次第どのサイトでも脆弱性を探して良いわけではありません。あくまでも脆弱性の報告を受け付けていると公言している企業に限りますし、企業によって許可されている操作、その他条件が異なります。 前置きはこのくらいにして、今回は私がHackerOneでRailsの脆弱性を報告して報奨金を貰った話を紹介します。 HackerOneとは HackerOneはバグバウンティのプラットフォームです。企業や団体はここに登録をし、脆弱性の報告を受け付けます。そして報告された脆弱性が妥当な内容であれば報告者には報酬が支払われます。個人としての登録は無料ですので気軽に登録してみてください。
はじめに 初めまして、クラウドワークスの新規事業エンジニアのせきと申します。2019年9月に新規事業クラウドリンクス(CrowdLinks)の開発チームにジョインし、サービスの立ち上げ段階から参画してきました。 現在クラウドリンクスは「Nuxt.js × Spring Boot(Kotlin)」という構成でサービスを運営しています。 この記事では、クラウドリンクスの技術選定の経緯と感想を紹介したいと思います。 新規事業の技術選定に興味がある、または今まさに技術選定をしている方 ドメイン駆動設計などの設計思想に興味を持つ方 新規事業の開発に関わっている方、または関わりたいと思っている方 こんな方々のご参考になれば嬉しいです! 目次 背景 移行後のアプリケーションの技術選定 「1. ドメイン駆動設計(DDD)」の採用理由 「2. モジュラモノリス」の採用理由 「3. CQRS」の採用理由 「4
こんにちは、SREチームの @bayashi_ok です。 今回はクラウドワークスで週1回ペースで実施している「週刊ポストモーテム」の取り組みをご紹介していきます。 ポストモーテムとは 週刊ポストモーテムとは 復刻:週刊ポストモーテム 障害対応した人もしくはそのチームの人が発表 障害がなくても開催 ゆるく開催 継続して開催していくメリット みんなの交流の場にもなる 課題を見つけ、なにかをはじめるきっかけになる 他部門の人に知ってもらえる 監視ツールの使い方や見方がわかる 今後の課題 ファシリテーションのローテーション 他部門の人も発表してもらえるようにする 時間帯が合わない ファシリテーションスキルをあげる 最後に ポストモーテムとは まずポストモーテムという単語について少し説明します。 ポストモーテムの意味は各分野でも変わっており、医学の世界では「検死」、プロジェクトマネジメントの世界で
はじめに クラウドワークスでは、ユーザーのみなさまに快適なサービスをより提供しやすくするために、Internet Explorer(以下IE)を推奨利用環境から外す予定です。 クラウドワークス 〜お知らせブログ〜 Internet Explorer 11を推奨利用環境の対象外といたします IEをお使いのお客さまにはご不便をおかけしますが、Microsoft Edgeなどの別ブラウザへのご移行をお願いさせていただくことになります。 今回のエンジニアブログでは、なぜIEを推奨環境から外すのかをエンジニア観点でお話させていただこうと思います。 なぜIEを推奨環境から外すのか 今回この決断をしたのは以下の2つの理由からです。 Microsoft社は積極的にEdgeへの移行を促しています Microsoft 365 アプリの Internet Explorer 11 のサポート終了と Windows
これは クラウドワークス アドベントカレンダー 24日目の記事です。前日は 畑中 さんの制作会社出身のデザイナーが事業会社に入って感じた5つの悩み事でした。事業会社とデザイン制作会社の違いから生まれる悩みをどう解決したかが伝わる記事でした。 クラウドワークスSREチームの @kangaechu です。最近はM1 Macを購入しました。M1 Macはアプリケーションの対応状況がまだまだなので、Goをソースからクロスコンパイルするなど、今までやったことがないことができてちょっと楽しいです。でももう少しネイティブのアプリが揃うと嬉しいな。 アドベントカレンダーはSREチームに入ってからの2年間にチームでやってきたことに続き、2つめのエントリとなります。前回の記事で、Docker化したシステムの一つとしてfluentd(ログ基盤)を挙げました。ここではそのログ基盤についての詳細を書いていきます。
この記事はクラウドワークス アドベントカレンダー13日目の記事です。 はじめまして、プロダクト開発部にて、crowdworks.jpのプロダクトマネジメントを担当している西村(通称チャンタマ)です。 突然ですが皆さんのサービスでは、KPIをどのように定めていますか? 一般的には、事業部全体の売上目標から因数分解して、特定の指標(会員登録数・継続率など)をKPIとしておくことが多いかと思います。 crowdworks.jpの開発チームでも、長らくそのようなKPIの立て方をしていました。 しかしながらサービスの特性や組織設計も関係して、様々な弊害が生じるようになりKPIの立て方を見直す必要性を感じるようになりました。 したがって今期からは、サービスの「成長モデル」を定義し、サービスが抱える様々な問題に対してどのように優先度をつけていくか、その開発スタイルも考え直してみました。 今回は成長モデル
次のページ
このページを最初にブックマークしてみませんか?
『クラウドワークス エンジニアブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く