タグ

ブックマーク / engineer.crowdworks.jp (11)

  • コンテナフレンドリーではなかったRailsアプリケーションをDocker(ECS)に移行するまでの戦い - クラウドワークス エンジニアブログ

    はじめに SREチームの @minamijoyo です。 先日 CrowdWorks (crowdworks.jp) の番環境のRailsアプリケーションを Docker (AWS ECS: Elastic Container Service) に移行しました。 CrowdWorksは2012年にサービスを開始し、2019年10月現在、ユーザ数は300万人、月間で数億円規模のお仕事がやりとりされる、国内最大級のクラウドソーシングプラットフォームにまで成長しました。 サービスの規模拡大に合わせて、ソースコードも数十万行規模に成長し、 決して小さくはない規模のRailsアプリケーションに成長しました。 CrowdWorksの開発環境にDockerが導入されたのはもうかれこれ3年半前の2016年の4月頃、2017年1月頃にはCrowdWorks体から切り出された一部の機能で番環境に投入され

    コンテナフレンドリーではなかったRailsアプリケーションをDocker(ECS)に移行するまでの戦い - クラウドワークス エンジニアブログ
  • crowdworks.jpのエンジニアリング戦略(2019年6月現在) - クラウドワークス エンジニアブログ

    最近は人事のほうにも片足突っ込んでおりエキサイティングな日々を送っております飯田です。 今回は現在のcrowdworks.jpのエンジニアリング戦略についてお伝えできればと思います。 状況の整理 これまでの中長期戦略の反省 中長期の技術投資のための専任チームの発足 フロントエンドチーム(チーム名: トリュフ) リファクタリングチーム(チーム名: バグハンター) 継続的バーションアップの浸透 今後の組織戦略 エンジニアの役割定義 今期エンジニアリング部の目標 個人的なこと We Are Hiring 状況の整理 crowdworks.jpはサービスインから7年が経過し、モノリシックなRailsアプリケーションのコードは30万行を超える規模感に成長しています。 一方で、コード行数の増加量はここ最近の傾向としては鈍化しており、ファイル変更数の推移も低下の傾向となっています。以前から巨大なクラス

    crowdworks.jpのエンジニアリング戦略(2019年6月現在) - クラウドワークス エンジニアブログ
    delimiter
    delimiter 2019/06/12
  • メンテ不能になったフロントエンド環境を立て直す話 - クラウドワークス エンジニアブログ

    エンジニアの @suusan2go です。2017年の10月まではクラウドワークスに社員として参画していましたが、現在はフリーランスエンジニアとして、主にフロントエンド環境の改善・支援を行ったり、ちょっとだけRailsのアップグレードを手伝ったりしています。 Railsのアップグレードを手伝っている様子 Sprocketsを2=>3にあげると数倍メモリ消費増えるのなんなんだろな— すーさん二号 次に夜飲みにいけるのは8月ごろになります (@suusan2go) 2019年5月7日 Sprocketsがメモリを大量に消費する問題、結局よくわからんかったので、馬鹿でかいjsを生成する js.erb をなんとかした— すーさん二号 次に夜飲みにいけるのは8月ごろになります (@suusan2go) 2019年5月17日 今回は、わかるエンジニアがいなくなり無人化してしまいメンテナンス不能になっ

    メンテ不能になったフロントエンド環境を立て直す話 - クラウドワークス エンジニアブログ
  • 2018年マネジメント振り返り - クラウドワークス エンジニアブログ

    この記事は、クラウドワークス Advent Calendar 2018の10日目です。 こんにちは、プロダクトDiv. エンジニアリング部 部長の飯田です。 エンジニア組織のマネジメントは4月からやらせていただいているのですが、この記事ではこのマネジメント観点から激動の2018年を振り返ってみたいと思います。 私自身のマネジメント歴としては、4月当初は2チームのマネージャーとして始まり、その2ヶ月後にはエンジニア全体をみることになり現在に至ります。 4月から10月までの半年は、プロダクト全体の施策の攻めと守りのバランスの葛藤や、現場と経営陣の価値観の差異をどうやって埋めるのかということについて頭を悩ませてきた半年でした。 思うに、組織全体で長きにわたり分析・解決が難しかった課題としては「組織の意思決定プロセス」があげられると思っております。 現在所属しているプロダクトDivではスクラムでプ

    2018年マネジメント振り返り - クラウドワークス エンジニアブログ
    delimiter
    delimiter 2018/12/10
  • AWS ECSのサービスをslack botでデプロイする - クラウドワークス エンジニアブログ

    みなさんさようなら.インフラ部の@h3_potetoです. CrowdWorksは大きなRailsアプリケーションですが,最近ではこの大きさで管理していくのもう無理な気がしてきて,マイクロサービスっぽくしていこうという動きがあります(が,まだ全然マイクロサービスではないです). それでも一部を切り出すことには成功していて,多少なりともマイクロサービスの運用っぽいことも必要になってきました. で,今回は僕の趣味のデプロイの話です. サービスはDockerに載せたいよ CrowdWorks体は,Docker化まで程遠い感じがしているんですが,切り出したマイクロサービスなら,最初からDocker前提で作ることが出来ます. これなら楽にDocker番運用まで行けそうな気がしていました. 他のサービスを色々AWS上に構築していることから,Dockerでアプリケーションを動かすのもAWSでなんと

    AWS ECSのサービスをslack botでデプロイする - クラウドワークス エンジニアブログ
    delimiter
    delimiter 2017/07/06
  • なぜエンジニアはマネージャーをやりたがらないのか - クラウドワークス エンジニアブログ

    最近ベイスターズが強くて毎日が楽しいクラウドワークスの安西です。マネージャー的なお仕事をやらせていただいております。やっていることはこんな感じです。 社内もそうなのですが、社外の各社さんに聞いても、エンジニアがマネージャーをやりたがらないという事案が発生しているようで、空前のエンジニアリングマネージャー不足であると勝手に認識しています(当社比)。 ということで、メンバーの力も借りつつ、なぜエンジニアはマネージャーをやりたがらないのかを考えてみました。 マネジメントとは? そもそもマネジメントとは何なのでしょうか?検索すると様々な解釈が出てきます。それぞれ微妙に違ったりしますね。 d.hatena.ne.jp 【management】経営、管理。 目標、目的を達成するために必要な要素を分析し、成功するために手を打つこと。 ビジネスにおけるマネージメントに必要な要素 1.目標、目的を明確化する

    delimiter
    delimiter 2016/05/31
  • これだけはやっておきたい〜マイクロサービスのデプロイメント - クラウドワークス エンジニアブログ

    Scala大好きインフラエンジニアの九岡(@mumoshu)です。マイブームはConcourse CIですが、今日はマイクロサービスの話をさせていただきます。 TL;DR; 「サービスの負荷上がってきたし、マイクロサービス化しよう。マイクロサービス化って、Railsアプリ分割して、それぞれCapistranoでデプロイしておけばいいんでしょ?」*1 マイクロサービス化をするためには、アプリケーションだけでなくインフラや運用のことも考える必要があります。 この記事では、クラウドソーシングのクラウドワークスが来るマイクロサービス化に向けて認識しているデプロイメント上の問題とその対策を紹介します*2。 テストからデプロイまでがめんどくさいよ問題 →Dev/Prod Parity、Infrastructure as Code、CI、ビルドパイプライン リリースに1時間かかるよ問題 →ビルドキャッシ

    これだけはやっておきたい〜マイクロサービスのデプロイメント - クラウドワークス エンジニアブログ
    delimiter
    delimiter 2016/04/18
  • 社内サービス開発のススメ - クラウドワークス エンジニアブログ

    最近機動戦士ガンダム0083スターダストメモリーを一気見したエンジニアの那須(@nasum)です。好きなガンダムはExSガンダムです。リフレクターインコムかっこいいですよね(アイスブレーク)。 普段働いているとPCを使う以上様々なソフトウェアやサービスを使うと思います。DropboxやEvernoteGoogle Driveにスプレッドシート、エクセルからパワーポイントまで様々です。 そんなとき、「社内で使われているこのサービス、目的を果たすにはちょっと面倒だな」なんて思ったことはないでしょうか? 自分が目的を果たすために、フラストレーションを感じてしまうのであればなんとかしたいものです。そういうとき無料のサービスを利用することや、オープンソースのソフトウェアを導入することをまず考えると思います。しかしなかなか自分の要件にフィットするサービスは意外にもなかったりします。 そういうときは勢

    社内サービス開発のススメ - クラウドワークス エンジニアブログ
    delimiter
    delimiter 2016/03/25
  • ソースコードの減らし方 - 基本的な考え方と10個の方法 - クラウドワークス エンジニアブログ

    ステップ数で評価が決まる現場では全く役に立たないテクニックではありますが、ソースコードの減らし方について紹介したいと思います。 開発Div. エンジニアのayasudaです。 2014年の夏にジョインし、会社名と同じサービス、クラウドワークス の開発に携わっています。 ご覧の通り、消したソースコードの方が多いので、ステップ数換算だとマイナスの働きしかしてませんね! 記事では、特に Ruby on Rails の運用されているプロダクトコードにおける、ソースコードの減らし方について紹介していこうと思います。 基的な考え方 ソースコードを減らすときの大原則は「ボーイスカウト・ルール - プログラマが知るべき97のこと」です。 普段、ソースコードを触るときに、一つでも良いので簡単な改善を入れる。これを積み重ねるのが大事です。 一度に一気に直そうとするのはあまり良くありません。大抵の場合、デグ

    ソースコードの減らし方 - 基本的な考え方と10個の方法 - クラウドワークス エンジニアブログ
    delimiter
    delimiter 2016/03/12
  • クラウドワークス勉強会「レガシーコード改善の戦略と戦術」(後篇:戦術&懇親会) - CrowdWorks Engineer Blog

    こんにちは!開発の所(@ctokoro_me)です。 クラウドワークス勉強会「レガシーコード改善の戦略と戦術」前篇(戦略)に続き、後篇(戦術&懇親会)をお送りします。 「レガシーコード改善の戦略と戦術」 講師:和田 卓人(@t_wada) タワーズ・クエスト株式会社 取締役社長、プログラマ、テスト駆動開発者。 学生時代にソフトウェア工学を学び、オブジェクト指向分析/設計に傾倒。 その後様々な縁に導かれソフトウェアパターンやXP(eXtremeProgramming)を実践する人たちと出会い、後のテスト駆動開発の誕生を知る。 テスト駆動開発によって「完璧主義の呪い(完璧な設計を得るまではコードを書けないし良いシステムも出来ないという強迫観念)」から解かれてからは、文章や講演、ハンズオンイベント等を通じてテスト駆動開発の啓蒙に努めている。 今日もグリーンバンド(テスト駆動開発者の証)を左手に着

    クラウドワークス勉強会「レガシーコード改善の戦略と戦術」(後篇:戦術&懇親会) - CrowdWorks Engineer Blog
    delimiter
    delimiter 2015/02/18
  • エンジニアブログをMiddlemanでつくる3つの理由 - CrowdWorks Engineer Blog

    みなさん、技術ブログの運用って面倒じゃないですか?ぼくは面倒です! ネタを貯めて、記事を書いて、公開する。会社的にも・個人的にも意味があり、 そのプロセス自体も楽しいものです。 大抵の場合、ブログの運用には便利なブログエンジンやブログサービスを使います。 ところが、長期間運用していると、「もうちょっとなんとかならないか?」と思うことがあります。 例えば、以下のようなことです。 拡張できない・しづらい 使い慣れた言語とエディタが使えない・使いづらい 共同作業しづらい(Git & GitHubが使えない等) もちろん、ブログエンジンやブログサービスには管理が簡単、すぐ使えるなどのメリットもありますが、 それにこだわらない場合はもっといい方法があるはずです。 クラウドワークスでは、Middlemanを使って、軽く・モダンにブログを運用してこれらの問題を回避しています。 この記事では、Middle

    エンジニアブログをMiddlemanでつくる3つの理由 - CrowdWorks Engineer Blog
    delimiter
    delimiter 2014/08/06
  • 1