tech.guitarrapc.cóm

Technical updates

Azure

Azure DevOps の Template を利用してビルドする

Azure DevOps Pipeline で何度も同じ処理をYAMLに書いていた場合、Templateを使うとまとめられて便利になります。 実際にビルドが多く重複した定義の多いプロジェクトに適用したところ、表向き300行 (template 含めると100行) 減らせて見通しは良くなりまし…

AzureDevOpsPipeline/Azure DevOps Pipeline で docker build と Azure Container Repository への push を行う

Azure Pipeline を使っているとタスクによせたくなるのですが、あんまりそういうのもアレなのでほどほどにというのはもうちょっと言われてもいい気がします。 Docker はその最たる例で コマンドで3行で済むようなものがDockerタスクを使うといたずらに時間を…

AzureFunctions におけるStorageTableBindingの選択

Azureには、Storage Table という機能があり単純なテーブル形式でデータが管理できます。 C# のコード的にはTableEntity を継承してデータを表現し、メソッドを組み立ててCRUDを実現できます。 さて、このStorage TableをWebJobs 並びにその実装の一つである…

Deployment Groupを用いてManagedにVMへのデプロイを行う

現状、サーバーサイドの多くはコンテナで動かすことが可能です。そのため、VMに直接アプリケーションをデプロイする機会はかなり減りました。最高ですね。しかし、UWPをはじめとして一定の要件下においてはコンテナ対応が技術的に難しく、VMへのデプロイをせ…

MSIを使ったStorage Account(Blob, Queue) の認証を使ってQueueの監視を行う

Azure の Storage Account アクセスといえばConnection String ですが、Managed Service Identity (MSI) による AzureAD認証が可能です。(2019/3/25 に GAしたはず.... あれ?) ここでは、Storage Account ではなく MSI を使ったAzure Functions からのアクセ…

Azure Storage Queue を Application Insightsで監視する

あるあるな Queue の監視ですが、自前でやらなきゃいけないなら Serverless でぺちって任せるのは楽ちんですよ、というのはよくあるパターンです。 実際にQueue Storage のモニタリングをしてみましょう。

Slotを用いたAppService のStaging環境とAzureDevOps PipelineのリリースによるBlueGreen Deployment

Azure の App Service には Slotがあります。 Slotはただ利用してもそれなりにうれしいのですが、Terraform での構成とAzure DevOps の リリースパイプラインでの展開を行えるようにすることで、「CI/CD による App Service の Slot による展開前のStaging環…

.NET Standard や .NET Core におけるAzureのStorage関連nugetパッケージの選択

Azure の C# 向け Storage SDK は nuget でサクッとアプリケーションに追加できます。 しかし、現時点ではWindowsAzure.Storage パッケージとMicrosoft.Azure.Storage.Xxxx パッケージに分かれており、お互いが干渉合うために混在するとAssembly Bindingsを…

.NET Core の Generic Host で WebJobs を利用する

Generic Host を使った場合でも、これまで .NET Core で書いてきた処理は問題なく組み込むことができます。 最近 Azure WebJobs を Generic Host で使う機会があったので見てみましょう。 ※ 社内向けブログの転載なのでシリーズ化します。

Serverless Conf Tokyo 2018 に来ている記事2 : Azure Session #ServerlessConf #serverlesstokyo

毎年参加しているServerless Conf Tokyoです。3回目になります。 tokyo.serverlessconf.io 他のセッション tech.guitarrapc.com 引用は私のコメントです。

VSTSの YAML Build Preview でビルド

Visual Studio Team Service (以降 VSTS) は、プロジェクト管理、Gitリポジトリ、CI (リリース含む) などソフトウェア開発を支援する結構大掛かりなサービスです。 私自身は CI の環境としては結構好き*1な一方他の機能はちょっと大掛かりと感じます。本記事…

ServerlessConf Tokyo 2017 に参加してきた(キーノート編)

勉強会、カンファレンス、ミートアップ、言い方は違っても参加するたびに多くのことを学ばせてもらっています。普段、参加ログを書かないのですが、多くのことを人の参加記事から学んでいるので参加したセッションについて書いてみます。 ※ この記事では キ…

AzureFunctions の Precompiled Functions を試してみる

2017/1/6 に Precompiled Functions がサポートされました!! この対応により、C# Scripting (.csx) に比べてかなり Azure Functions が書きやすくなります。早速Precompiled の利用とこれまでの.csxとの違いを見てみましょう。 Nice. Precompiled functions …

Azure Functions で Asssembly.Location が正しくかえって来ない問題の対処

Azure Functions が6日ほど前に更新されて1.0.10690になってから、以下のエラーが発生する場合があります。 Can't create a metadata reference to an assembly without location. at Microsoft.CodeAnalysis.MetadataReference.CreateFromAssemblyInternal(…

.NET Core on Lambda の CI を組んでみる

パッケージの利用、ローカルテスト、ビルド、Visual Studioからのデプロイまで来たのでローカル開発は問題なくできそうですね。ただCIがないままではチーム開発がしにくいです。 tech.guitarrapc.com tech.guitarrapc.com tech.guitarrapc.com そこで今回は…

