若手エンジニアが育成に携わってみた@AITAC

$whoami
藤原峻輝(@renjikari)➔ NTT コミュニケーションズ 技術開発部➔ サーバ/バックエンドエンジニア➔ I ♡ Python➔ I ♡ Docker➔ I ♡ Infrastructure as Code➔ 学生時代は3年程度ベンチャーにてアルバイト

$whoami
西村優吾
➔➔
➔
➔

NTT コミュニケーションズ 技術開発部
主な業務：ネットワーク構築、自動化設計
最近の個人的トレンド：EVPN
沖縄オープンラボラトリ主催スペシャリスト育成プログラム第1期
生Agenda
•
•
•
•
•
•
•

AITACとはStep1のカリキュラム紹介
NTTコムのAITACへの期待/関わり私が担当した講義
AITACで講師をするということ/感じたこと
フルスタックエンジニアを育成するにはおわりに

AITACとはインフラ人材育成• 高度 IT アーキテクト育成協議会
AITAC : Advanced IT Architect Human Resource Development Council

https://AITAC.jp/
contact@aitac.jpAITAC が育成を目指す人材像• トップアーキテクト• ICT 技術を「武器」としてアイディアをシステムに具現化できる人材• フルスタックエンジニア• 従来の区分である「ネットワーク管理者」と「サーバ管理者」の垣根を超えたハイブリッドなエンジニア• システムを運用できるエンジニア• システムを理解しトラブルを解決できる人物• 監視を行うことのみが運用ではない

人材育成のステップ• 段階をふんだ学習体制• 段階毎の認定制度• 実践的シナリオに基づいた
グループ学習制度

履修段階

学生のケース
半期

週 授業

社会人のケース
集中講義 日座学・演習
実習

プロフェッショナル育成

集中実習 日集中実習 日インターンシップ ヶ月への参加

人脈形成をサポート

Step1のカリキュラム紹介

Step1のカリキュラム
••
•
•
•
•
•
•

Network基礎からSDN,OpenFlowまで
OSとLinuxの話(Server周り)
ストレージとDBの話
クラウドという概念から利用法
Network・Server運用監視
自動化
コンテナ
セキュリティSTEP1 (ネットワーク)

ネットワークの基礎技術構築・運用技術
設計方法

講義の概要本講義の位置付け、実施方針を伝える
ネットワークの理論
TCP/IP ネットワークの概要
TCP/IPネットワークの全体像と階層モデルについて理解する
Ethernet の仕組み
Ethernetを用いたネットワークの構築 Ethernetを用いて小規模なネットワークを構築する
演習
スイッチの操作を覚える
ネットワーク層
ネットワーク層の役割について理解し、IPアドレスの構造、IGPの仕組みを理解
IP経路制御 (1)する
EGPの役割とBGPの仕組みについて理解する
IP経路制御(2)またBGPを応用した実際の経路制御手法についても学ぶ
IGPとEGPの階層的な経路制御について学び、RIP、OSPFを用いた経路制御
経路制御演習 (1)の演習を行う
経路制御演習(2)ネットワーク冗長化と設計
ネットワーク設計論

BGPの仕組みについて理解し、ルータの設定を通じて理解を深める
信頼性向上のためにネットワークの冗長化が必要であることを理解する
各層での冗長化技術を学ぶ
データセンタや ISP における実際のネットワーク設計や Interop Tokyo におけるネットワーク設計からその意味を学ぶ

STEP1 (コンピューティング)

OS/コンピュータアーキテクチャ
サーバの基礎技術
スケーラビリティー
仮想化技術

OS/サーバの仕組みセキュリティ
Linux のインストールとサーバとしての設定
負荷分散と仮想化

サーバに用いられるOSの基礎的な仕組みを理解する
現在のコンピュータアーキテクチャとCPUの仕組みについて学ぶLinux を例として OS の構造と仕組みを理解する
Linux を利用して構築されるサーバの事例を理解する
OSインストールからソフトウェアのインストール、性能試験までを一通り行い、サーバ構築の一連の流れを学ぶ
サーバ仮想化技術について学びその利点と欠点を理解するサービスの負荷分散手法について学ぶ
実際のシステムについて事例を通じて理解を深める

STEP1 (クラウド・仮想化技術)
大規模システム構築に向けてサーバ仮想化や負荷分散、ネットワークの冗長化を利用して大規模可能なシステムの構築について学ぶ

クラウド技術の概要
クラウドサービス構成法

クラウドのアーキテクチャとその要素技術を理解する

ストレージとデータベース技術
コンテナ技術と演習
最新ネットワーク制御技術
商用クラウドを用いたサービスの構築
サービス仮想化
統合管理技術
商用クラウドサービスの活用
ハイブリッドなシステムの構築
SDN技術

ファイルシステムからネットワークベースのストレージ、データベースの技術について理解する。
オンプレミスクラウドの構築について、 IaaSとPaaSの場合を経験する
オンプレミスクラウドを構築する場合の注意点とセキュリティについて学ぶ
商用クラウドの利用方法を学び、商用クラウドを利用したシステム構築事例について学ぶ
商用クラウドを利用して Web サービスを構築する手法について学ぶ
データベースを利用しデータ解析基盤として利用する手法について学ぶ
SDN技術の基礎を理解し、その特徴と既存ネットワークとの違いを理解する

