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
BBSakura Networks, Inc
February 21, 2023
Technology
0
420
新卒でもできることはある! 〜OCX自動化奮闘記〜 /newcommer working with ocx automation in bbsakura
2023-02-16 BBSakura公開社内勉強会 Vol. 1 で発表の資料共有です。
新卒として自動化業務に携わった時のお話です。
BBSakura Networks, Inc
February 21, 2023
Tweet
Share
More Decks by BBSakura Networks, Inc
See All by BBSakura Networks, Inc
簡易 DRA の自作を振り返る
bbsakura
0
430
English Study
bbsakura
1
530
BBSakura Networksでの SRv6 Mobile User Plane(MUP) 関連の取り組みまとめ / Development status of SRv6 MUP at BBSakura Networks
bbsakura
0
680
OCXのAzure シングルタグ機能解説とデモ
bbsakura
0
1.9k
さくらのセキュアモバイルコネクトの運用に CD の仕組みを導入する話
bbsakura
0
380
Other Decks in Technology
See All in Technology
OPENLOGI Company Profile
hr01
0
60k
Cracking the Coding Interview 6th Edition
gdplabs
14
28k
【Snowflake九州ユーザー会#2】BigQueryとSnowflakeを比較してそれぞれの良し悪しを掴む / BigQuery vs Snowflake: Pros & Cons
civitaspo
5
1.6k
Dify触ってみた。
niftycorp
PRO
0
110
DeepSeekとは?何がいいの? - Databricksと学ぶDeepSeek! 〜これからのLLMに備えよ!〜
taka_aki
2
210
IAMのマニアックな話2025
nrinetcom
PRO
6
1.6k
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
12k
完璧を捨てろ! “攻め”のQAがもたらすスピードと革新/20250306 Hiroki Hachisuka
shift_evolve
0
170
AIエージェント元年@日本生成AIユーザ会
shukob
1
280
2025/3/1 公共交通オープンデータデイ2025
morohoshi
0
120
エンジニア主導の企画立案を可能にする組織とは?
recruitengineers
PRO
1
350
開発組織を進化させる!AWSで実践するチームトポロジー
iwamot
2
620
Featured
See All Featured
Become a Pro
speakerdeck
PRO
26
5.2k
Building Applications with DynamoDB
mza
93
6.3k
Product Roadmaps are Hard
iamctodd
PRO
51
11k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1.1k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
A designer walks into a library…
pauljervisheath
205
24k
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時間以内のリソース削除については減免処理が自動で入る • 最近は毎月リリースが入っていて成長期 • ユーザーの要望に応えるのは楽しい