mixiユーザー(id:12898330)

2020年02月19日00:53

139 view

好きでもない遊び

知恵の輪はたった2個〜数個の「部品」だけの組みつき方を
手探りでグリグリやって「正解」をみつけるおもちゃだが
たった数個の部品だけしかない「システム」でも難問を構成
している例
実際のシステムやプロダクトは知恵の輪ほど「作為的」で
はないが、正解を見つけずらい難問の様相を呈する場合が
ありうる
システムの場合で考えるとモノリシック構成のコンポーネント
は要注意。作る側もいろいろ痛い目にあった経験から、でき
るだけ保守性をもたせるように工夫はしているが、それで
も目の前の正解が藪の中だったりもつれた糸だったり
プチ「知恵の輪」のように奈様相を呈している場合がある
わかりづらいバグの調査や、ハッカーの仕掛けた攻撃を解析
する際にたびたび遭遇する
一方、コンポーネント数がひたすら多いことでIT業務のハー
ドルが上がっている例もある
ネットワークではOSI参照モデルとかITプロダクトではマイ
クロシステム化とか開発言語では各種フレームワークなどが
古くはオブジェクト指向とか構造化プログラミングなどが
採用されることによって数が多いことによる複雑さを解決す
る工夫が各領域や各レイヤーで見られる
システム運用設計でもネーミングルールの統一などの一貫性
をできるだけ取り入れることなどで数が多いことによる複雑
さを解決する工夫が随所にみられる
技術をひも解く上で、アルゴリズムやデータ構造などのロジック
ハードウェアの機構、各種プロトコルの理解、各種定番ツール
の操作方法、各コンポーネントどうしの連携ルールなどの理解
とあわせて、複雑さを飼いならすために採用されている根本的な
思想についても幅広く理解していく必要があると思われる

今まで携わった業務
■業務区分
・要件定義、基本設計、詳細設計、構築、実装、保守、運用(一貫性がないw)
■関わった技術
・OS(Ubuntu、RHEL、Suse、AIX、zlinux、windows)
・ハイパバイザ(Xen、KVM、VMware)
・コンテナ(Docker)
・オーケストレーション(OpenShift)
・パブリッククラウド(AWS、〇クラウド、△クラウド)
・APサーバ(tomcat、WAS、Jetty)
・DBサーバ(Oracle、DB2、PostgreSQL、MySQL)
・メールサーバ(Postfix、〇サーバ、dovecot、exchange)
・Webサーバ(apache、nginx、IIS)
・開発言語(Perl、AWK、TCL、java、C、Ruby)
・shell(bash、ksh、zsh、PowerShell、shellじゃないけどwindows bat)
・全文検索(Apatch Solr)
・メッセージキュー(rappidMQ、IBM MQ)
・その他サーバ(メーリングリストサーバ、vsftpd、proftpd、bind、ldap
 ActiveDirectory、ADFS、samba、nfs、squid、ほかにいろいろ・・・)
・ジョブマネージャ(Aout、WebSAMjobmanager、JP1)
・監視ソフト(Tivoli NetCool、ITM、zabbix、あと変な会社の製品名前忘れた)
・バックアップ(ストレージのフラッシュコピー、DBの機能、ArcServe、あと名前忘れた)
・ログ管理ソフト(名前忘れた)
・ウイルススキャナ(Sophos、VirusBaster、F-secure)
・IPS(F-secureファイル改ざん検知機能名前忘れた、tripwire)
・WebApplication Firewall(apacheのmod_security、変なアプライアンス、SymantecのパブリックAPI)
・ストレージ(FC、SAS、iscsi、マルチパス、DDR)(HP製品名前忘れた、NEC製品名前忘れた)
・FCスイッチ(NEC製品(中身はBrocade社製品))
・L3SW(なぜかHP製品)
・L2SW(アライドテレシス、HP、Cisco catalyst)
(OSとswitchでタグVLAN、リンクアグリゲーション、OS側はbonding、NICチーミング)
・ルータ(yamaha、Cisco、あとなんか忘れた)
・サーバ機(HP、富士通、NEC、IBM、Dell)
・ロードバランサ(BigIP)
・テープライブラリ(NEC製品、あとどこか忘れた)
・HAクラスタ(VMHA、lifekeeper、DB2やoracleDB付属のHAクラスタウェア)

直近の課題
・RHEL7の基本設計〜詳細設計フェイズ
  systemd復習、カーネルパラメータ(TCP関連)、cgroup、dm
  grub2、デバイス、udev、IPC、NetworkManager、modprobe.conf
  共有ライブラリ、ファイルシステム、マウント、サービス起動
  jouralctl、firewalldとNetfilter、モード、ulimit、user、group、sudoers、umask
  nfsマウント、portmap、パッケージ(最小構成+必要なパッケージ)
  cron、rsyslog、logrotate、時刻同期、運用ツール、パフォーマンス計測ツール、yumレポジトリ
  開発ツール、言語パック、GUI環境あとなんかあったっけ
・vSphere ESXi
   ※ストレージパス:FC?OSにマルチパスドライバ構築
   ※NIC:下に居るESXiが抽象化
   ※DBの整合性がvmware HAでどうやって担保されているか
   ※vmwareの機能によるシステムバックアップ/データバックアップ
・Webゲートウェイ
・Web API
・Oauth
   ※シーケンス(とくに認証、認可、アクセストークン生成、保管の流れ)
   ※各URI、HTTPヘッダ、メソッド、ホディの変換→フォワードのフロー
    インターネット→ロードバランサ→GW→FW→Webサーバ→APサーバ→アプリ
    リダイレクトがアプリ→リバースプロキシ→FW→ロードバランサのところどう変換されて
    ブラウザに届くのか要注意(Locationヘッダ)
   ※クロスサイトリクエストフォージェリやセッションハイジャック対策はどういう
    機構でなされているのか注意
・BigIP復習
・TLS 1.2復習
   TLSハンドシェーク復習。wiresharkを使った解析、Curlを使った解析、Opensslを使った解析
   ブラウザを使った解析
・JavaEEコンテナ製品
  デプロイ、クラスローダ―、JNDI、JDBCプロバイダ、データソース、パフォーマンス計測
  パフォーマンス分析、パフォーマンスチューニング
・JVM動作研究(JDK付属ツール)
・JP1
・Webゲートウェイアプライアンス(聞いたことないやつ)
・Docker、OpenShift、Kubernetes
・パケットキャプチャ(wireshark、tcpdumpの復習)
・ブラウザデベロップメントツールの復習
・mavenとアプリパッケージングの流れの学習(アプリがデプロイメントディスクリプタなのか
 アノテーションなのか)
・IDE(たぶんEclips)
・IC(たぶんJenkins)
・Curl
・DB付属ツールでパフォーマンス計測、分析、チューニングの方法
・その他OS付属のパフォーマンスツール(sysstat、top、ps、vmstat、strace、proc下の見方など)
・Git、GitHub
・プロジェクト管理ツール(RedMineじゃない聞いたことないツール) 
まだほかにもいっぱい やばたん
0 0

コメント

mixiユーザー

ログインしてコメントを確認・投稿する