Pycon2023の運営にNOCとして参加してみた！

## Pycon JPってなーに
https://2023-apac.pycon.jp/

> PyCon JPは、日本で開催されるプログラミング言語Pythonに関する国際カンファレンスです。 PyCon(Python Conference)はアメリカをはじめ世界中で開催されており、PyCon JPはそのうちの日本で開催されているものです。PyCon JPがPyConを名乗るためには特にPSF(Python Software Foundation)の許可などの必要はなく、日本独自で開催しています。

https://manual.pycon.jp/overview/about.html

知り合いにPyconの運営に参加するよという話をすると、「Pythonのコンテスト」だと思う人が多かったのですが、PyConはコンテストではなくカンファレンスです！

そしてなんと今年は、Pycon JP 2023はPycon APAC 2023として開催される様だ。(https://pyconjp.blogspot.com/2023/04/pyconapac2023-ja.html)
> PyCon APACとは、アジア太平洋地域の国々の中で持ち回りでやっているカンファレンスで昨年は台湾でオンライン開催されました。
今年は、PyCon JPチームが運営していく国際カンファレンスとなります。

## 会場・日程
カンファレンス: 2023年10月27日-28日
会場: TOC有明コンベンションホール

## 参加の経緯
夏休みに1ヶ月程のインターンに参加しようと思ったのだが、都合が合わなかったので2週間インターンという話に落ち着いた。残りの期間が暇になってしまうので、勉強のために、何かのイベントの運営に参加してみようと思い探し始めた所、Pyconに出会った。自分は元々Pythonで開発を行っているのでちょうど良いと感じた。仮にこれがGoConだったら少し尻込みしてしまっていたかもしれない。

## 参加方法
https://docs.google.com/forms/d/e/1FAIpQLSf3Zw3b-X9KMo81G9BJJFFfq6jYzzUAviLZALzhiCFeFuMybQ/alreadyresponded

Pycon JPの運営のホームページに行くと、スタッフ応募申し込みフォームへのリンクがある。このフォームの質問にそって回答を入力すると、Slackへの招待リンクが送信されてくる。このリンクを踏むとPycon JP運営用Slackへの参加が完了する。

## Pycon JP運営の雰囲気
チームの構成
Pyconは全体の統括を座長、副座長の方が行っており、それぞれ８つのチームに分かれている。
```チーム構成
1. 予算・会計
2. コンテンツ 
3.  デザイン 
4. メディア・広報 
5. NOC 
6. スポンサー 
7. 配信 
8. システム 
```
自分はネットワークやサーバー等を普段から触っているので、NOCチームを希望する旨をフォームにも記載した。

## タスクは自分で勝ち取りに行け！！
一番重要な事は、タスクが降ってくるのを待っていてはいけない。タスクは**自分で取りに行く**こと！

なぜかというと、Pycon JPは運営は、ボランティアによって構成されている。つまりお金が発生するような組織と同じような動きはしない。

例えば、インターンやバイト、その他の活動みたいに誰かが面倒を見てくれて、自分は何もしなくてもタスクが降ってくる様な環境だと思ってはいけない。(一応、副座長さんがタスクを取るまでサポートするために、1on1でミーティングを行ってくれる。)
故に、運営のslackに参加はしているが、全く動いていない様な人はザラにいる。

## 実際にどうすれば良いの？
じゃあタスクを勝ち取る為に実際に何をしないといけないの？という疑問が生まれて来る。
僕がおすすめするのは、自己紹介で全てを伝えるである。
自分は今まで「どんな事をやってきて」、「何に興味を持っている」から「どこのチーム」に入りたくて、そのチームで「こんなタスク」をやりたいという事を伝えてしまおう。

### 筆者の場合
かく言う自分は上記の様な事をやっていなかった。参加した当初はある程度やってれば勝手にタスクが降ってくるだろう位に思っていた。そのため、自己紹介で「学生です。NOC入りたいです」位しか言わなかった。
当然、学生なんて相手にされる訳もなく、
> NOCは今手が足りてそうだから、webチーム行ってくれや～。

うぇ、、うぇぶ！？と少し動揺してしまった。そこで少々強引ではあるが、Nocのslackチャンネルに参加し、現状のネットワークやサーバーの構成についての質問や提案を行ってみたところ、
>もしかしてNOC出来る人？じゃあNOCチーム参加してもらおう！

となり、ようやくNOCチームに参加する事が出来た。

## NOCミーティングに参加
さて、目的のチームに参加する事が出来た。
しばらくすると、何日か後にNOCチームでのミーティングが行われるアナウンスがされたので、参加する事とした。
当日、緊張しながらも、メンバーのみなさんが優しかったので何とか話す事が出来た。その日はチーム内のメンバーに自己紹介とふんわりとタスク決めを行った。

記念撮影も行った。
![F0HGtjtaEAAtmLa.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2738475/1c8da5a1-7293-1c55-9696-313faa634049.jpeg)


https://twitter.com/pyconjapan/status/1675839314016755714?s=20


## 自分の担当(ふんわり決めの結果)
参加時にコンテナ周りや、監視基盤、サーバーサイドを担当したいという話をしたので、今回のミーティングでもその様に話した。その結果、自分はサーバーチームに参加する事が出来た。また、チームをまたいで、コンテナ周りについては自分に振ってもらえる様になった。今年、NOCの目標の一つにはシステムはIaC化もあったので、コンテナを導入する事について、嫌悪感は出されなかった。
ようやくタスクを勝ち取る事が出来た！

## さて、1000人規模を捌いて行こう！
Pycon 2023の参加規模は1000人前後であるらしい。そこまで大きなイベントは始めて参加するので少し緊張する。現在までに自分が行った作業は以下の通り

・**NetBoxの構築**
ネットワーク機器や接続管理用のNetboxを構築した。
![image (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2738475/d3c960ca-0772-c96b-8656-9047b26e121a.png)



・**DNSのクエリログの可視化**
運用の為に用いる監視ではなく、魅せの為の可視化システム。なんかすげえ感を出す。
![image (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2738475/fe58e499-a569-826f-5a0a-94c165a1d870.png)


・**DockerにてDHCPサーバーの構築**
IaC化の一環として、今回はDHCPサーバーをDockerで構築する事になった。イメージをalpineにして最小化を図る。

・**DockerにてDNSサーバーの構築**
こちらもIaC化の一環として、DNSをDockerで構築する事とした。CoreDNSかUnboundで悩んでいる。トラフィックが増加すると、CoreDNSで不具合が起こる事が報告されている。DockerでUnboundを構築する方針を考えている。

## 今後
今後の作業としては、以下の様な項目が残っている。また追々、記事を書いていこうと思う。
- ホットステージ
- カンファレンス当日