[2022年11月号] Software Design(技術評論社) サマリー+個人メモ

[2022年11月号] Software Design(技術評論社) サマリー+個人メモ
みるみ

Software Design の2022年11月号について、

  • ざっくり内容紹介
  • 個人的に気になった記事やポイント

をまとめている記事です。

サマリー記事の一覧はこちら

特集①:なぜコンテナ/Dockerを使うのか?

  • 珍しい構成というか、特集の前づけっぽい感じで「10の疑問」というのがまとめられていたの:
    • なぜコンテナを使うの?
    • どうやってアプリケーションをコンテナ化するの?
    • なぜDockerが使われるの?
    • コンテナ同士を連携させるにはどうするの?
    • Kubernetesってなに?
    • KubernetesでDockerが非推奨になるってどういうこと?
    • どんなシステムもコンテナに移行するほうがいいの?
    • クラウドでコンテナを運用するにはどのサービスを使えばいいの?
    • 本番環境をコンテナに移行する場合、アプリケーション以外に対応することはあるの?
    • コンテナ移行はどのように進めるの?
  • コンテナとはプロセス
    • プロセスを仮想的に扱うのがコンテナ
    • 現在の一般的なシステムはマルチプロセスが普通(MS-DOSはシングルプロセス)、、、、、、、以下省略(雑)
    • Linuxカーネルが持つnamespacesとcgroupsを利用して動作中の各プロセスとをシステム上隔離している
      • namespacesはプロセスを別々の名前空間に配置するためのもの、これによって権限やプロセスID、ファイルシステムなどを別個で管理できる
      • cgroupsはCPUはメモリなどのリソースをプロセスに割り当てる仕組みのこと
    • もうひとつoverlayfsというのがある
      • 仮想ディスク機能、コンテナ内だけで利用できるルートを頂点としたディレクトリシステム、読み込みと書き込みで領域がわかれてそれらが重なって(overlay)いる
  • Docker Desktopの話
    • インストール、基本コマンドとか
    • pullしてきたイメージを docker commit でイメージの上書きができる
    • コンテナはフォアグラウンドで実行されているプロセスがないと動作が停止する
    • 8080:80→ホスト:コンテナ いつも忘れる
    • Dockerfileはホームディレクトリにつくれない
      • ???
  • コンテナオーケストレーション
    • Docker Compose
      • いつものdocker-compose.yaml
      • Docker Swarmというのもある
        • クラスタリングツールで比較的大規模向け、Kubernetesと類似
    • Kubernetes
      • Podは「1つ以上のコンテナ」の単位。なので冗長化ができる
      • アプリケーションの規模が小さいと釣り合わなくなりがち
  • 運用とか
    • ECR PublicはDoceker Hubにあるイメージを全部包含しつつ、ダウンロードの帯域に制限がなく無料
      • ここの「無料」は認証があるかどうかなどの制限の意味での有料/無料
    • 公開したくないイメージのとき:ECR Public→Code Buildとか→ECR→ECS
    • AWSメインで解説があるので入門者によさげ。ECSのあの入れ子構造についても詳しい解説あり
    • EKSもある、App Runnerもあって素晴らしい
      • 「AWSでコンテナを運用したいときまずはどれを触ればいいのか」について一番最初に勧められてたのがApp Runnerだった。個人的にはこれだと隠蔽化されすぎててコンテナを触ってる感がほとんどないのでは感、やはりECS on Fargateがいいのでは

特集②:いまJamstackを始める理由

  • Nuxt 3の話が書いてあるか先月から楽しみにしていた
  • ヘッドレスCMSを絶賛探し中だけど(このブログの乗り換え先!!)、microCMS以外の国産品の名前があった:
    • Newt
    • Kuroco
    • hacoCMS
    • ちなみに今の候補は4つだった:
      • contentful
      • Cosmic
      • Prismic
      • microCMS
  • MPA:SPAに対するマルチの言葉。いわゆる「ウェブアプリケーションフレームワーク」のものがここに分類されるらしく、ずっといい言葉ないなーとは思ってたけどMPAって一般的だろうか?(少なくともあまり印象にはなかった)
  • コラムの隅っこに「筆者としては一度WordPressは忘れてヘッドレスCMSを触るのがおすすめ」と書いてあって拍手するなどした
  • 冒頭に書いた結果は…
    • Next.jsとSvelteKitの紹介はあったのにNuxt.jsの文字は見当たらずw
  • さらっと全体を俯瞰できてよい特集だったけど、前段がコンテナを総合的にさらうなかなか濃密な内容だったので差が面白かったです

    Column

    • ハピネスチームビルディング
      • 「若手や新人に設計/実装を任せたいけど実際の業務でそれを実行できる適切な難易度のものがない、やったやったで当然業務へ影響がある」という永遠とも言える命題の話題
      • 最初は仕方ない、が基本
      • レビューを繰り返せばよくなる
      • そういうこと以前に「勉強会をするといいよ」と書いてある
        • 自分はよくやっててけっこういい感じだなーとなっていたのでわりと安心した(定着度かなり上がってきて自分で調べられる範囲も増えてきてる、こちらが説明する割合が減ってきている、などなど)

    Development

    • Miro徹底活用術
      • リアクション
        • Miroを使っているときはだいたい少人数&ほぼ全員マイクON的な感じだと思うのでまあこれはいいかな
      • 誤操作ロック機能
        • 使わない
      • 招集と追跡機能
        • 自分が見ている場所に他のユーザーを呼び寄せたり、追跡対象に設定したユーザーと同じ画面を常に見るようにしたりできるらしい。特に後者は便利そう
        • どうでもいいが(よくないかもだが)、誌面では「召集」になっていた。この言葉は国会のみに用いられる、天皇が主語のときに使われる、目下のもののみを集めるときに用いられるなどあるので、たぶん誤用な気がする
    • 新連載「さて、障害対応にうまく付き合っていこうか!」
      • 「なぜ障害対応が大変なのか」について、「眠い」以外の感想がない

      そのほか

      • ITエンジニア必須の最新用語解説「FFmpeg」
        • なんでこんな昔からあるワードが…?とおもったら2022年の1月に4年ぶりのアップデートをしたらしい
        • 2000年に初登場、ほかにもffprobeやffplayなどがある
        • ライブラリとして別の製品に組み込む:libavutil、libavcodec、libavformat、libavfilter、libswscale、libsqresampleなど
        • アプデの内容はAPIの整理や統合、非推奨だったものの削除など

      Software Design 2022年11月号

      この号の分のみ単品で読みたい方は、普通にAmazonで買うのがおすすめ。
      紙 or 電子書籍で選べます。

       

      みるみ
      みるみ

      ブロガー、ソフトウェアエンジニア。

      この「みるめも」というブログの筆者です。

      この記事へのコメント
      コメントはまだひとつもありません :)

      新しいコメントを書く

      • 必須項目はコメント本文のみですが、お名前はぜひご記入いただけると嬉しいです。
        ※メールアドレスを書いた場合も公開されることはないのでご安心ください。
      • 特定のコメントに返信したい場合は各コメントにある「返信する」ボタンからどうぞ。
      • コメントはこちらで承認の作業を行うまでは表示されません。ご了承ください。
        ※ここ数年スパムが激化しており、誤って削除されてしまうケースが増えてきました。スパムボックスも毎日自分の目で確認するようにはしているのですが、どうしても限界があります。確実に僕に連絡を取りたい方は メールTwitter からお願いします。