10年前のネット証券開業時を振り返る。インフラで重要なこと

１０年前の私たちのネット証券の開業は、
後発でり、競合他社が多い中、うまくいくことができたのではないかと思います。

うまくいった理由を、改めてインフラの観点から振り返ってみたいと思います。

<br>

```
注意：
所属している会社の考えではなく、あくまでも個人の記憶の振り返りと、
当時こんな戦略だったのかなという私なりの考えになります。
記憶が正しくないかもしれませんし、会社の考えていることとずれている可能性もあります。
```

<br>
# 新しいネット証券の戦略とインフラ

**私たちのネット証券は、システムを自社開発することによって、
ベンダー間との無駄をはぶき、開発スピードを早くし、コストを抑えることでした。
そして、その分手数料を下げ、多くのお客様を集めるという戦略です。**

```
※今では自社開発をしている企業も多いですが、当時はめずらしかったです。
```

## インフラの仕事とその役割

インフラは、費用がかかります。特に創業時には多くの費用がかかってしまいます。
サーバなどのハードウェア費用、ソフトウェア費用、
データセンター費用、ネットワーク回線費用、社内のPC費用など様々な費用がかかります。

**費用はかかりますが、インフラはサービスを提供するためには、必要不可欠です。**

**では私たちインフラはどうするのがいいかというと、徹底的にコストを抑えるのです。
設立当初は、特に費用を抑えることが重要になってきます。**




## インフラの仕事内容
私たちインフラの仕事内容です。１０年前から今も変わっていないです。
**少人数精鋭で、一人の人が幅が広くやることが私たちインフラの特徴です。**
サーバだけ、ネットワークだけというのではなく、両方できることを目指しています。

**構築**

- ハードウェア設定（BIOS、ファーム）
- OSインストール、設定（カーネルパラメータ、ユーザ作成、NTP、DNSなど）
- ミドルウェアインストール、設定（Webサーバ、DNSサーバ、メールサーバなど）
- ネットワーク機器設定（FW、LB、スイッチ、ルータなど）
- ストレージ設定（NAS、SAN）

**運用・保守**

- パフォーマンス監視、プロセス監視、ログ監視
- ハードウェア監視
- 障害対応（HDD故障、カーネルパニックなど） <br> 深夜の対応もあり


**社内・オフィス**

- PCセッティング
- 社内システム(AD、ファイルサーバ、メール、メッセンジャー、プロキシーなど)
- IP電話設定、コールセンターシステム

**その他**

- 回線手配
- ドキュメント作成（設定書、手順書など）
- ハードやソフトの管理(EOS/EOS)、棚卸
- セキュリティー（脆弱性診断など）
- 効率のための社内システム開発（メーリングリストシステム、機器一覧システム、作業依頼システムなど）

■当時は、こんなことも自分たちでやっていました

- サーバキッティング <br> 費用を抑えるために、HDDやメモリーなどの取り付ける組み立てを自分たちでやったこともあります。<br>部品１個１個が丁寧に梱包されていて、段ボールの数が半端ないです。
- ラッキング<br>もちろんサーバやネット機器のラックへの取り付けも自分たちで行います。<br>一人で1Uサーバ、2Uサーバのラッキングをやっていました。
- LANケーブル作成 <br> ほとんどのケーブルは、100Mや200Mのケーブルを買ってきて、必要な長さに切って、モジュラープラグを先を付けていました。


```
※今なら、LANケーブルの作成は時間がかかるので、すべて購入でいいかと思います。
　当時よりもさらにスピードが求められています。
```


## 開業時のインフラメンバー

**開業頃 インフラ約１～４名（ネットワーク、サーバ、ストレージ、オフィス）**

設立前には、最初はネットワークエンジニア１名で、
次にサーバに強いエンジニア１名、そして第二新卒として私が加わりました。
そして、開業の後にもう１名が加わりました。

私に関しては、周りより若かく技術力も高くなかったため、
インフラ専属というわけではなく、業務テストも手伝えば、
証券会社のイベントで顧客にパンフレットを配ったり、
簡単なプログラムを書いたりと色々なことをやりました。


**開業時のメンバーの印象：**

- 全員中途採用。
- 管理よりも現場のできるメンバー
- 30代の一番現場で力が出せるメンバーが引っ張る
- 指示するだけのエンジニアはいません。みんな機器の設定したり、ドキュメントを作ったりします。


```
少人数という点に関しては、今も変わらないです。
他の会社と違う点であり、私たちインフラの強味だと考えています。
```


<br>
# 開業時、徹底的にコスト削減、スピード重視を目指したインフラ

**ビジネスの成功のために、無駄をはぶき、徹底的にコスト削減とスピード重視をしていました。**
**「infrastructure as code」とか「クラウド」とかない時代でしたが、爆速だったと思います。**

開業当時、私たちのインフラはどのようにやっていたかを、もう少し具体的に振り返ってみたいと思います。

```
以下の内容は、当時こうやろうと決まっていたことだけではなく、
今振り返ると結果的にこうなっていたのではないかという個人的な意見も含まれています。
```


## 必要ないハードはカットしコスト削減
- サーバによっては、RAIDなしで費用削減
- サーバによっては、Bondingなしで費用削減
- サーバによっては、冗長電源なしで、費用削減
- 顧客サービスに影響のないサーバは１台構成にする。
  - サーバ台数を少なくし、費用削減
