タグ

ブックマーク / tech.smartcamp.co.jp (9)

  • 後で楽できるTerraformの書き方(※ただし書くときは辛い) - SMARTCAMP Engineer Blog

    はじめに ざっくりしたシステム構成の紹介 全体の構造 設計のポイント コーディング規約 上の階層を見に行かない 変数名は全体でユニークにする 変数のデフォルト値は設定しない main, outputs, variables 以外のファイルを原則置かない ポリシードキュメントはJSONファイルのまま管理する 変数で処理を変える仕組みを極力使わない 値のハードコードをためらわない コードが冗長であることをためらわない 残っている課題 AWSアカウント単位でしか用意しないものの扱い ECSのタスク定義の扱い 最後に はじめに はじめまして。スマートキャンプのおにまるです。 2022年10月に入社し、SRE兼インフラエンジニアとして働いています。 今回は、あるプロダクトの再スタートにあたって新しく作った、AWSTerraformについてお話したいと思います。 再スタートにあたってアプリケーション

    後で楽できるTerraformの書き方(※ただし書くときは辛い) - SMARTCAMP Engineer Blog
  • Cloudflareの画像最適化料金をWorker KVで97%削減した話 - SMARTCAMP Engineer Blog

    BOXILでエンジニアをやっている永井です。前回は入社エントリを書きましたが今回は技術的な記事を書こうと思います。 今回はCloudflareにおける画像の最適化処理のコストカットをした話をします。ざっくりいうとCloudflare内のKVという機能を使い、最適化をした画像をキャッシュしました。似たような問題で悩んでいる方は参考にしてもらえると嬉しいです。 TL;DR Cloudflareで画像のリサイズ(形式変更)を行っていた リサイズ後の画像はデフォルトではキャッシュされず、都度リサイズの処理が実行されていた Cloudflare内のWorker KV機能を使いキャッシュの実装をしたところ、コストがおよそ97%削減できた TL;DR 前提 問題 対策 Workers KVとは 注意事項とか サンプル 事前準備 KVのnamespace作成 KVをworkerに登録 流れ Keyについて

    Cloudflareの画像最適化料金をWorker KVで97%削減した話 - SMARTCAMP Engineer Blog
    mapk0y
    mapk0y 2021/12/24
    CloudFlare の Image Resizing にキャッシュ機能がほしくなる気がするけど、自分で頑張るしか無いのか
  • ZoomやDiscordではなくGatherをリモートワークのコミュニケーションツールに選んだ理由 - SMARTCAMP Engineer Blog

    こんにちは!スマートキャンプ ソフトウェアエンジニアの中川です。 リモートワーク全盛の昨今ですが、みなさんはチームのコミュニケーションをどうされていますか? 弊社のBOXIL開発チームはこのたびメインのコミュニケーションツールをDiscordからGatherに移しましたので、今回の記事ではそのなかで得られた知見やコツなどをご紹介できればと思います! 前提・リモートワークにおけるコミュニケーションの二大方針について Discordによる同期的なコミュニケーションで起きた課題 Gatherとは Gatherによって起きたポジティブな効果 カジュアルな雑談の創出 ほどよいプライベート空間の確保 オフィスの視覚的な再現 全体 執務室エリア キャンプスペース(広間的なエリアやなんとなく集まる場) 会議室エリア 1on1エリア Gatherに足りてないこと・期待したいこと 提供されていない機能は補完で

    ZoomやDiscordではなくGatherをリモートワークのコミュニケーションツールに選んだ理由 - SMARTCAMP Engineer Blog
    mapk0y
    mapk0y 2021/10/08
    backspace.fm でも紹介されてて気になってた https://backspace.fm/episode/402/
  • GitHub Actions + CircleCI + AWS CodeDeployによるCI/CD環境にインフラを移行した話 - SMARTCAMP Engineer Blog

    スマートキャンプ、エンジニアの入山です。 前回のブログで、弊社プロダクトのインフラをEC2基盤からECS/Fargate基盤へ移行した話を紹介しました。 tech.smartcamp.co.jp 上記プロジェクトは大規模なインフラの刷新だったこともあり、CI/CDについても従来の仕組みからECS/Fargateの構成に合わせて変更しています。 CI/CDは、安定したプロダクト開発には必須且つ長期に渡って継続的に利用するものなので、いかにストレス少なく効率的に出来るかが重要だと考えています。 また、CI/CDは一度構築してしまうと放置されがちですが、日々の開発チーム全体の生産性にも大きな影響を与えるため、こういった数少ない再構築のタイミングではコストを掛ける価値があるのではないでしょうか。 今回は、弊社のインフラ移行時に実施したCI/CDの改善について紹介したいと思います。 従来のCI/CD

    GitHub Actions + CircleCI + AWS CodeDeployによるCI/CD環境にインフラを移行した話 - SMARTCAMP Engineer Blog
  • Go製のREST APIにUnitテストを追加した話 - SMARTCAMP Engineer Blog

    こんにちは!スマートキャンプ、エンジニアの中田です。 以前書いた記事の内容に引き続き今回も、現在業務で利用している Go のお話しです! 以前の記事 tech.smartcamp.co.jp 突然ですが、みなさんはテストを書かれてますか? 僕も「書いてます!」と声を張りたいところですが、4 月に新卒入社をしてから開発を始めた Go 製の API には何を隠そうテストがございません...。 開発初期は API へリクエストを手動で送りテストするような運用で特に事なかったのですが、開発が進むにつれコード差分による影響範囲が網羅できなくなったり、またそれにより大きな変更がしづらくなったり、とテストがないことによる悪影響が徐々に出現してきました。 そこで、テストを書こう。と思い立ってはみたものの、GoAPI のテストってどう書くんだろう?と困ったのでその辺りを調査しながらサンプルアプリを実装

    Go製のREST APIにUnitテストを追加した話 - SMARTCAMP Engineer Blog
  • リーンコーヒー(Lean Coffee)のすすめ - SMARTCAMP Engineer Blog

    スマートキャンプのプロダクトマネージャーの郷田です。 皆さんは普段の業務で、以下のように感じる場面はありませんか? - 「同じチームで働くあの人と、いつもなんだか認識がずれてるかもと感じる」 - 「一通り会議はやったものの、なんだかいまいち話しきれてないようなモヤモヤがある」 - 「あの人にはもっと注力してもらいたいことがあるのに、なかなかそこまでやってもらえない」 こういった場面に遭遇したときには、リーンコーヒーを実施されることをおすすめします! この記事では、チームのMTGで活用してみていただきたい「リーンコーヒー」を紹介します。 リーンコーヒー(Lean Coffee)とは? リーンコーヒーの進め方 準備するもの その1:トピック出しと優先順位の決定(5分~15分) その2:トピックのディスカッション(10分〜45分) 初めてのリーンコーヒーでのハマりどころ 継続するかの判断をせずに

    リーンコーヒー(Lean Coffee)のすすめ - SMARTCAMP Engineer Blog
  • Docker ComposeのAmazon ECSデプロイを試してみた - SMARTCAMP Engineer Blog

    スマートキャンプ、エンジニアの入山です。 2020年7月にDockerAWSのコラボレーションにより、単一コマンドでDocker ComposeのyamlファイルからAmazon ECS上に各コンテナをデプロイできる機能追加が発表され、非常に注目を集めました! From Docker Straight to AWS - Docker Blog AWS and Docker collaborate to simplify the developer experience | Containers ローカルでDockerを利用して開発を行っている方々は、ほぼ間違いなくDocker Composeを利用してアプリの動作に必要な各コンテナを一括管理しているかと思いますが、このECS Pluginを利用するとAmazon ECSへの各コンテナのデプロイとECSの動作に必要な各AWSリソースを一括し

    Docker ComposeのAmazon ECSデプロイを試してみた - SMARTCAMP Engineer Blog
  • Kubernetesを1年間運用してわかった3つのこと - SMARTCAMP Engineer Blog

    スマートキャンプ、エンジニアの入山です。 弊社で技術的挑戦の意味も込めて始めたKubernetes(k8s)も、小規模ながら運用を開始して1年以上が経ちました! 現在では、k8sでのインフラを採用したプロダクトが無事に番リリースを迎え、ユーザーが番稼働を行うまでになっており、躓きながらも少しずつ運用知見が溜まってきています。 今回は、k8sを実際に運用してわかった3つの知見を紹介したいと思います! PodのNode配置が偏る 解決策 ローリングアップデート時にダウンタイムが発生する 解決策 Pod削除時にコンテナによってプロセスが終了するタイミングが異なる 解決策 最後に PodのNode配置が偏る k8sではPodを新規作成する場合に、kube-schedulerが各ノードのリソース使用状況等から判断した最適なNodeへスケジューリング(配置)を行います。 しかし、このスケジューリン

    Kubernetesを1年間運用してわかった3つのこと - SMARTCAMP Engineer Blog
    mapk0y
    mapk0y 2020/02/29
  • 私はAWS EC2のt2インスタンスを誤解していた - CPUクレジットとベースラインパフォーマンス、そしてT2 Unlimited - SMARTCAMP Engineer Blog

    スマートキャンプエンジニアの今川です。 この記事はスマートキャンプ Advent Calendar 2019 - Qiita 10日目の記事です。 qiita.com 別のネタで書こうと思っていましたが、ちょうど昨日今日でAWS5年やってたのに誤解してた!という経験をしたのでそれについて忘備録&人に共有するためにもまとめます。 T2 Unlimitedって何が嬉しいの?という方には読んでいただきたいです。 t2インスタンス - バースト可能なインスタンスタイプ AWS EC2にはt2という安価なインスタンスタイプ群があります。 aws.amazon.com ベースラインから必要に応じてバースト可能な汎用インスタンスタイプ という見出しがついており、 オンデマンドインスタンスの価格は 1 時間あたり 0.0058 USD から開始され、T2 インスタンスは最も安価な Amazon EC2 イ

    私はAWS EC2のt2インスタンスを誤解していた - CPUクレジットとベースラインパフォーマンス、そしてT2 Unlimited - SMARTCAMP Engineer Blog
    mapk0y
    mapk0y 2019/12/12
  • 1