supino blog

やりきれないエンジニアの日常

Azure請求書の主要項目とコスト確認の方法


1. この記事の範囲

Microsoft Azureの請求書を理解し、効果的にコストを管理するためには、さまざまな項目とその関係性を把握することが重要です。本記事では、Azureの請求概要に含まれる主要な項目について説明し、コスト確認方法を紹介します。

2. 背景

Azureのリソース使用量とその関連コストを正確に把握することは、サービス運営において欠かせない要素です。特に、プロジェクトの予算管理やコスト最適化を行う上で、POやビジネスサイドのメンバーがAzureの請求項目を理解することが求められます。これにより、リソースの効率的な利用と無駄のない予算運営が可能となります。


この記事の日本語版にアクセスするには、こちらをクリック.
https://zenn.dev/supino0017/articles/eda3f5f9e94eaa


To access the English version of this article, click here.
https://medium.com/@supino0017/understanding-key-items-in-azure-invoices-and-how-to-verify-costs-c8f0230b774f

Azure CLIを使用したAzure App Service Environment (ASE) の管理


1. この記事の範囲

この記事は、Azure CLIを使用してASEに関連する情報を取得するための具体的なコマンドとその使用方法を紹介します。ASE内でホストされているアプリケーションの詳細、App Serviceプラン、Webアプリケーションの設定および構成、仮想ネットワーク構成に関する情報を取得する方法を記載しています。

2. 背景

Azure App Service Environment (ASE) は、完全に隔離された環境で高スケーラブルなWebアプリケーションをホストするためのAzureサービスです。ASEは、企業のセキュリティおよびコンプライアンス要件を満たすために、専用のインフラストラクチャを提供します。これにより、アプリケーションのパフォーマンスと信頼性が向上し、セキュリティが強化されます。この記事では、Azure CLIを活用して、ASEでホストされているリソースの詳細情報を簡単に取得し、管理およびトラブルシューティングを効率的に行う方法を紹介します。


この記事の日本語版にアクセスするには、こちらをクリック.
https://zenn.dev/supino0017/articles/43b3c83d20378e


To access the English version of this article, click here.
https://medium.com/@supino0017/managing-azure-app-service-environment-ase-with-azure-cli-8b8ec58ac7f4

Azure App Service Environment (ASE) v3 への移行ガイド


1. この記事の範囲

この記事では、Azure App Service Environment (ASE) の最新バージョンv3 への移行に関するガイドとして、ASEv3の概要、移行の背景と必要性、影響を受けるリソース、移行パスについて記載します。ASEv3への移行プロセスを理解し、適切な移行方法を選択するための方法を確認します。

2. 背景

 速度、スケーラビリティ、VNetサポートを強化した最新バージョンの App Service Environment v3 がリリースされました。これに伴い、App Service Environment v1 および v2のサポート終了が近づいています。v3への移行は、シームレスな運用効率とコンプライアンスの確保だけでなく、新機能と潜在的なコスト削減を活用することができます。
 2021年8月、AzureはAzure Cloud Services (クラシック) が2024年8月31日に廃止されることを発表しました。App Service Environment v1 および v2 は Azure Cloud Services (クラシック) 上で実行されており、同時に廃止されます。そのため、App Service Environment v1 または v2 を使用している場合、今が App Service Environment v3 への移行を検討する最後のタイミングです。


この記事の日本語版にアクセスするには、こちらをクリック.
https://zenn.dev/supino0017/articles/8e4fbc39e2a64f


To access the English version of this article, click here.
https://medium.com/@supino0017/azure-app-service-environment-ase-v3-migration-guide-e7ba04fe3224

2023年に学んだ技術・書籍

主に.NETとAzure関連技術を扱い、「Learnをやって」「検証」を繰返した事で手順や基礎を得られた。実際に要件に合わせて構築すると上手くいかない事も多く、期待値を超えるバリューのアウトプットは難しかった。今まではFront-ServerSideを担当してきたが、ここ数年でServerSide-Infraが守備範囲になった。触れる技術も変わってきた。選択するアーキテクチャや構成が正しいか「正解がないシステム開発」に経験の浅さから終わりないプレッシャーを感じる年だった。その分、モノにしたいという欲もでてきて、堅実に目の前の技術に向き合いたいと思える年でもあった。