- **ほとんどのハード保守には入らない**
  - 普通のサーバやスイッチは予備があり、壊れたら予備を使います。
  - 管理工数も削減できます。
- **OSのバックアップはしない。**
  - バックアップ用のストレージの費用削減、運用コスト削減
  - 必要があれば、新規に作り直す。

```
※創業時の考え方であり、現在はより高可用性なシステムになっています。
※ディスクは故障することもあり、故障する復旧の手間を考えると、
　RAID1（ミラー)はした方がよいと思います。
※今ならコンテナや仮想化の技術もありますので、サーバ台数は増やしやすく、
　より信頼性の高いシステムを費用を抑えて実現することができます。

※このようなことができたのは、長年インフラをやってきているメンバーの考えというよりも、
　社長の発想による所が大きかったのではないかと考えています。
```

## OSSを積極採用
- OSには、Red Hat Enterprise Linux, CentOS
- ミドルウェアには、JBoss, Apache, Nagiosなど
- **OSSのいいところは、保守費用がかからないことです。**（RHELはライセンス費用かかります）
  - 管理工数も削減できます。
- 導入するOSSを決める際も、スピード重視。<br>開業時はデファクトスタンダードのミドルウェアを使うことにより、検証を省く。


参考
http://www.itmedia.co.jp/enterprise/articles/0604/24/news026.html
https://japan.zdnet.com/article/20102397/
>4カ月という短期間でインフラ構築


```
※この頃にOSSの証券システムはめずらしかったです。
　しかも、4ヶ月でインフラ構築ということで、いかにスピードを速くし、コストを抑えたかがわかります。
```



## 外部SIerの特徴を理解し、うまく協力してもらう

構築は基本的には、私たちで行うのですが、
開業時は機器台数が多く、スピードも必要でしたので、外部に手伝ってもらいました。

- **SIerに依頼して、しっかりやってもらうのではなく、手作業が足りない所を手伝ってもらう。**
  - 全てをがっつり外部SIerに依頼すると人件費がものすごい高くなってしまうからです。
  - **外部SIerを使う理由は、スピードアップを図るためです。**
- **外部SIerコストを抑えるために、ドキュメントは必要最低限**
- **外部SIerに求めすぎると期限が遅れる。管理し過ぎない。**
  - 私たちは期限を守らせるためのエンジニアではなく、技術力の高いエンジニアです。
  - 必要に応じて、外部SIerをサポート

```
※ しっかりやらないというのではなく、重要な所に集中するということです。
　　常に時間がないのです。優先順位が重要です。
```

## その他
- 開業当初は、セキュリティというよりも、徹底的に効率重視
  - セキュリティは、開業後に少しずつ強化していきました。
  - **どう効率を保ちながら、セキュリティーを強化していくかが、インフラエンジニアの頭の使い方**
- サービスに影響ない作業は、できるだけ早くリリース対応する。スピード改善。
  - サービスに影響のある変更は、取引所の止まっている土日対応

<br>

- コールセンターの椅子なども、組み立て費用を抑えるために自分たちで組み立てました。
- 開業当時は、机のレイアウト変更も、業者を使わず、みんなでやりました。


<br>
# インフラとして、会社に貢献するために必要な考え方

**設立当初から、やりたいことを全て、完成度高くやろうとすると、
費用も時間もかかってしまいます。
何をしないでいいかを見つけるのが重要になってきます。**

**ビジネス成功に不要な無駄をはぶくのです。**
**優先順位をつけてやるのです。**
**インフラが、何を求められているのかを考えるのです。**



## コストを抑えるために何が不要かを見つける

- **開業をゴールとした場合、外部SIer、外部ベンダーに、作ってもらうのに不要なドキュメントはないか？**
- 開業をゴールとした場合、外部SIer、ベンダーの綺麗な設計書、手順書、報告書は不要ではか？
- 冗長構成は、不要ではないか？
- ドキュメントに蛇足はないか。


```
※もちろん創業時には、冗長構成不要にしても、
　ビジネスをみて、高可用性なシステムに少しずつしていくようにしました。
```


## スピードをあげるために何が不要かを見つける

- **開業を最初のゴールとした場合、ドキュメントが無駄に綺麗過ぎないか？**
- しっかりした手順書作成は不要ではないか？テキストメモでよくないか？
- セキュリティが厳しすぎて、効率化できていないのではないか？
- **自動化できるのではないか？逆に自動化にこだわり過ぎて時間を使っていないか？**
- 不要な承認プロセスはないか？
- 実は、自動フェールオーバーは不要でないか？
- 障害テストは、はぶけるのではないか？
- その報告書必要か？


<br>
# まとめ

- 何がゴールなのか、何を求められているのかを正しく把握する。優先順位を正しく。
- 設立当初のインフラは、どれだけ費用を抑えれるかが大切
- メンバーは少数精鋭で、意思決定を早くする。スピード重視
- **ビジネスを成功させるために、既成概念にとらわれず、よりよい方法を考えることが大切。**

<br>
# 最後に

**あ、もっと重要なことがありました。それは、ワクワク仕事をすることです。
ワクワクが、やる気をださせます。仕事のスピードを倍増させます。成功へとつながります。**
<br>