APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

Dapr の検索結果:

AKSのnode pool 削除時に発生したエラーを解消した話

…TIONS AGE dapr-system dapr-operator-disruption-budget N/A 25% 1 59d dapr-system dapr-placement-server-disruption-budget N/A 25% 0 59d dapr-system dapr-sentry-budget N/A 25% 1 59d 〜〜以下略〜〜 コマンドを実行すると上記のような結果が表示されました。ドキュメントに記載されてるとおり、ALLOW_ED_…

Azure IaCツール BicepでAKSのFlux、Dapr、KEDAを有効にする

…AKSではFlux、Dapr、KEDAがサポートされています。 あるのは知っているんだけど、AKSをプロビジョニングする際これらの機能をどうやって有効にするか、意外と覚えていないものです。今回はそれをご紹介したいと思います。 (何割かは自分向けの備忘録でもあります) 有効化方法 実は有効の方法はKEDAと、Flux/Daprとでは少し違います。 KEDA KEDAを有効にするには AKSプロビジョニング時のオプションとして指定します。 resource aks 'Micros…

KubeCon NA 2023: Modernなアプリケーション実行環境 Daprがさらに進化

…goの3日目。今回はDaprの最新動向をお伝えします。 Dapr, Workflows, and the Road Ahead このブログでもなんどかDaprについて取り上げてきました。 techblog.ap-com.co.jp Daprは分散アプリケーション実行環境で、様々な外部サービスとの接続を抽象化し、分散アプリケーションの実装を容易にするものです。これまではService InvocationやPub/Sub接続、State Managementなど分散アプリケーシ…

【Microsoft Build 2023速報】Azure Container Apps Jobsがプレビュー公開されました

…nit コンテナー Dapr シークレット内での Azure Key Vault の参照 イングレスとカスタム ドメインや SSL 証明書などの関連機能 Container Appsの大きな特徴であるDaprに対応していないのは残念ですね。ジョブの中でデータベースやストレージなどのデータストアにアクセスしたいシーンはよくあるので、接続を抽象化できるDaprに対応するとより便利に使えそうです。同一Container Apps環境内にWebアプリとジョブを同居させた際にはDapr…

【Microsoft Build 2023速報】コンテナ系アップデートまとめ

…iner AppsのDaprの設定が簡単になりました Book of Newsには記載されてないですが、Tech Community Blogに記事があったので紹介します。 Daprを利用して接続する先がAzureのリソースであれば、ポータル上のリストから選んでいくだけで簡単に設定できるようになりました。 これまでは設定値をイチから入力しなければならなかったので、設定が各段にラクになります。地味だけど助かるアップデートですね。 ACI/AKS上の機密コンテナのサポート ハード…

Open Service MeshはIstioに合流する

…流れ、重大な決断をしたなという印象です。 learn.microsoft.com 2023年5月5日現在、AKSのOSM Add-onのページでは特に今回の発表に関する記述はないようです。AKSのAdd-onを含め、これまでOSMをメインに連携してきたDaprなど他のプロジェクトの動向については引き続き確認していきたいと思います。 すぐにこれまでリリースしてきたものがなくなることはないと思いますが、今後OSMをIstioに移行していく必要が出てくる部分もあるかもしれませんね。

KubeCon EU 2023 : DaprのPubSubでBulk APIがサポートされたよという話

…essage in Dapr というセッションのまとめ kccnceu2023.sched.com DaprはMicroserviceな分散アプリケーションの実装を簡単にしてくれるRuntimeです。 dapr.io 本ブログでもこれまで何度か取り上げてきました。 techblog.ap-com.co.jp 分散アプリケーションではPubSub型を利用することが多くなると思います。こうしたアプリケーションを作る場合、メッセージを1つ1つ処理しているとどうしても性能が気になりま…

KubeCon EU 2023 : ライトニングトークの紹介

…ようです。 armadaproject.io airflow.apache.org GreenCourier: Towards Sustainable Serverless Computing GreenCourier というスケジューリングフレームワークについて紹介された LT です。 Azure Functions を始めとした各クラウドの Function as a Service (FaaS) は毎日11億回も関数が呼び出されているそうです。 GreenCourier…

BicepのPublic Registry活用していますか?

…ublic:app/dapr-containerapps-environment:1.0.1' = { name: 'state' params: { location: location nameseed: 'stateSt1' applicationEntityName: 'appdata' daprComponentType: 'state.azure.blobstorage' daprComponentScopes: [ 'nodeapp' ] } } 簡単に利用でき…

なぜDevOpsの発展にプラットフォームエンジニアリングが必要になるのか?

…んが取る、KEDAやDAPRなどをOSSとしてコミュニティと開発しながらAzure Container Appsというサービスに取り込んでいく戦略は、一つの方向性としては評価されて行っているのではないでしょうか。 いずれにしても、ツールの増大、これもまた開発チームの認知負荷を増大させます。 開発チームの認知負荷の増大と開発者体験の低下 これらの状況をまとめた表として、infoqさんの記事のこの画像がわかりやすいと思います。 ツールの変化による認知負荷の増大 引用:「Platf…

