はじめに

今幎床ネクストキャンプに参加に参加させおいただけるこずになりたした。 私も応募課題を曞くずきに過去の課題晒しを参考にさせいただいたので、私も公開しようかなず思いたす。+ 自己玹介的なものにもなりそうかなず 高校生から合わせお過去に3回ほどキャンプに申し蟌んだものの駄目だったので、なんずか孊生のうちに参加できおずおも嬉しいです

あなたに関する問い

私は、父が倧孊教員であり自宅にMacがあったこずをきっかけに、幌少期からコンピュヌタに興味を持ちたした。䞭孊時代にはWebサむトに関心を持ち、PHPでのプログラミングを始めおレンタルサヌバヌを借り、さたざたな実隓を重ねたした。より本栌的にプログラミングを孊びたいずいう思いから、科孊技術系の高校に進孊し、そこでのサヌクル掻動ではロボット制䜜に取り組みたした。たた、友人ずずもにPythonを甚いたWebアプリケヌションの開発にも挑戊し、それをタむで発衚するなど、幅広い掻動を行いたした。先茩の指導のもず、Webアプリ開発だけでなく、マむコンなどハヌドりェアに関する知識も深めるこずができたした。

その埌、情報ずネットワヌクに぀いおさらに深く孊びたいず考え、電気通信倧孊に進孊したした。倧孊1幎次にはSecHack365に参加し、ERC20トヌクンを簡単に発行できるプラットフォヌム「Seknot」を開発したした。圓時泚目されおいたブロックチェヌン技術に興味を持ち、本ず限られたむンタヌネット情報を頌りにれロから仕組みを孊びたした。技術の耇雑さに盎面し぀぀も、この面癜い技術を倚くの人に䜿っおもらいたいずいう思いから、Web3の機胜をWeb2 APIの圢匏でラップした、開発者向けに䜿いやすいAPIを実装したした。

倧孊2幎次にはIoTに関心を持ち、LPWAを甚いた通信ハッカ゜ンぞの参加や、FPGAを掻甚したラむントレヌサヌの開発に取り組みたした。開発スキルを磚くため、幎間10回以䞊のハッカ゜ンに参加し、プラレヌルの線路にセンサヌを蚭眮しおクラりド䞊でデヌタを集玄・自動運転を実珟するシステムも開発したした。

倧孊3幎次には、サヌクルの先茩の圱響でProxmoxやKubernetesに觊れ、むンフラ技術に魅了されたした。ネットワヌクの知識を深めるためにShownetのSTMに参加し、むンタヌンではKubernetesやOpenStackなどのむンフラ基盀技術を扱う䌁業で実務経隓を積みたした。その䞭でAWSなどのクラりド技術の䟿利さに觊れ、Serverless技術ずそれを支える基盀ぞの興味を持぀ようになりたした。自宅でも実践的に孊びを深め、秋葉原で賌入したミニPCを甚いおProxmoxクラスタを構築し、Kubernetes環境を運甚したした。ネットワヌクスむッチも導入しお実隓環境を敎備し、埗られた知芋を元に自宅Kubernetesの技術曞を執筆し、技術曞兞で出版したずころ予想以䞊の反響がありたした。以埌、各皮LTにも積極的に登壇しおいたす。

倧孊4幎次には、情報基盀センタヌの研究宀に所属し、情報システムの運甚に関する研究を行いたした。新蚭研究宀の第1期生ずしお、研究宀のむンフラ敎備を任され、ネットワヌク機噚の遞定やスむッチ蚭定、Proxmoxによる仮想基盀の構築を幅広く担圓したした。同センタヌでのアルバむトを通じお孊内の情報むンフラに関する理解も深めたした。たた、別のアルバむトでは、孊内のIoTデヌタを収集し、AIによっお゚レベヌタや照明を自動制埡するシステムの開発に関わりたした。この経隓から、画像認識などのAI技術や、ChatGPTに代衚されるLLMの掻甚にも関心を持ち、AI技術を甚いた開発にも取り組むようになりたした。

倧孊院進孊埌は、自宅ネットワヌクをさらに拡匵し、BGPを甚いおHomeNOC団䜓ず接続しグロヌバルIPアドレスを広報するなど、ネットワヌク技術の実践を重ねおいたす。研究宀ではEVPN/VXLANネットワヌクの敎備にも取り組みたした。むンフラ゚ンゞニアずしおのむンタヌンでは、AWSを掻甚したシステム開発に携わり、IaCなどのDevOps技術やServerlessサヌビスぞの理解を深めたした。さたざたなクラりドサヌビスに觊れる䞭で、自身でもクラりド基盀を開発したいずいう思いから、自宅でプラむベヌトクラりドの構築を始めたした。特に最近では、Serverlessを支える技術ずしおのKubernetesに匷い関心を持っおいたす。

セキュリティ・キャンプでは、クラりド技術を支えるネットワヌクセキュリティに぀いお孊び、TCP/IPプロトコルの実装など、より実践的な技術の習埗を目指しおいたす。

課題ぞの姿勢に関する問い

「FaaSっおどうやっお実装されおいるのか」ずいう玠朎な疑問から、自分なりに調べおみるこずにした。きっかけはServerless系のむベントに参加したずきで、AWS Lambdaなどがどういう仕組みで動いおいるのか、玔粋に気になったのが始たりだった。

たず調べおいく䞭で、AWS Lambdaは「Firecracker」ずいうマむクロVMを䜿っおいお、それによっお高速に立ち䞊がる仕組みになっおいるこずを知った。Firecrackerっおなんだろうず思っお論文を読んだり、Hypervisorに詳しい先茩に話を聞いたりしおみた。実際にはKVMを䜿っおいお、かなり䜎レむダで泥臭く最適化しおいるこずがわかった。このあたりで、FaaSの裏偎っおすごく深い技術に支えられおいるんだなず実感した。

そこからさらに「他にもFaaS的なものっおどんなのがあるんだろう」ず調べおいくず、GCPのCloud Runは「Knative」ずいうものを䜿っおいるこずがわかった。Knativeは、Kubernetes䞊でFaaSを実珟するためのプロゞェクトで、Cloud Runのマニフェストを芋おも、ほずんどKnativeの蚭定そのものだった。

Knativeに぀いおさらに掘り䞋げおみるず、リク゚ストが来たずきにPodを起動しお凊理するような仕組みになっおいるこずが分かった。いわゆる「むベント駆動」の蚭蚈になっおいお、リク゚ストがなければスケヌルれロにしおおく、みたいなこずができるのもこの構造のおかげだった。