Skip to content

Commit

Permalink
feat: edge computing
Browse files Browse the repository at this point in the history
  • Loading branch information
yossydev committed Nov 16, 2024
1 parent 1805f3d commit 49d543d
Showing 1 changed file with 45 additions and 0 deletions.
45 changes: 45 additions & 0 deletions app/routes/posts/edge-computing-probrem.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
title: "EdgeComputingのプログラマビリティの課題"
description: ""
date: "2024/12/02"
updatedAt: "2024/12/02"
path: "edge-computing-probrem"
published: true
---

## Intro

[Edge Computing: Vision and Challenges](https://cse.buffalo.edu/faculty/tkosar/cse710_spring20/shi-iot16.pdf)という論文を読みました。
EdgeComputingについて、筆者は浅い知識しかなかったのと、論文を読む練習も兼ねて、読んでみました。

## 課題

この論文では、大きく以下のように定義されています。

- プログラマビリティ
- 命名
- データ抽象化
- サービス管理
- プライバシーとセキュリティ
- 最適化指標

本記事では特に気になったプログラマビリティについて記載します。

## プログラマビリティ

EdgeComputingは言葉の通り、Edge(端)で様々な処理を行えることがメリットです。
そしてそういったEdgeComputingで動かされるデバイスのことを、EdgeDeviceと呼びます。

デバイスと言うととても広く、例えば筆者は今のスマホはGoogle Pixelを使っています。
しかし少し前はiPhone SEを使用していました。日々使っていて分かりますが、Google Pixelの方がぬるぬる動きます。

このように、ユーザーによって使うデバイスが異なることによる処理速度の差が、今回のプログラマビリティの課題になります。
他にも当然ですがユーザーのいる場所による通信環境の差などもあります。

この課題を解決するために生まれたのがCompute Stream(計算ストリーム)という概念です。これは処理をクラウドかエッジのどちらで実行させるか決めることができるという機能になっています。
これにより、各エッジデバイスの負荷を減らし、適材適所で処理を実行できるようになりました。

そしてここで余談ですが、WebエンジニアでEdgeComputingと聞くと、Fastly ComputeやCloudflare Workerなどがやはり思い浮かぶのではないでしょうか。
筆者が知識としてあるのはFastly Computeなのでそちらにに絞って話すと、これはエッジデバイスでは実行されず、Fastly側が用意しているエッジサーバー上で動作する機能になっています。

なので今ここで書いたプログラマビリティ的な課題はそこまで影響しないかもしれませんが、Fastly Computeを使う場合、Node.jsのようなランタイムに依存できないという点では、環境依存なのである意味この課題が関わっているのかなと考えています。

0 comments on commit 49d543d

Please sign in to comment.