TerraformでAzure Container Appsがサポートされたので爆速でデプロイする

…vironment_dapr_component azurerm_container_app_environment_storage registry.terraform.io 早速これらを使ってTerraformでAzure Container Appsをデプロイしてみようと思います。 実践 適当な作業ディレクトリを作ってmain.tfにコードを書きます。 main.tf provider "azurerm" { features {} } resource "azurer…

FaaSとしてのAzure Container Apps

…で、DBとの接続にはDaprを使ってみましょう。 Functionsアプリ作成 Functionsアプリを作成する際にはAzure Functions Core Toolsを使用します。 以下コマンドでテンプレートを生成しましょう。せっかくなので新しいV2プログラミングモデルで作ります。 func init --docker --python -m V2 生成された function_app.py を編集します。 import logging import os import…

KubeCon NA 2022 - DaprはWebAssemblyと相性がいいかもしれない

… セッションの最後でDaprのWasm-SDKを作っているという話がでて、「あ、たしかに相性いいのかもなと思いました」 Wasmにするためには、依存関係についてもライブラリの開発・移植が必要になることがあります。 しかし、Daprのアプリケーションは基本的にDapr SDKまたはHTTP/gRPCインターフェースに 依存するだけですので、そうした依存関係の部分を気にしなくてよい可能性が高まります。 その上で安全性・スピード等が改善されるのですから、使わない手はないといえるかも…

KubeCon NA 2022 - WasmCloud は業務システムの夢をみるか

…io - Day2のDaprConの双方で、Wasmに関する言及があり、ちょっと興味がわいてきたので 急遽予定を変更してWasm関連のセッションに参加しました。 KubeCon + CloudNative North America 2022: Who Knew Dogfood Could Taste This Good?... 発表資料は上記リンクにありますのでご参照ください。 まったくフォローしていない分野ではありますが、Wasm(のランタイム)がコンテナに変わって動作す…

KubeCon NA 2022 Day2 - Glossary(用語集) Project

…のメインディッシュはDaprConのほうでしたが、 夕方から1時間にわたってLTが行われていました。その中で1つ気になったものがあるのでご紹介。 それはCNCF Glossary Projectです。 glossary.cncf.io Cloud Native界隈の単語って難しいものも結構あると思います。 技術者はなんとかわかっても非技術者にはなかなか難しい。また、抽象的なものについては独自の解釈された状態に なっているものもあると思います。 そうした中で、技術者だけでなく非…

KubeCon NA 2022 Day2 - DaprCon 2022

…が、 その中の1つ DaprCon 2022 に参加してまいりました。 これまでも本ブログで Daprに関する記事をアップしてきましたが、Daprは一言でいえばPubSubやState Storeなどのレイヤを抽象化し、アプリケーションからのインターフェースを共通化するものです(詳しくはDapr Conceptをご覧ください)。 techblog.ap-com.co.jp 少数のコンポーネントを使ったシステムを開発している場合はあまり異議を感じないかもしれません。 しかし、C…

Azure Container Apps - DaprのマネージドID対応がGAしました

…er Apps の Dapr に関するアップデートのうち、マネージドID対応 についてご紹介します。 techblog.ap-com.co.jp Dapr? Daprとは何か?という方もいると思いますので簡単にご紹介します。 DaprはMicrosoft主導でOSSとして開発されている分散アプリケーション用ランタイムです。 多様なクラウドサービスやソフトウェアに対し、抽象化されたインターフェースを提供してくれるものです。 本ブログでも過去にDaprをテーマとした記事がいくつか…

【Microsoft Ignite 2022速報】コンテナ関連のアップデートをピックアップ

…er Apps - DaprのマネージドIDサポートがGA azure.microsoft.com Daprを利用してAzureリソースに接続する際に、マネージドIDが使えるようになりました。 認証情報を管理する必要がなくなるのはラクでいいですね。 こちらのドキュメントにマネージドIDの記載が追加されています。日本語版はまだ更新されていない模様。 learn.microsoft.com Azure Container Apps - DaprのSecret APIサポートがGA…

Azure Container AppsでCI/CD(GitHub Actions編)

はじめに こんにちは、ACS事業部の吉川です。 Azure Container Appsが5月の終わりにGAされ、早くも3か月ほどが経過しました。 techblog.ap-com.co.jp 利用検討する方も増えてきているかと思いますので、本ブログでもいろいろな使い方をご紹介できればと考えています。 過去には以下のような記事も投稿されています。 techblog.ap-com.co.jp techblog.ap-com.co.jp techblog.ap-com.co.jp …

Azure Container Registry(ACR)でHelmチャートを共有する

…erや Istio/Daprなど、各種OSSをご利用になられた方は 何度かhelmによるインストールを体験したことがあると思います(このブログ記事の中でも何度か利用しています)。 Helmはアプリケーションをデプロイするためのいくつかの定義ファイル(Yaml)をテンプレートとしてまとめ、アプリケーションのデプロイを 容易に実行できるようにするKubernetes用パッケージマネージャーです。 多くの場合はOSSをインストールする際にご利用になっていると思いますが、もちろん自作…