【 技術 】

APIテストを自動化するための設計

Azure Functionsを利用したAPIがあり、自動テストを導入していないため、開発者としてテストのコスト軽減を図りたかった。最初に機能テストの自動化から行うための技術選定を実施した。プログラミング言語やCI/CDシステムは極力サービスで使用されているものを利用し、またテストケースはコード上で見える化され、属人化せず開発者がメンテナンス可能であるための「技術選定」「構成」を考えた。
zenn.dev

Azure Media Player APIメソッド

Azure Media Service, Azure Media Playerを使用してストリーミング配信を行っている。動画再生におけるユーザー操作ログを取得しく、Azure Media Playerで取得できるイベントがどんな種類があるか確認した。
Azure Media Service, Azure Media Playerは2024年6月に廃止してしまうので、次は移行作業だ。
zenn.dev

Azure Static Web AppsでSPA, 認証機能にAzure Active Directory B2C

SPAでWebアプリケーションを実装した。認証周りはIdentity Serverを利用していたが、今回の構築では認証機能にAzure Active Directory B2Cを採用した。SWAを利用した場合はファイルアップロード機能で30Mまでしかリクエストできない事を知り、結果的にStatic Web Appsをやめ、React + .NET Coreに技術を選定した。
zenn.dev

その他

上記以外でも「.NET Core2.1 -> .NET6への移行」「非推奨のAzure関連のNuget代替」なども工数がかかった作業だった。運用面では「Azure Monitor」を使ったアプリケーション・ログの監視やアラート設定なども勉強になった。

【 LT 】

自分に合った武器を探す 30代この先のキャリアに怯えています

supino.net

Azure Functionsを用いて データウェアハウスの一部を自動化

supino.net

【 書籍 】

Azure, .NET関連

ASP.NET Core MVCプログラミング入門 .NET 7対応版

.NET Core MVCでのWebアプリケーション開発に携わってから数年たつので基礎的な知識はあるが、改めて誰かに説明したり、技術を文章にまとめる際に参考にした。触ってる技術だからこそ基礎をしっかり定着させたいので何度も読み返す。
ASP.NET Core MVCプログラミング入門 .NET 7対応版

ひと目でわかるAzure 基本から学ぶサーバー&ネットワーク構築

Azureを利用した仮想マシン・仮想ネットワークの設定・操作手順を豊富な画面でわかりやすく解説してくれる。Azureで環境を構築する際にマシンやネットワークをからめた可用性や冗長構成の設計がハードルが高い。まずはこの本で基本構成を勉強。
ひと目でわかるAzure 基本から学ぶサーバー&ネットワーク構築

Azure定番システム設計・実装・運用ガイド 改訂新版 単行本

App Serviceを利用するにあたり構成や注意点など網羅した一冊。設計や運用で悩んだ際は、とりあえずこの本を最初に読み返すし、付箋をいっぱい貼った本。
Azure定番システム設計・実装・運用ガイド 改訂新版 単行本

Web関連

Web配信の技術―HTTPキャッシュ・リバースプロキシ・CDNを活用する

web配信のパフォーマンス向上は”にわか仕込みの知識”では駄目なのだとわかる一冊。手元に置いてから時間がかかっているが、ゆっくりと読み進めたい。
Web配信の技術―HTTPキャッシュ・リバースプロキシ・CDNを活用する

DB関連

[改訂3版]内部構造から学ぶPostgreSQL―設計・運用計画の鉄則

PostgreSQLは初めてDB管理を担当した際のDBで、PostgreSQLの勉強をきっかけにDBが好きになった。カンファレンスもここ最近は例年参加できて嬉しい。
内部構造から学ぶPostgreSQL―設計・運用計画の鉄則

建前と本音

新しい機能を追加するにあたり、技術選定が必要だった。 外部にお願いしているシステムサポートとMTGをした。

「こういう機能追加を、想定して設計しないと」とタラレバを熱弁され、「スキル不足でお恥ずかしいです」と一応答える。

新卒の頃、数十年前に構築されたシステムを担当した時があった。会社を退職する為の引き継ぎをした際に、「こんなレガシーなシステムになったのは、実装したあなた達のせいですよ」と耳元で急に怒鳴ってきた先輩を思い出した。 入社する前からあったシステムに責任を求められてもね、と思いながらも「スキル不足でお恥ずかしいです」と答えた。

