現在 estie では、デプロイの改善・統一に取り組んでいます。複数プロダクトのそれぞれの技術スタックが大きく違う中、どう考えたら効率的なデプロイを組めるのか。2024年のデプロイの原則について、あらためて考えてみました。
![デプロイ再考2024/reconsidering-deploy-in-2024](https://cdn-ak-scissors.b.st-hatena.com/image/square/f8cc93b1729a38e1161fdccdc30f111f7626c6a1/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F428de6dc230641cabf16ff2d688aa6e6%2Fslide_0.jpg%3F29078296)
現在 estie では、デプロイの改善・統一に取り組んでいます。複数プロダクトのそれぞれの技術スタックが大きく違う中、どう考えたら効率的なデプロイを組めるのか。2024年のデプロイの原則について、あらためて考えてみました。
これはエムスリーAdvent Calendar 2023 の10日目の記事です。 こんにちは、エンジニアリンググループの石塚です。最近は年明けに控えている結婚式という大イベントに向けてダイエット中でスポーツジムへ通い、有酸素運動するのと並行して食事制限をして追い込んでいる毎日です。2ヶ月ほどで6kg弱の減量を目標に地道に日々目標をスプレッドシートにまとめながら追い込んでます。(今の所良いペースです。) 今回は、弊社で利用しているLookerというBIツールを利用しているなかで発生したつらみの共有と対策について共有します。少しニッチな内容ですが、自分自身が調べているときに同事象で苦しんでいるようなブログ記事が見当たらなかったこともあり、ニッチな人を対象に有益な内容になれば幸いです。 11/6からの体重減少とランニング累計の記録をグラフにしました。 Lookerとは? デプロイに成功したのに想
こんにちは。梅原です。 今日はECSのデプロイタイプについて改めて整理します。 ECSのデプロイ方法は3つあります。 ローリングアップデート Blue/Greenデプロイ 外部デプロイ の3つです。 この記事ではローリングアップデートとB/Gデプロイについて流れをおさらいします。 ECSの前段にALBを置いた構成を例にします。 ローリングアップデート ローリングアップデートの流れを見る B/Gデプロイ B/Gデプロイの流れを見る ローリングアップデートとB/Gデプロイの比較 最後に ローリングアップデート ローリングアップデートとは、稼働中のECSタスクをそのまま新しいタスクに置き換える方法です。一番オーソドックスなデプロイ方法なのではないでしょうか。 ECSのみでデプロイすることができ、設定箇所も主に後述する2つだけなので手軽にできます。ですがデプロイ中は新旧のタスクが混ざる状態となるた
初めてFargateを触ったので、運用保守の観点で構築時に設定しておいた方が良いポイントをまとめました。 デプロイの自動化と書いているのにデプロイの話薄めになってしまいました…。 こちらはJAWS-UG朝会 #28で発表したものになります。
はじめに GitOpsという言葉が生まれたのが自分の知る限り2017年頃なのですが、世の中にあるCI/CDの仕組みはまだほとんどがCIOpsもしくは手動のオペレーションによって成り立っていると思っていて、かつては自分もそうだったのですが「Gitで管理されていればGitOpsなんでしょ?」という勘違いを払拭したくてこのエントリーを書いています。 GitOpsとCIOpsは全然違う まず前提としてGitOpsの明確な定義を知らないという場合、あなたの思う「Gitを契機とした自動デプロイの仕組み」は基本的にはCIOpsです。GitOpsとCIOpsは思ったよりも大きな違いがあって、そもそもGitOpsの必要性が分かっていない場合、自動化によって成立しているデプロイはCIOpsが基本です。 CIOpsとGitOpsの一番の違いは、Push型かPull型かである CIOpsの場合、例えばGitHub
これは何 Laravel 用 php-fpm イメージの Dockerfile。 (多少はフォーマット変わろうとも)色んなところでずっと使いまわししそうなのでメモ。 完全に個人の秘伝のタレ化するよりは情報公開したほうが自社にとっても利益があるだろうと判断(笑) 異論は無限に受け付けるので改善点などあればコメントください。 FROM golang:1.15 as http2fcgi_build # http2fcgi のビルド RUN GO111MODULE=on go get -v -ldflags '-w -s' github.com/alash3al/http2fcgi@v1.0.0 FROM php:7.4-fpm-alpine as php_runtime # Goバイナリが実行できるようにする # https://stackoverflow.com/questions/34729
近年ではKubernetesクラスタ上で動作させるアプリケーションにおいて、そのデプロイに「Helm」と呼ばれるツールを使用する例が増えている。Helmは設定ファイルを元にアプリケーションのデプロイを自動実行するツールで、Kubernetesアプリケーション向けのパッケージマネージャとも言われている。今回はこのHelmの概要、使い方、設定ファイルの書き方などを紹介する。 Kubernetes上にアプリケーションをデプロイするための事実上の標準的ツールとなっている「Helm」 近年ではコンテナクラスタ技術であるKubernetesを活用したサービスの運用が増えており、Kubernetes上で動かすことを前提とするソフトウェアも登場している。一方で、Kubernetes上でのアプリケーションのデプロイについては課題も多い。 Kubernetesはサービスを複数の小規模コンポーネントに分割して実
年末年始の時間を使って実験していたこと。 tl;dr vscode をカスタマイズして静的サイトとしてデプロイしたい。やった。公式にない永続化層も作った。 できた。ここで試せる。 https://mizchi-vscode-playground.netlify.com/ やりたかったこと フロントエンドにまつわるものはフロントエンドで作業を完結したい。なので vscode がブラウザで動いてほしい。 vscode をカスタマイズしたものを各自が自由にデプロイできると、様々な可能性がある。インストールの手間を省いたプログラミング教育用のツールだったり、専用の開発環境だったり、その他諸々。 問題 この用途で期待していた vscode online が使いづらかった。MS のアカウントを要求されたり、Docker コンテナの Enviroment を作ったりする必要があり、面倒だった。そもそもリ
We love Python at Nylas. The syntax is simple and expressive, there are tons of open source modules and frameworks available, and the community is welcoming and diverse. Our backend is written exclusively in Python, and our team frequently gives talks at PyCon and meetups. You could say we are super fans. However, one of Python’s big drawbacks is a lack of clear tools for deploying Python server a
はじめに 最近 Google Cloud Platform の Cloud Run が GA となったのが話題に上がりました。また gcloud コマンドを GitHub Actions 上で簡単に扱うための GoogleCloudPlatform/github-actions もリリースされました。これまで使われることの多かった actions/gcloud は deprecated となりアーカイブされています。 これらのサービス、ツールを使うことでかなり簡単に Docker コンテナを動かす環境を構築できます。そのユースケースの一つとして、実際に僕が携わっているプロジェクトでレビューコスト低減のために行っている、Pull Request (以下 PR) 単位で独立したプレビュー環境を起動する方法についてメモがてらブログにまとめようと思います。 前提 以下のようなアプリケーション、プロ
中途三年目、堀越です。 つい先日、仲良くさせていただいているエンジニアのコミュニティで箱根へ2泊3日の開発合宿へ行ってきました。 何した? プライベートで仲良くさせていただいている外部のエンジニア3人でチームを組み、 Slack の Bot を開発しました。 speakerdeck.com Webサーバーが必要でしたので、わたしは主にインフラを担当しました。具体的なミッションは下記です。 Webサーバーの実行環境構築を Heroku に構築する デプロイ環境を整備する GitHub のリポジトリに Heroku ボタンを配置してデプロイできるようにする Docker を使ってデプロイできるようにする master ブランチに更新が入ったら自動デプロイする 今回の内容 ということでやったことをアウトプットしようかなという内容です。Heroku が公開している node のサンプルアプリケーシ
はじめに Kubernetes のリポジトリを眺めていると Github の PR 上で bot に対してコマンドを実行するのをよく見ますよね。例えばこういうものです。 Kubernetes のプロジェクトでは PR 上でのテストやラベル付けなどを行っていますが、自分たちはこれを見て日々の運用作業を PR や issue 上で ChatOps で実現したいと思いました。 Github上で行うと Chat 上に比べて後から探しやすいといったメリットがあると思っており、それを実現できないかと考えていました これを実現する方法としてまずに思いつくのは Kubernetes プロジェクトで利用している Prow を利用する方法です。ただ Prow で実施する場合 Prow 自体のデプロイ・その後の管理をする必要があり、そのあたりが面倒になってしまいそこまでのコストを掛けて実現するべき運用作業もない
3行で シンプル/ミニマルな Lambda のデプロイツール lambroll を書いてるよ Lambda API 以外は極力触らないやつです 既存 function の移行も簡単です 開発の経緯 AWS Lambda を管理、デプロイするのに数年来 Apex を使っていましたが、最近更新がないと思っていたら案の定というか、残念ながら No longer maintained となってしまいました。 で、代替を探したのですが… Lambda管理、Apexがお亡くなりになってServerlessかSAMになるんだけど、本当は関数だけdeployできればよくて(IAMとか関連リソースはTerraformでやるんで)、それなら裏でCloudFormationが動くようなのじゃないシンプルなのがいいなあ。作れば作れるけどデプロイツールばっかり書くことになるな…— fujiwara (@fujiwa
考慮する点 成果物のデプロイ ビルドの成果物(artifct)をアップロードすること。アップロードと公開は分けて考えることに注意。デプロイ先にはいくつか候補がある: GitHub Packages (旧GitHub Package Registry) Maven Central Repository Docker HubなどのDocker Registry GitHub Packagesはコンテナも.jarもまとめて置けるが、コミュニティ標準の場所ではないので利用する際にひと手間必要になる。プライベートプロジェクトの場合は積極利用することになりそう。FOSSなら基本的にMaven Centralに置くことになる*1。プロジェクトによっては.jarファイルとしてではなくコンテナとしてデプロイすることもあるだろう。 リリースノートの作成 CHANGELOG.mdやsrc/site以下のファイル
先日えいやと書いた AWS Lambda のデプロイツール lambroll ですが、これと公開済みの bash layer を使うとかなり気軽に(雑な) shell script を Lambda で実行できて体験がよかったので書いておきます。 AWS Lambda のミニマルなデプロイツール lambroll を書いた - 酒日記 はてな支店 ちょっとしたものをLambdaで書くの億劫さのほうが強かったけど、bash layerとlambrollを使ったら雑shell scriptをホストで書いてるのに近い感じになり、顧客が本当にほしかったもの感があるなこれ— fujiwara (@fujiwara) 2019年11月13日 今回はとある理由で ECS のサービス内のタスクを定期的に入れ換えたかったので、aws ecs update-service を一発実行する、という要件。やりたい
CircleCIから複数のAWSアカウント、たとえばステージング環境とプロダクション環境(本番環境)へ、安全にデプロイする方法を記載します。 課題 CircleCIはAWSのCodePipeline等より使い勝手が良いのでAWSのプロダクション環境へのデプロイに使いたい しかしステージング環境とプロダクション環境は別のAWSアカウントで構築しておりIAMのアクセスキーの切り替えが必要 そしてIAM権限をAWSの外に出すのはセキュリティ上の懸念がある 対策 別アカウントなので認証情報の切り替えが必要 => CircleCIのContextsを利用する IAM権限をAWSの外に出すのはセキュリティ懸念がある => 利用するときだけIAMアクセスキーを有効化する Slackから簡単にキーの有効/無効を切り替えられるようにしておきましょう 順に説明してゆきます。 ブランチごとにAWS認証情報を切り
This document contains notes from a meeting on web application security. It discusses several common vulnerabilities like SQL injection, cross-site scripting (XSS), and clickjacking. It provides examples of how these vulnerabilities can occur and ways to prevent them, such as sanitizing user input, enabling CSRF protection middleware, and using the X-Frame-Options header. Keywords discussed includ
End-to-End Encryption for Streaming Data Pipelines @ Berlin Buzzwords 2024
Amazon ECS(以下ECS)とFargateを用いて、今までEC2で運用されていたサービスをコンテナ化してECS上で稼働させるプロジェクトをしました。 特に、Fargateは2018年7月3日にTokyoリージョンで使えるようになったばかりなので、情報がまだまだ少なく手探りの状況でした。 Posted On: Jul 3, 2018 AWS Fargate is now available in Asia Pacific (Tokyo) region. https://aws.amazon.com/about-aws/whats-new/2018/07/aws-fargate-now-available-in-tokyo-region/ ECS/Fargateで実現したアーキテクチャ・デプロイ方法の全容とその実装方法を記していきます。以下のスライドにもまとめているのでぜひご覧ください
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く