OpenFlowを用いたネットワークアプリケー
OpenFlowアプリケーションを実装できるようになるションの作成NFV技術の概要

NFV技術の概念を理解し、その実現方法と技術課題について理解する

STEP1(サービス設計・自動化技術)
インフラ設計論
構築プロセスの紹介
インフラ運用・監視・管理技術
サービスインフラのセキュリティ各技術を適切に活用しサービスインフラの設計・構築・プログラミング
インフラ構築と運用の自動化を用いた設計理論を習得する(必要なプログラミング初歩を含む)

サービスを構築するにあたって必要な要件とそれを満たすコンポーネントをどう利用するか、議論を通じて理解を深める
ShowNet や大規模ネットワークを事例としたネットワーク設計論を紹介する
構築したインフラシステムを監視するための手法と、監視要件を元にした監視システムの構築について事例を通じて学ぶ
サービスインフラに対して求められるセキュリティとその注意事項について実際の事例や教材を元に学習する
インフラ構築を自動化するためのツール群に関して、プログラミング言語の初歩を交えながら学習する運用ツールによるインフラ構築と運用の自動化自動化ツールを用いてインフラの構築と運用自動化を体験する
実シナリオに基づいたアーキテクチャ設計

グループを形成し、グループ単位で与えられたサービス課題を実現するためのシステムアーキテクチャについて議論を行いまとめるNTTコムのAITACへの期待/関わり

NTTコムにおける技術育成• 入社時に、少しだけ技術研修がある(例年2日程度)• その後はOJTが主体• 技術開発部ではbootcampという育成制度がある•

NW/Sec/Cloud/App/DSAI の分野でそれぞれ若手が一年目に研修するNTTコムとして取り組むモチベーション● 人材育成●○ソフトウェアからインフラまで体系的に学べる数少ない本カリキュラムにおける、講座受講や講師派遣による社員のスキルアップ○

ユーザ企業エンジニアや営業まで幅広く育成することによる、提案の円滑化や利用範囲の拡大・深化

人脈形成○

AITAC会員企業や教育機関との交流

コンテナ技術と演習(私が担当した講義)

私が担当した講義• 「コンテナ技術と演習」という題で講義と演習を行った

講義の様子講義を作る際に注意したこと• 多くの受講者に満足してもらいたいというモチベーション• 受講者のバックグラウンドが非常に様々という問題•

講義：コンテナの基礎からname spaceの説明まで広い範囲で講義を行い、いろいろなレベルの人に対応•

演習：ハンズオン(コピペで動く)と演習(考えないと解けない)
分けることで、幅広い層に対応に

AITACで講師をするということ/感じたこと

AITACで講師をするということ● 様々な年齢層、バックグラウンド(スキル)な人が受講する○

それらに対応した講師でないといけない○

学生相手に教えるのとは違う感覚○

大変だが、教える方のスキルが伸びていく感触もある● いろいろな人と仲良くなれる○

東大の准教授/助教授○

参加企業の方(CTC/NEC/KDDI/日商エレクトロニクス/Cisco/etc...)(敬称略)カリキュラム策定から参加して● カリキュラム策定の段階から中に入り込んで講義を作れる○○

はじめはOpenstackの講義をしてくれないかと打診された■

それに対し、私からのコンテナの講義をやりたいと提案した■

適切な理由を説明すれば自分のやりたいことが出来るうえ、カリキュラムをいいものにしていける。

0 =>1の手探り感があったので、楽しく参加できた■

複数企業＋大学でいろんな文化を持った人たちと一緒につくりあげる楽しさ

AITACに関わって感じたこと● 講師として、受講者のレベル感に合わせた内容や座学・ハンズオンの構成を考えることを意識できるようになった● カリキュラム内容の策定から講師経験を通じて、育成側の難しさと責任感を強く意識○

学生への技術広報活動を通して、ソフトウェアもインフラも両方興味あるという人は少ないことを再認識○

そもそもこのカリキュラムに参加してくるだけで両方に興味を持っている人が集まっているフルスタックエンジニアを育成するにはフルスタックエンジニア• Network/Server/Storage/Applicationに精通するエンジニア•

そんな人そうそういない•

すぐ育てられるわけもない•

AITACに参加していただける企業の中からどうやってこういう人を育成していくかを常に考えないといけないフルスタックエンジニア• よく言われるのはT字型/π型人材
NW
この太さを育てるのがAITAC

ServerStorageApprication

おわりにAITACに関わってきた率直な感想• 受講者目線•

フルスタックエンジニアになるための幅広い学習の第一歩としてカリキュラムの構成が優れていると思った•

各セクションのエキスパートがweb系でもEnterprise系でも必要とされるスキルを厳選しているのがよい•

同時に、講師の技術への愛が顔をだしており、人によって講義の難易度にばらつきがあるという課題は抱えている

AITACを通して• AITACのカリキュラムを通してフルスタックなスキルを学んでいく
きっかけとなって欲しい• 当然教える側としても、担当範囲だけでなく幅広く勉強していこうというモチベーションにもつながる• カリキュラムを通して受講者や講師でのコミュニティができ、それぞれがエンジニアとして成長していきたい