#author("2024-02-26T23:02:05+09:00","default:irrp","irrp") →クラウドコンピューティング →コンテナ型仮想化 →gRPCについては→HTTP関連 #contents *マイクロサービス [#mcbd765d] -[[【AWS App Mesh】サービスメッシュについて調べてみた - サーバーワークスエンジニアブログ>https://blog.serverworks.co.jp/servicemesh/appmesh]] 2024.1 --AWS App Mesh -[[開発者が注意すべき「マイクロサービスの問題点」、そのトップ10を解説:問題点がメリットを上回るケースも - @IT>https://atmarkit.itmedia.co.jp/ait/articles/2401/05/news012.html]] 2024.1 --トポロジーの複雑性の増加 --自動デプロイメントの必要性 --複雑な統合のオーバーヘッドと面倒な依存関係 --データの変換と非互換性 --ネットワークの混雑 --パフォーマンスの低下 --コストの増加 --ログ記録とトレースの複雑化 --テストとデバッグの課題 --硬直化した組織 -[[マイクロサービス実装に不可欠「Saga」とは | GMOアドパートナーズ TECH BLOG byGMO>https://techblog.gmo-ap.jp/2023/10/20/microservice_saga/]] 2023.10 -[[徹底解説マイクロサービス 〜マイクロサービスのメリット、デメリット、なぜマイクロサービスを選択するのか〜 /why do you choose microservices architecture - Speaker Deck>https://speakerdeck.com/fatsushi/why-do-you-choose-microservices-architecture]] 2023.10 -[[運用して分かってきた、マイクロサービスという選択>https://zenn.dev/neinc_tech/articles/6148e5cd95d976]] 2023.9 -[[【15分で確認】AWSでクラウド構築する時に覚えておきたい設計原則・アーキテクチャ3選 - Qiita>https://qiita.com/WebEngrChild/items/65aa6e7ea16ea80ebd52]] 2023.9 --マイクロサービスアーキテクチャ --AWS Well-Architected Framework --The Twelve-Factor App -[[徹底解説マイクロサービス 〜マイクロサービスのメリット、デメリット、なぜマイクロサービスを選択するのか〜 /why do you choose microservices architecture - Speaker Deck>https://speakerdeck.com/fatsushi/why-do-you-choose-microservices-architecture]] 2023.9 -[[IaaSに戻るのを待ってました - orangeitems’s diary>https://www.orangeitems.com/entry/2023/08/31/120000]] 2023.8 -[[メルコイン決済基盤における分散トランザクション管理 | メルカリエンジニアリング>https://engineering.mercari.com/blog/entry/20230614-distributed-transaction/]] 2023.6 -[[「Amazonでさえサーバレスやマイクロサービスを理解できない」とDHH氏が主張する一方で、「進化可能なアーキテクチャこそ重要」とAmazonのVogels博士 − Publickey>https://www.publickey1.jp/blog/23/amazondhhamazonvogels.html]] 2023.5 -[[「30分でわかるマイクロサービスアーキテクチャ 第2版」Microsoft Corporation 佐藤 直生 | エンジニアの生き様をウォッチするメディア>https://pr.forkwell.com/event/microservices-architecture-2/]] 2023.4 --[[【書籍】「30分でわかるマイクロサービスアーキテクチャ 第2版」Microsoft Corporation 佐藤 直生>https://amzn.to/41I1bHF]] -[[マイクロサービスパターン MicroServicePatterns の感想文 | フューチャー技術ブログ>https://future-architect.github.io/articles/20230301a/]] 2023.3 --[[【書籍】マイクロサービスパターン MicroServicePatterns>https://amzn.to/3KIyKEj]] -[[マイクロサービス化による「DB分割」で開発、運用が難しくなるこれだけの理由:時代は「統合」から「分離」へ - @IT>https://atmarkit.itmedia.co.jp/ait/articles/2302/20/news001.html]] 2023.2 -[[『ソフトウェアアーキテクチャ・ハードパーツ』完全に理解した - Mirai Translate TECH BLOG>https://miraitranslate-tech.hatenablog.jp/entry/software-architecture-the-hard-parts]] 2023.2 -[[Oracle Transaction Manager for Microservices Free 22.3 製品概要 - Speaker Deck>https://speakerdeck.com/oracle4engineer/microtx-22-3-free-overview]] 2023.1 --Sagaパターンほか -[[マイクロサービスとトランザクション - Qiita>https://qiita.com/kazutomo/items/036d341d90bbcca91413]] 2022.12 -[[マイクロフロントエンドの現状確認 - Speaker Deck>https://speakerdeck.com/kuy/maikurohurontoendonoxian-zhuang-que-ren]] 2022.10 -[[A pattern language for microservices>https://microservices.io/patterns/]] 2022.8 -[[マイクロサービスは「マイクロ」じゃなくていい - APC 技術ブログ>https://techblog.ap-com.co.jp/entry/2022/08/28/184500]] 2022.8 -[[Qiita Night〜モノリスからの脱却って実際どうなの?マイクロサービス化について赤裸々に語る〜のイベントレポート - Qiita>https://qiita.com/Qiita/items/036e53436ace48456d61]] 2022.8 -[[Transactional OutboxをAWSで実現する - Qiita>https://qiita.com/yoshii0110/items/cc88f3cad776ead9838c]] 2022.7 -[[マイクロサービスの次に来るかもしれない言葉について - arclamp>https://arclamp.hatenablog.com/entry/2021/09/20/002250]] 2021.9 --Microservicesとは巨大システムでアジャイルを機能させる構造のことであり、その構造を支えたのがDevOps /NoOp --たとえば、Microservicesに取り組むならAgileとDevOpsは前提であり、ここに組織が慣れていないなら、実現は不可能です。逆に言えばAgileとDevOpsを実現していけば、自然にMicroservicesになっていきます。だって、それが歴史なのですから。 -[[バルクヘッド パターン>https://docs.microsoft.com/ja-jp/azure/architecture/patterns/bulkhead]] 2021.10 --マイクロサービスにおけるデザインパターンの一つ --リソースを分割し、1 つのサービスの呼び出しに使用されるリソースが別のサービスの呼び出しに使用されるリソースに影響しないようにできます。 たとえば、複数のサービスを呼び出すコンシューマーに、各々のサービス用の接続プールを割り当てることができます。 サービスが失敗し始めると、そのサービスに割り当てられている接続プールのみに影響し、コンシューマーは他のサービスを引き続き使用できます。 -[[「Cloud Native Trail Map」の10ステップを紐解く(ステップ1〜3)>https://thinkit.co.jp/article/18243]] 2021.4 --ステップ1:コンテナ化 --ステップ2:CI/CD --ステップ3:オーケストレーションとアプリケーションの定義 -[[ステップ4〜5>https://thinkit.co.jp/article/18311]] 2021.5 --ステップ5:観測性と分析、 --ステップ6:サービスプロキシ、ディスカバリー、メッシュ -[[ステップ6〜7>https://thinkit.co.jp/article/18353]] 2021.6 --ステップ6:ネットワーク、ポリシー、セキュリティ --ステップ7:分散型データベース&ストレージ -[[ステップ8〜10>https://thinkit.co.jp/article/18371]] 2021.6 --ステップ8:ストリーミングとメッセージング --ステップ9:コンテナレジストリとランタイム **モジュラモノリス [#b3cc766d] -[[モジュラモノリスにおけるトランザクション設計の考え方 / transaction design on modular monolith - Speaker Deck>https://speakerdeck.com/nazonohito51/transaction-design-on-modular-monolith]] 2023.9 -[[モジュラーモノリスに対する考察 - Qiita>https://qiita.com/YasuhiroKimesawa/items/1b1f8a7c004388d71388]] 2021 -[[サービス分割に備えたモノリス(モジュラーモノリスとかアグリゲートとか) - RAKUS Developers Blog | ラクス エンジニアブログ>https://tech-blog.rakus.co.jp/entry/20201026/microservice]] 2020 * Kubernetes [#bd59d0b7] -[[コンテナって何?(Kubernetes入門) - Speaker Deck>https://speakerdeck.com/minorun365/kontenatutehe-kubernetesru-men]] 2024.1 -[[Kubernetes初心者向け:AWSを活用したコンテナ入門ハンズオン手順作ってみた #AWS - Qiita>https://qiita.com/minorun365/items/0441e4878f0984a9fc0a]] 2023.12 -[[Kubernetesのソースコードリーディング入門 - Speaker Deck>https://speakerdeck.com/smatsuzaki/kubernetesfalsesosukodorideinguru-men]] 2023.11 -[[エンジニアは全員おうちKubernetesをやるべし【Part 1:なぜやるのか】 #kubernetes - Qiita>https://qiita.com/takumi3488/items/2eb4692a5672ee475998]] 2023.11 -[[エンジニアは全員おうちKubernetesをやるべし【Part 2:どうやるのか】 #kubernetes - Qiita>https://qiita.com/takumi3488/items/8cf6e52408fcec5631ec]] 2023.11 -[[Azure Kubernetes Service あれこれ - Qiita>https://qiita.com/coitate/items/1f7fc375b29094d8a99c]] 2023.2 -[[エッジコンピューティングに広がるKubernetes | SIOS Tech. Lab>https://tech-lab.sios.jp/archives/32605]] 2023.1 -[[GKE(Google Kubernetes Engine)クラスタにアプリをデプロイする | DevelopersIO>https://dev.classmethod.jp/articles/google-kubernetes-engine-deploy-app-cluster/]] 2023.1 -[[Kubernetes の基本を解説 - G-gen Tech Blog>https://blog.g-gen.co.jp/entry/kubernetes-explained]] 2023.1 -[[TerraformでEC2に勉強用Kubernetes、Docker環境をさっと作成する - Qiita>https://qiita.com/kokohei39/items/13fba19733c29a35e7fa]] 2023.1 -[[Docker Desktopを使ってKubernetesでNginxを立ててみる|SHIFT Group 技術ブログ|note>https://note.com/shift_tech/n/n72a2db4fc534]] 2022.7 -[[僕らは何故Kubernetesを使うのか>https://zenn.dev/esaka/articles/2d117655af1f03cf2444]] 2020.9 -[[Kubernetes Pod Pending問題を理解する | コンテナ・モニタリング | Sysdigブログ | コンテナ・Kubernetes環境向けセキュリティ・モニタリング プラットフォーム>https://www.scsk.jp/sp/sysdig/blog/container_monitoring/kubernetes_pod_pending.html]] 2022.4 -[[KubernetesをGoogleが開発し、オープンソース化し、成功した経緯。関係者らが肉声で語るドキュメンタリー映像「Kubernetes: The Documentary」YouTubeで公開 − Publickey>https://www.publickey1.jp/blog/22/kubernetesgooglekubernetes_the_documentaryyoutube.html]] 2022.2 -[[kubernetes に deploy 済みの Container に root で入っていじりたい | 1Q77>https://blog.1q77.com/2020/05/kubectl-ssh/]] 2020.5 -[[Kubernetes The Hard Way>https://github.com/kelseyhightower/kubernetes-the-hard-way]] --This tutorial walks you through setting up Kubernetes the hard way. This guide is not for people looking for a fully automated command to bring up a Kubernetes cluster. -[[Kubernetes、やめました>http://blog.father.gedow.net/2020/06/03/goodbye-kubernetes/]] 2020.6 -[[初心者が流れで学ぶDocker/Kubernetes超入門>https://qiita.com/sanpo_shiho/items/fc8082f3d303c04cca2e]] 2020.3 -[[Kubernetesは良くできている? >https://www.orangeitems.com/entry/2018/10/20/001045]] 2018.10 -[[「Kubernetes」とは何か――コンテナ型仮想化の本番利用に向けた課題>http://www.atmarkit.co.jp/ait/articles/1803/08/news006.html]] 2018.3 -[[Docker(コンテナ型仮想化)と Kubernetes についての簡単な紹介>https://ubiteku.oinker.me/2017/02/21/docker-and-kubernetes-intro/]] 2017.10 *Istio [#aeb474e4] -[[Istio入門 - Speaker Deck>https://speakerdeck.com/nutslove/istioru-men]] 2022.6 --サービスメッシュとは、各サービスの隣にプロキシを配置し、アプリ同士の通信をプロキシ経由とした状態 -[[Istioの全貌>https://thinkit.co.jp/article/14640]] 2018.9 *Amazon ECS/EKS [#te19650c] →AWS Lambda関連 -[[【AWSコンテナ入門】コンテナ初心者向けガイド|SHIFT Group 技術ブログ>https://note.com/shift_tech/n/n6c7c175859e4]] 2024.1 -[[AWSコンテナ系アーキテクチャの選択肢を最適化する | 外道父の匠>https://blog.father.gedow.net/2024/01/12/aws-container-architecture-watershed/]] 2024.1 -[[【初心者向け】Amazon ECSのパラメータ一覧 - サーバーワークスエンジニアブログ>https://blog.serverworks.co.jp/2023/10/24/104221]] 2023.10 -[[ecstaを使ってAmazon ECSコンテナ開発効率を上げよう!>https://zenn.dev/quiver/articles/56b05ba75e6295]] 2023.2 -[[AWS EKSとECSの比較と選択基準>https://zenn.dev/yoshinori_satoh/articles/2021-02-13-eks-ecs-compare]] 2023.2 -[[EBS CSI driverをEKSアドオンとして導入してみた | BTC Cloud>https://cloud.bigtreetc.com/column/ebs-csi-driver/]] 2022.9 -[[AWSにおけるコンテナサービスの変化と利用ユーザに求められることとは? - Speaker Deck>https://speakerdeck.com/yoshiitaka/awsniokerukontenasabisunobian-hua-to-li-yong-yuzaniqiu-merarerukototoha]] 2022.12 --[[AWSにおけるコンテナサービスの変化と今利用ユーザに求められることとは? - Qiita>https://qiita.com/yoshii0110/items/92a6abe212514f01a0ca]] 2022.12 --AWS App Runner, AWS Copilot -[[AWS Copilot 入門 - Qiita>https://qiita.com/yoshii0110/items/8a74cc0fc540ae3f2389]] 2022.12 --Amazon ECS CLI の後継にあたるものです。 -[[Amazon ECS CLIを使って、ローカルでタスクを実行する - CLOVER🍀>https://kazuhira-r.hatenablog.com/entry/2022/06/03/014627]] 2022.6 -[[AWS再入門ブログリレー2022 Amazon ECS編 | DevelopersIO>https://dev.classmethod.jp/articles/re-introduction-2022-ecs/]] 2022.3 -[[初心者でもわかるコンテナ Docker ECSの話>https://dev.classmethod.jp/articles/contaier-doceker-and-ecs-for-beginner-jp/]] 2021.9 -[[AWSはなぜ、ECSがあるのにKubernetesのサービスを始めたのか、コックロフト氏に聞いた>http://www.atmarkit.co.jp/ait/articles/1806/11/news029.html]] 2018.6.11 ** AWS Fargate [#pd708487] -[[EKS for Fargate vs EC2 Design comparison - Speaker Deck>https://speakerdeck.com/inductor/eks-for-fargate-vs-ec2-design-comparison]] 2023.11 -[[AWS Fargate/Fargate Spotのハイブリッド利用をCDKで実装したら料金が半額になった話 - Uzabase for Engineers>https://tech.uzabase.com/entry/2023/02/15/173312]] 2023.2 -[[【初心者必見】AWS Fargate の使用方法徹底解説 - Qiita>https://qiita.com/tatsuya11bbs/items/a7898275535a766718bf]] 2023.2 -[[【AWS】Fargate・Lambda・Batchの使い分け - BFT名古屋 TECH BLOG>https://bftnagoya.hateblo.jp/entry/2020/12/22/094100]] 2020 -[[FastAPIをFargateで使ってみる | DevelopersIO>https://dev.classmethod.jp/articles/fastapi-fargate/]] 2022.11 -[[AWS Fargateとは?Amazon ECSとの関係性やメリット・デメリットを解説>https://business.ntt-east.co.jp/content/cloudsolution/column-171.html]] 2020.3 --コンテナ向けのサーバーレスコンピューティング --Amazon ECSとは「Amazon Elastic Container Service」のことで、Amazon EC2インスタンスを用いたDockerコンテナを管理するサービス --双方は、連携してコンテナを起動する関係性にあります。 --FargateはECSの一部として提供される。Amazon ECSでコンテナを実行する方法としてAWS Fargateを利用するという選択肢がある -[[AmazonECS / Fargate 本番運用のための構築とデプロイ方法まとめ>https://qiita.com/HiromuMasuda0228/items/2170032142ae1c33adcc]] 2018.10 ** AWS App Runner [#u36aec66] -[[もうすぐローンチ 3 周年! AWS App Runner の魅力と進化の歴史 - Speaker Deck>https://speakerdeck.com/track3jyo/app-runner-the-appeal-and-evolution-over-3-years-since-launch]] 2024.2 -[[AWS App Runnerがそろそろ本番環境でも使い物になりそう|AWS|開発ブログ|株式会社Nextat(ネクスタット)>https://nextat.co.jp/staff/archives/308]] 2022.12 -[[AWS App Runnerの正体を探る - How elegant the tech world is...!>https://iselegant.hatenablog.com/entry/2022/12/17/000049]] 2022.12 --ECSとFargate -[[App Runnerの特徴9つまとめてみた - Qiita>https://qiita.com/yoshii0110/items/ec209712cafa7547c680]] 2021 --GitHubにソースコードをpushすると、それを検知し、App Runnerがいい感じにコンテナをデプロイ --コンテナがデプロイされるとApp RunnerがマネージドのLBを設定 --コンテナ管理とかVPC周り、ALB,NLBとかscaling, 自動化するならcodebuildとかを組み合わせていたものが、App Runnerがこれらをまとめて(隠蔽して)提供 --内部的にはAPP Runnerのサービス側にはVPCがあるが、実際にApp Runnerを使う側はVPCを気にしなくて良い。 --auto scaling設定は、最小のインスタンス数は1(0にはできない) --Waf対応がされていない。 --裏側でFargateを使用している。 --アプリケーションのポートとヘルスチェックのポートは一緒 --App Runnerの間は、半角スペース -[[AWS App RunnerのコードベースサービスにJavaランタイムが追加されました | DevelopersIO>https://dev.classmethod.jp/articles/aws-app-runner-java-runtime/]] 2022.2 ** Amazon ECR [#o88ddf32] -[[Dive deep into Amazon ECR (ECRの裏側の仕組みを知ろう)>https://zenn.dev/yoshii0110/articles/1de56128d7be2c]] 2024.1 -[[Amazon Linux 2023 の Docker イメージが提供されていたので Snyk Container でパッケージのバージョン情報を確認してみた | DevelopersIO>https://dev.classmethod.jp/articles/amazon-linux-2023-package-check-with-snyk-container/]] 2023.2 -[[ECR Public Gallery>https://gallery.ecr.aws/?page=1]] -[[AWS再入門ブログリレー2022 Amazon ECR編 | DevelopersIO>https://dev.classmethod.jp/articles/re-introduction-2022-ecr/]] 2022.3