Azure Container AppsでDaprを使ってみる

…ョンランタイムとしてDaprを活用したサービスとなっています。 詳しく理解したい方はこちらをご覧いただくとよいと思います。 さて、一連のキーワードをお聞きになってお気づきの方もいらっしゃるかと思いますが、概ね先日からご紹介してきたものと同等の内容です。 つまり、これまでご紹介してきたものはACAでも動作するはずです。今回はその内容をご紹介したいと思います。 システム構成 AKSのときと同様で、稼働環境がAzure Container Appsとなります。 設定方法 基本的にア…

AKSでDaprを使ってみる(5)Contourと組み合わせる

…のテーマは「AKSでDaprを使ってみる(5)Contourと組み合わせる」、 別名「AKSでContour Ingress Controllerを導入してみる(X)Daprと組み合わせる」 となります。ここまでやってきた DaprとContourが合流します。 以前DaprとNginx ingress controllerを組み合わせて利用する方法をご紹介しました。 Nginx ingress controllerでできるならば、Contourを利用した場合でも同様にできる…

AKSでContour Ingress Controllerを導入してみる(3)Multiple Upstream

…zurecr.io/dapr-sample/aggregator:0.2.0-SNAPSHOT imagePullPolicy: Always ports: - containerPort: 8080 volumeMounts: - mountPath: /shared/java-agent name: java-agent readOnly: true env: - name: TITLE_VERSION value: v2.0 - name: JAVA_TOOL_OPTI…

AKSで Contour Ingress Controllerを導入してみる(1)

…ケーション部分は以前Daprの紹介の際に利用したものを使います。 (HTTP呼出しならば、設定を変更するだけでDaprの有無にかかわらず動作する、というのはDaprの利点でもありますね) 構成は以前の記事と同様です(もちろん、Ingress controllerがContourになります)。 インストール Contourのインストール まずContourをインストールします。ここではhelmを利用します。 インストール先のnamespaceは ingress-system と…

AKSでDaprを使ってみる(4) Service Busと連携してPubSubする

はじめに 「AKSでDaprを使ってみる」シリーズ、これまでの3回 (1、2、3)は Service Invocation機能を利用したものでした。Service Invocation機能だけだと(普通のREST APIと何が違うの?)と 思われたかもしれません。しかしDaprの実力は実はService Invocation以外のところにあると思います。今回はそんな Daprの本領を発揮する部分の1つを動かしてみたいと思います。それは「Pub/Sub message brok…

AKSでDaprを使ってみる (3) App InsightsでTracing

…ていますか? 前回はDaprとAzure Monitor/Application Insightsを連携させるところまで行いました。 techblog.ap-com.co.jp 今回のアプリケーションはJava / Spring Bootを使っていますし、せっかくですのでこちらにもJava Agentを導入してみようと思います。 Java Agent導入 Javaを利用している場合、Java Agentを導入するだけで、コードを変更する必要なく簡単にApplication I…

AKSでDaprを使ってみる(2) MetricsとTracingを有効にする

…めまして、「AKSでDaprを使ってみる」の第2回目。 前回はAKSにDaprをインストールし、ingress controllerを使ってWebアプリケーションを実行するところまで行いました。 techblog.ap-com.co.jp 今回はDaprのMonitoringとDistributed TracingをAzure Monitor/Application Insightsと連携してみたいと思います。 前回ほどではありませんが、今回もちょっとしたトラップが待ち受けて…

AKSでDaprを使ってみる(1) Ingress Controllerと組み合わせる

Dapr on AKS はじめに Dapr(Distributed Application Runtime) をご存知でしょうか。 Microsoftも主要開発元として参画している、マイクロサービスの開発と実装を簡略化するAPIを提供するもの です。 Azureにおいては、プレビューですが AKSのadd-onとしても提供されていますし、Azure Container Apps でも採用されています。 dapr.io そんなDaprですがだいぶ盛り上がりを見せつつあるようです…

3つの特徴で理解するAzure Container Appsの概要

…リング設定 (3) Dapr Control Planeのマネージドサービス化 1. AKS Cluster と Kubernetes リソースの抽象化 ACAはインフラ (Kubernetes) の詳細を隠ぺいし、開発者の関心から分離するコンセプトで作られています。(図1) 図1 : ACAとAKSの管理スコープの違い ACAにおいてKubernetes クラスターは Container Apps Environment という仮想的なエンティティに抽象化されています。その…

Dapr is not a Service Mesh

…ーションを調べていてDaprとOpen Service Meshについて「機能が似ているように見える」「差分は何だろうか?」という疑問を持ちました。本記事はそのまとめになります。 サマリ Daprは「Microservices自体の開発を容易にすること」を意図した製品であり、Service Meshを目的としていない しかしながら、DaprはDisrtibuted TracingなどService Meshと同等の機能を一部持っている 上記の理由のため、Dapr単独では実現不…