Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
新卒でもできることはある! 〜OCX自動化奮闘記〜 /newcommer working wi...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
BBSakura Networks, Inc
February 21, 2023
Technology
640
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
新卒でもできることはある! 〜OCX自動化奮闘記〜 /newcommer working with ocx automation in bbsakura
2023-02-16 BBSakura公開社内勉強会 Vol. 1 で発表の資料共有です。
新卒として自動化業務に携わった時のお話です。
BBSakura Networks, Inc
February 21, 2023
More Decks by BBSakura Networks, Inc
See All by BBSakura Networks, Inc
簡易 DRA の自作を振り返る
bbsakura
0
600
English Study
bbsakura
1
680
BBSakura Networksでの SRv6 Mobile User Plane(MUP) 関連の取り組みまとめ / Development status of SRv6 MUP at BBSakura Networks
bbsakura
0
830
OCXのAzure シングルタグ機能解説とデモ
bbsakura
0
2.8k
さくらのセキュアモバイルコネクトの運用に CD の仕組みを導入する話
bbsakura
0
500
Other Decks in Technology
See All in Technology
AIQAのナレッジ構築について
qatonchan
1
140
Claude Mythos、Fable...フロンティアAIの最新動向と企業のセキュリティ対策
flatt_security
0
190
AIは実装を速くする。では、私たちは何を今作るべきか?-立場を越えてリリースに向き合ったチーム開発の実践 / 20260801 Hiromi Nakaya and Naoki Takahashi
shift_evolve
PRO
3
250
ガバメントクラウドでのランサムウェア対策
techniczna
1
550
[MIRU26] To What Extent Does MLLM-as-a-Judge Exhibit Cross-Model Preference Bias?
keio_smilab
PRO
0
110
AIで楽になるはずが、なぜ疲れる?
kinopeee
0
150
Amazon Bedrock Managed Knowledge BaseDive Deep
ren8k
0
340
組織にどうSREを根付かせるか?〜IVRyの場合〜
abnoumaru
0
250
Retriever と Reranker、結局どうする?
kazuaki
1
580
AI駆動開発は個人技からチーム戦へ:組織でAIを使いこなすための実践設計
moongift
PRO
0
400
歴史から理解するクラウドインフラのしくみ
kizawa2020
1
200
QAタスクをスキル化したいときに考えること
aomoriringo
0
150
Featured
See All Featured
Building an army of robots
kneath
306
46k
Designing Experiences People Love
moore
143
24k
Unsuck your backbone
ammeep
672
58k
We Are The Robots
honzajavorek
0
290
Context Engineering - Making Every Token Count
addyosmani
9
1k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.5k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
470
My Coaching Mixtape
mlcsv
0
180
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
200
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
780
Transcript
新卒でもできることはある! 〜OCX自動化奮闘記〜 2023/02/16四半期会議 公開社内勉強会 BBSakura Networks 株式会社 秋山正道
自己紹介 • 秋山正道 • 2022年7月から新卒入社 • 学生の時はロボットとかAIとか • OCX開発グループでOCXを栽培してます •
OCXで自動化バッチを作ったりしたので、 本日はその様子についてお話します
OCXとは クラウドサービスやデータセンターに接続する閉域網をオンデマンドで構築!
OCXの便利なところ 1. OCXNW接続用の機器を用意する 2. ポータルサイトから購入 3. 構内配線の準備手配 これだけでOCXを利用可能! ① ②
③ データセンター 所有ラック
OCXの裏側 1. 構内配線がされる 2. Linkup確認&開通設定 リソースとして使用可能に! データセンター 所有ラック OCXラック ①
② OCX側の機器がLinkupを検知 ↓ PhysicalPortとして利用可能になるように設定
かつては開通を支える妖精さんがいた PhysicalPort ID: 1 Status: 開通待ち ポート: Ethernet1 ID: 2 Status:
開通待ち ポート: Ethernet3 ID: 5 Status: 開通待ち ポート: Ethernet7 # show interface Ethernet1 # show interface Ethernet3 # show interface Ethernet7 まだLinkupしてないな...
開通までタイムラグがあるという声 • Linkup準備ができてから開通まで1営業日かかっていた • Linkup準備ができていなかった場合、知るのにも時間がかかる • 開通待ちのPhysicalPortが増えるほど、管理が大変になる 開通待ちのPhysicalPortが増えており、早急に自動化をしたかった →スピード重視で自動化の開発を行いたい
PhysicalPort自動開通化 スイッチ用に提供されたライブラリでバッチからCLI実行、 返答を文字列で受け取れる! 楽さ優先で強引に改行(¥n)でparse #show interfaces eth1 Ethernet1 is up,
line protocol is up (connected) Hardware is Ethernet, address is … Description: ********** Ethernet MTU 1504 bytes , BW 10000000 kbit Full-duplex, 10Gb/s, auto negotiation: off, uni-link: n/a Up 127 days, 8 hours, 37 minutes, 54 seconds Loopback Mode : None … 文字列 CLIコマンド バッチ処理 PhysicalPortとして利用可能 になるように設定 文字列をこねて投稿
Tranceiver情報の取得 tranceiver情報も必要だがparseでは欲しい値が取れなさそう #show interfaces Ethernet1 transceiver If device is externally
calibrated, only calibrated values are printed. N/A: not applicable, Tx: transmit, Rx: receive. mA: milliamperes, dBm: decibels (milliwatts). Bias Optical Optical Temp Voltage Current Tx Power Rx Power Port (Celsius) (Volts) (mA) (dBm) (dBm) Last Update ----- --------- -------- -------- -------- -------- ------------------- Et1 30.02 3.32 7.19 -2.33 -2.49 0:00:01 ago CLIコマンド 文字列 文字列をこねて投稿 バッチ処理 PhysicalPortとして利用可能 になるように設定
ありがたいサポート tranceiver情報がcsv出力可能だったので、あとは強引に改行(,)でparse string配列のインデックス指定 #show interfaces Ethernet1 transceiver csv Last Update,Port
(Interface Name),Xcvr Serial Number,Media type,Temperature (Celsius),Voltage (Volts),Current (mA),Tx Power (dBm),Rx Power (dBm) 0:00:00 ago,Et1,XHN194604118,10GBASE-SR,30.27,3.32,7.19,-2.33,-2.49 文字列 CLIコマンド 文字列をこねて投稿 バッチ処理 PhysicalPortとして利用可能 になるように設定
欠点と対策 欠点: • OSのアップデートやマルチベンダによって 文字列の形式が変わると機能しない • slackでエラー通知を入れて少しでも対策 文字列 文字列をこねて投稿 CLIコマンド
バッチ処理 PhysicalPortとして利用可能 になるように設定
ミス購入キャンセル機能がリリース 2/15にリリースされた新機能
いわゆる返品機能が欲しいという声 • リソース作成時に不具合が出たら、消して新しく正しいものを作りたい • 請求の問い合わせ等が必要でなかなか簡単にリソース作り直せない • 削除しただけで請求も調整されると嬉しい • リソース作成時に誤った設定を入れてしまってもキャンセルできる 新機能により間違った課金情報が入ると調整のために労力が増える
→慎重に進めたいので、なるべく簡潔な仕組みにしたい
かつては請求処理を支える妖精さんがいた 請求処理の問い合わせ 請求データを手動で削除 ポータルサイトから購入 請求データがDBに登録される 事務処理等もあ るよ
従来の購入時フロー APIサーバー API リクエスト ポータルサイト 機器への設定 請求情報をDB登録 請求情報DB
キャンセルが入るとややこしくなる 多様な請求情報が入るようになると管理が難しくなる これはキャンセル可能リソースの購入 →キャンセル... これはキャンセル不可リソースの購入 →更新→削除... これはキャンセル可能リソースの購入 →更新→削除... これはリソースの購入 →更新→削除...
これはリソースの購入 →更新→削除... リソースの購入、更新、削除だけ!
ミス購入キャンセル自動化 APIサーバー API リクエスト ポータルサイト 機器への設定 請求情報の管理のみが変わるので、 従来通りリソースはすぐに利用できる バッチ処理 請求情報DB
請求情報を一時的に保管する DBを用意し、キャンセルの期 限を超えたデータのみをバッチ でDBに登録する
ユーザーの声から日々成長するOCX • Linkupを自動検知し、3時間程度で自動開通 • 72時間以内のリソース削除については減免処理が自動で入る • 最近は毎月リリースが入っていて成長期 • ユーザーの要望に応えるのは楽しい