次の日から来なくなった先輩。

先輩どうしてるかなと、エモい気持ちになった午後。

春休みが来る前にLTした

speakerdeck.com 様々なイベントがオフラインに戻りつつある。長時間・連日参加のイベントは調整が難しので今年はLTに挑戦する事にした。18:00-21:00は我が家のゴールデンタイム。在宅勤務でなかったらこの時間帯の参加は厳しい。タイムスケジュールに柔軟さが持てるのがありがたい。

業務システムから抽出したデータをAzure FunctionsでDBに反映させる作業をテーマにした。BlobStorageへのアップロードにバインディングさせた処理だったので、azuriteを使用したlocal実行について話そうと思ったが、あまり深掘りできなかったのでテーマを変更した。

5分程度の発表時間だったがLT中に限って子供が喧嘩を始める。仕事中にメンバーの子供が画面に映る時がある。メンバーが見せる「親の顔」が新鮮でなんだか楽しい。だが自分が同じ立場になると焦る気持ちしか湧いてこない。思考の半分はLT・もう半分は喧嘩の声が気になって仕方なかった。

これから春休みが始まる。小学校に入り長期休みを知った子供達は、学童へ行く事にご不満だ。お迎え時間を早めるなど毎朝交渉を行う。何かと余裕がなくなる春がくる。その前にLTに挑戦出来てよかった。

社内LT 自分に合った武器を探す

speakerdeck.com 社内で「外部からの情報収集やイベントへ参加して」という話題が振られて資料を用意した。

新卒採用で答えた”強み”だけでは、この先の仕事はもらえない。30代になった頃、唐突に不安になった。けれどこれ以上のキャリアや経験を詰めないのは感じていた。新卒で入った会社を退職しベンチャー企業を転々として、今4社目だ。

基礎的なスキルの伸びしろはもう目に見えていた。ならば”自分が使いこなせる武器”を持ちたいと思った。当時は武器の探し方がわからず、目についたイベントに参加するだけだった。たまたまPostgreSQLのイベントに参加して初めて楽しいと思った。参加している人達に憧れた。.NET開発に戻ってきて、仕事で使っている技術のイベントも楽しみになった。

武器を使いこなす以前に”自分に合った武器”すら見つけていない。 けれどImputとOutputを繰り返す中で、違う界隈の人と出会ったり、想像していなかった事にチャレンジする機会もあった。"自分のストーリー"ができているのを感じる。

フレッシュでもベテランでもない。自由度も振り幅も大きいが、ライフスタイルの変化や体力の衰えで端から端まで走りきれない。30代はそんな感じがする。だからキャリアに悩んだ。

武器を手に入れる事で何か評価が変わるわけではない。武器を探す事でキャリアや技術の軸がしっかりしてきた。自分の進みたい道が見えてくる。選択肢が目の前にある時「選択」できる力がほしいと思うようになった。武器を手に入れる意味はそこにある気がする。

ここ数年、目の前の事が楽しいと思える。今できることを気張らず継続したい。

医療ドメインのイベントに参加してみた。

「医療スタートアップのぶっちゃけトーク」というオフラインイベントへ。本業が医療ドメイン系のサービス開発なので参加してみた。

携わって約3年。医療領域は高度な医療機器や電子カルテがあるから、システム化が進んでるイメージだった。実際、入ってわかったのは、思いのほかシステムへの理解は広くなく、導入への抵抗感も大きい。そしてレジャンドの様な先生がいて、まさに職人。そのうえ、医療ドメインは法律やセキュリティの壁が高いって実情を知ったのはここ最近だ。

医療知識はないので用語はわかんない。開発だけしてる私は現場の事情や空気感も正直わからない事が多い。今日は社外のエンジニアさんと会って、似たような話に共感したり、現場の事情を教えてもらった。

カルテや処方箋の電子化、画像診断。情報連携や均一化を実現するプロダクトや予防治療に繋がるプロダクト。医療DXといっても課題も切り口もさまざまで。自分が開発してるプロダクトってどんな課題解決につながるんだっけって改めて考える機会だった。