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
630
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
590
English Study
bbsakura
1
660
BBSakura Networksでの SRv6 Mobile User Plane(MUP) 関連の取り組みまとめ / Development status of SRv6 MUP at BBSakura Networks
bbsakura
0
820
OCXのAzure シングルタグ機能解説とデモ
bbsakura
0
2.7k
さくらのセキュアモバイルコネクトの運用に CD の仕組みを導入する話
bbsakura
0
500
Other Decks in Technology
See All in Technology
データレイクの「見えない問題」を可視化する
sansantech
PRO
1
200
コミットの「なぜ」を読む
ota1022
0
120
アラート調査向けAIエージェントの本番導入とその後/AI Agents for Alert Investigation: Production Deployment and After
taddy_919
0
100
Multi-Agent並列開発を 安全に回すための技術 / Technology for Safely Multi-Agent Parallel Development
tooppoo
0
140
GitHub Copilot 最新アップデート – 「一歩先」の実践活用術
moulongzhang
5
1.7k
MySQL & MySQL HeatWave Report - June 2026
freshdaz
0
100
感情と身体を置き去りにしない、エンジニアの生きのこり方 ──いまから、ここから「自分の状態」を扱うという選択
saorimurooka
0
330
元銀行員がAIだけでアプリを量産!「バイブコーディング実演セミナー 」
tatsuya1970
0
110
AIはどのように 組織のアジリティを変えるのか?
junki
4
1.3k
2026年6月23日 Syncable Tech + Start Python Club にて
hamukazu
0
150
10年間のブログ発信を振り返って見えたWebアプリケーションエンジニアとしての軌跡
stefafafan
0
180
サイバーエージェントにおけるAI推進戦略と変革への取り組み
shotatsuge
0
530
Featured
See All Featured
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
A Soul's Torment
seathinner
6
3k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
240
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
Docker and Python
trallard
47
3.9k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
470
The Limits of Empathy - UXLibs8
cassininazir
1
370
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
370
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時間以内のリソース削除については減免処理が自動で入る • 最近は毎月リリースが入っていて成長期 • ユーザーの要望に応えるのは楽しい