Software Design 2020年1月号

今号の特集概要

第1特集
「メリットは?」「設計は?」「運用は?」
一問一答! マイクロサービスアーキテクチャ

Webアプリケーション全体を小さな部品に分け,部品同士がメッセージを送り合うシステム設計「マイクロサービスアーキテクチャ」。一枚岩(モノリシック)な設計と比べて機能同士が疎結合なため,新機能の追加が容易で障害に強いといったメリットがあり,多くの企業で採用が進んでいます。

ただ,マイクロサービスはあくまでアプローチであり,マストなフレームワークやベストプラクティスがあるわけではないので,「どこから手を付ければ?」「そもそもマイクロサービスとは?」といった企業・チームが多いはず。そんな読者の疑問に答えるべく,本特集ではマイクロサービスの概要,設計手法,実運用まで,現場の知見も盛り込みながら総ざらいします。

第2特集
シンプルなDevOpsにGitLabが好まれる理由
バージョン管理からCI/CDまでを1つに集約

バージョン管理をしていないソフトウェア開発現場はないでしょうが,品質を高める取り組みを支える継続的インテグレーション(CI)や継続的デリバリ(CD)については,複数のツールを組み合わせる“しくみ作り”が導入の壁になっていませんか?

本特集で注目するGitLabは,それだけでCI/CDを実施できるシンプルさが魅力です。自動処理の書き方を試してそれを体験してみてください。クラウドだけでなく自前でもサーバを立てられるGitLabに興味のある方は,経験豊富なエンジニアからの構築と運用のヒントが参考になるでしょう。

特別企画
身近なセキュリティ
sudoからdoasへ――インストール,make一発,設定例までUnixスキル一挙解説

sudoにセキュリティバグが見つかりました。さっそくパッチで修正されましたが,少し心配です。そこでdoasへの乗り換え方法を解説します。doasには必要十分な機能があり,sudoに比べ設定がシンプルですし,OpenBSDプロジェクトの流れを汲んでいるのでセキュリティ面でも信頼できます。

短期連載
Webサービスを裏で支える!! バッチ処理設計の勘所
【2】運用への備え/ジョブ管理ツール(前編)

ユーザーからはあまり意識されることはないけれど,Webサービスを運用するうえで不可欠なバッチ処理。本連載では,あまり語られることのないバッチ処理の開発・設計のポイントを解説します。第2回では,バッチ処理の運用設計とジョブ管理の基本について述べていきます。

短期集中連載
Webエンジニアのための時短スマホアプリ開発
【3】React Nativeでよりリッチなスマホアプリをつくるには

既存Webサービスをスマホに対応させ,継続して提供するにはどうしたらいいかで悩んでいませんか? 「React Native」によるスマホアプリ開発を試しながら,悩み解消のヒントになることを目指す本連載。第3回は,スマホらしい画面遷移や状態管理,API通信などといった,より複雑なアプリを作るのに役立つツールや技術を解説します。

目次

第1特集
「メリットは?」「設計は?」「運用は?」
一問一答! マイクロサービスアーキテクチャ

  • 第1章:マイクロサービスって何?
    アプリケーションを「ばらばら」にする理由
    …… 増田 亨
  • 第2章:ひとつひとつのサービスはどのように作れば良い?
    モノリシックなサービスを上手に切り分けるコツとは
    …… 伊奈 林太郎
  • 第3章:サービス同士はどのようにつなげればいい?
    作って学ぶBackends For Frontends
    …… 古川 陽介
  • 第4章:複雑なマイクロサービスをどのように管理すればいい?
    サービスメッシュを実現するIstioとOpenShift Service Mesh
    …… 笹川 博幸

第2特集
シンプルなDevOpsにGitLabが好まれる理由
バージョン管理からCI/CDまでを1つに集約

  • 第1章:開発に集中できるGitLab
    すぐにCI/CDが始められるワンパッケージの魅力
    …… 荒井 裕貴
  • 第2章:GitLab.comで体験するCI/CD
    設定ファイルひとつで自動ビルド・デプロイを実現
    …… 佐藤 洋行,矢野 哲朗
  • 第3章:自前でGitLabを管理するために知っておかなければならないこと
    構築と運用のポイント
    …… 末吉 剛

一般記事

  • [特別企画]身近なセキュリティ
    sudoからdoasへ――インストール,make一発,設定例までUnixスキル一挙解説…… 民田 雅人
  • [短期連載]Webサービスを裏で支える!! バッチ処理設計の勘所
    【2】運用への備え/ジョブ管理ツール(前編)…… 斎藤 祐一郎
  • [短期集中連載]Webエンジニアのための時短スマホアプリ開発
    【3】React Nativeでよりリッチなスマホアプリをつくるには…… 星 直史

Catch Up Trend

  • コードの安全性・安定性を⾼める開発サイクル
    【4】イノベーションを加速させるアジャイル開発/DevOps…… 大塚 和彦

連載

  • ITエンジニア必須の最新用語解説
    【133】Bazel……杉山 貴章
  • digital gadget
    【253】変わり種ヘッドフォン&イヤホンのガジェット感……安藤 幸央
  • 結城浩の再発見の発想法
    【80】富豪的プログラミング……結城 浩
  • [試して理解]Linuxのしくみ
    【21】仮想化環境のプロセススケジューリング(1)……武内 覚
  • 宮原徹のオープンソース放浪記
    【47】2019年秋のOSCは九州で大忙し……宮原 徹
  • 平林万能IT技術研究所
    【20】銀塩写真をスマホで再現!?……思い出は,フィルムの色で染めてやる。……平林 純
  • iPhone&Androidで動く! スマホARアプリ開発入門
    【6】ボールを投げる……高橋 憲一
  • MySQL GISへの招待
    【6】三角点を巡る旅③ 長い距離を測る工夫~基線測量……坂井 恵
  • Ansible問題解決マップ
    【6】AnsibleでWindows Updateを自動化する……八木澤 健人
  • 挑戦! Capture The Flag
    【5】ネットワーク問題「Find the key!」……中島 明日香
  • 作品で魅せるGoプログラミング
    【12】GoとKubernetesカスタムコントローラで作るCloud Spannerオートスケーラ……micnncim
  • Visual Studio Code快適生活
    【15】いち早く試してみよう! ブラウザベースの「Visual Studio Online」……職業「戸倉彩」
  • Vimの細道
    【46】Language Server Protocolを深掘り(プロトコル編)……mattn
  • シェル芸人からの挑戦状
    【28】さまざまな検索(その2)……上田 隆一,田代 勝也,中村 壮一,山田 泰宏,eban
  • あなたの知らないファイルシステムの世界
    【15】XFS(後編)……青田 直大
  • Ubuntu Monthly Report
    【116】Ubuntuのサポート期間……あわしろいくや
  • Unixコマンドライン探検隊
    【45】C言語による開発環境(その2)……中島 雅弘
  • Monthly News from jus
    【99】LLイベントで多彩なプログラミング言語に触れよう……古川 菜摘
  • Hack For Japan+Code for Japan~あなたのスキルは社会に役立つ
    【97】印刷して使う災害支援地図「紙マップ」の開発秘話……関 治之
  • ひみつのLinux通信
    【71】[2020年五輪開催特別記念見開きスペシャル]man曼荼羅……くつなりょうすけ