Azure Functions で SSLサーバー証明書の有効期限を監視する

久しぶりの AzureFunctions 記事です。この間、グラニでは更に Functions が増えてずいぶんと楽になりました。Function as a Service (FaaS) だけでも非常に助かるものです。もちろん Lambda のような Backend as a Service (BaaS) にはまだまだ足りませんが…

Amazon Route53 の DNS Query Test Tool を使わない手はないお話

このブログに限らず、私は基本的に Amazon Route53 を DNS サービスとして愛用しています。Google Cloud DNS のほうが安かったりとか、いつまでβなんだろうという DNS | Microsoft Azure がありますが、Route53 が好きです。 今回は、 ようやく DNS Query Te…

Azure Web Apps を使ったReference Source による ブラウザ上でのコード追跡

2014年2月に Microsoft がブラウザ上におけるソースコード閲覧の新しい体験を提供しました。今でも使うことが多い、Reference Source です!! 個人的にこの時の衝撃はすさまじいものがありました。 blogs.msdn.microsoft.com http://referencesource.microsof…

Azure Functions - C# で Windowsにインストールされている.NET Framework のレジストリバージョンを適切に返してみよう

現在、5/26 -27 で、ニューヨークにて Serverless Conf が行われています。コンテンツホルダーが信じられないぐらい豪華、かつホットな人ばかりなので、動向に注目です。 https://serverlessconf.io/serverlessconf.io さて、Azure Functions の PMも参加し…

Azure Functions - C# で外部アセンブリ読み込みとRoslynコンパイラに渡してみる

前回は、Azure Functions に C#コードを投げつけると Roslyn Scripting で評価して結果を返すところまでやりました。 tech.guitarrapc.com 次にやりたくなるのが、独自クラス、メソッドも Roslynに評価させることですね。自分用ヘルパーなどはみなさんお持ち…

Azure Functions - C# のRoslyn コード評価環境を構築しよう

C# を書く環境として、Visual Studio や LinqPad、Visual Studio Code が良く話題になります。特にサクッとコード片を試す、インタラクティブにトライアンドエラーをしたいとなると、LinqPad (特に Premium) が素晴らしいです。 LinqPad に関しては、素晴ら…

Azure Functions の API Key を扱ってみる

Azure Functions を使っていて気になるのが認証制御です。 AWS API Gateway + Lamdba では、任意の Token をつけることができました。それでは Azure Functions はどうでしょうか? App Service Authentication/Authorization のような、アカウント連携はあ…

LINE BOT API で緊急避難情報を返すボットのβバージョンを公開しました

熊本地震災害に遭われた方、その関係者の皆様の無事を祈っております。 少しでも力になれることがないかと、LINE BOT API で緊急避難情報を返すBOTを作成したので公開します。 まだLINE BOT API がβバージョンのため、友達上限が50人と苦しい制限があるのが…

Azure Functions - C# を活用するために気をつけていることをまとめてみる

Azure Functions たのしいです。今回は、現時点で グラニにおいて Azure Functions を展開するにあたり気をつけていることをメモしておきたいと思います。 現時点で、リリースされて2週間程度に加えて、プレビュー版なので今後変わる可能性が高いです。 が、…

Azure Functions で Monitoring (監視)機能が利用可能になったようで実は?

まだリリースに関する告知がないのですが、Azure Functions で リリースが待たれていた Monitoring Functionality (監視機能) が先ほど利用可能になりました? azure.microsoft.com 早速見てみましょう。

Azure Functions - C# で安全に機密情報を渡そう

Azure Functions は、本当に各所で活用できるポテンシャルがあり、すでに多くの実績をグラニで積んでいます。実際グラニでは、プロダクト投入に加えてインフラにおける中心となりつつあります。活躍できるシーンが多く思いつくため、どんどん実装が追加され…

Azure Functions - C# で外部.csx ファイルをファンクションにロード可能になりました

Azure Functions で、ファンクション本体の run.csx から、外部の .csx を呼び出せるようになりました! これは相当大きな改善なので早速見てみましょう。 あ、あと、Azure WebJobs と Azure Functions をどう選択するか、中の人の神記事があるので読んでお…

Azure Functions を使って C# で LINE BOT を作ってみた

Azure Functions の活用をいろいろ考えていたところで、そういえば LINE BOT API がトライアルになってました。 qiita.com Azure Functions で簡単に爆速10分で作ってみました。

Azure Functions で C# の拡張メソッドを定義、利用してみた

最近 Azure Functions の記事しか書いてませんが、それぐらいの価値があるサービスなので AWS Lambda 以外にも把握、活用しておくといいともいます。 これまで、C# Script (.csx) をAzure Functions で利用してきました。利用、CI、外部ライブラリ(NuGet) の…

Azure Functions - C# で Nuget パッケージを利用してみた

さて、Azure Functions の基本的な利用、GitHub や VSTS でのCI まで見てきました。 以前みた中で残っている、Azure Functions を本番で利用できるようにする最後の砦が「外部ライブラリの利用」です。 tech.guitarrapc.com 外部ライブラリの利用。つまり、N…