株式会社サイバーエージェントAI事業本部の2024年度 エンジニア新卒研修でシステム運用の基本と戦略に関する講義を行いました。
株式会社サイバーエージェントAI事業本部の2024年度 エンジニア新卒研修でシステム運用の基本と戦略に関する講義を行いました。
弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 シェルスクリプトの世界へようこそ! シェルスクリプトって何? シェルスクリプトは普段 Bash などのシェルで実行しているコマンドを並べて、まとめて実行できるようにしたものです。ファイルのバックアップ、ログファイルの解析、システムのセットアップなど、ターミナルで行っていた一連の作業をまとめてシェルスクリプトに記述することで、シェルスクリプトを実行するだけで自動的に一連の作業を終わらせることができるようになります。また、シェルスクリプトはファイルに保存することになるため、再利用するのも簡単になります。 シェルスクリプトで使うコマンドの多くは UNIX コマンドになると思います
はじめに 社内インフラの運用担当者にとってソフトウェアのバージョンアップは地味な割に大変な業務です。 特に社内のオンプレサーバで動いているようなソフトウェアの場合、バージョンアップに伴う諸々の調整をそのソフトウェアを利用している各部署と行う必要があります。 そんなときに「今は忙しいからバージョンアップを先送りしてほしい」「このバージョンはスキップしてもよいのでは?」なんて声が各部署から聞こえてきます。バージョンアップの価値を各部署に理解してもらうのは大変です。 この文章はそんな時になぜバージョンアップしなければならないのかを上司や各部署のマネージャに伝えるために書きます。 ソフトウェアの有効期限は2-5年 まず、第一に、ソフトウェアというものは無限に使えるわけではなく、一定の有効期限があり、それを過ぎると徐々に動かなくなってきます。俗にいう「何もしてないのに動かなくなった問題」です。 なぜ
大きく変化した「人とシステム」の関係 企業におけるDX(デジタルトランスフォーメーション)の取り組みが加速する中で、「マイクロサービスアーキテクチャ」(以下、マイクロサービス)の注目度が増している。マイクロサービスは、複数の小さなサービスを組み合わせて一つのシステムを構成するという考え方だ。 マイクロサービスのような「疎結合アーキテクチャ」自体は以前からあるが、「クラウド」「モバイル」といった技術や考え方が普及したことで最近特に注目されている。こう語るのは、Scalarの深津 航氏(CEO、COO<最高執行責任者>)だ。 「技術の進歩によって人とシステムの関係が大きく変化した2000年ごろは、社内の情報は社内のシステムに格納され、他社と情報をやりとりするのは主に“人”だった。しかし、2010年ごろになると企業と企業のやりとりも、メールや電話だけでなく、スマートフォンのアプリケーションやWe
README Goならわかるシステムプログラミング – 技術書出版と販売のラムダノート の読書会です。 スクラップの投稿上限を超えてしまうので、続きはこちら ↓↓ 参考 Goならわかるシステムプログラミング – 技術書出版と販売のラムダノート 紙本と電子版(PDF)がセットで、1冊分の値段(税込¥3,520)で買えるのでお得! GitHub - LambdaNote/errata-gosyspro-1-4: 『Goならわかるシステムプログラミング』 4刷 正誤情報 ASCII.jp:Goならわかるシステムプログラミング 書籍のもととなった連載記事 おすすめ技術書としてLTしました(どんな本かイメージしやすいと思います) 2021-03-24 おすすめ技術書LT会 『Goならわかるシステムプログラミング』 - Google スライド 副読本(一緒に読むとべりーぐっど!) io.Readerや
「未来はすでにここにある。まだむらなく流通していないだけだ」←グッとくる 最初のエモワードがSF作家ウィリアム・ギブスンの引用でイイ! サイバーパンク2077遊んでみた~い……じゃなかった、CloudFoundry.comのファウンダーでありMicroservices.ioの運営者、経験豊富なソフトウェアアーキテクトであるクリス・リチャードソンさんによる『Microservices Patterns』の翻訳本。 タイトルのようにアーキテクチャパターンやデザインパターンのようにマイクロサービスをパターンで体系化し、サンプルストーリーを元にした事例やコード例、OSS紹介を交えつつマイクロサービスを実践する設計方法を探求した本となっています。 Java文化圏で長く活動してきた方とのことでサンプルコードはほぼJava、Springフレームワーク、ご本人らによるマイクロサービス用のフレームワークEv
はじめに シェルスクリプトで二重起動防止やロックをする方法を検索すると、いろいろな方法や書き方が見つかりますが、どれを使えばよいのか、本当に正しく動くのか、不安になりますよね? ディレクトリ (mkdir) やシンボリックリンク (ln) を使った独自実装の例も見かけますが、エラー発生時や予期せぬ電源断、CTRL+C で止めたときなどでも問題は発生しないのでしょうか? まず、ディレクトリやシンボリックリンクを使った独自実装はしない。これを肝に銘じてください。シェルスクリプトでのロック管理はとても難しく、一般的な排他制御の知識に加えて、シェルスクリプト特有の問題、シグナルやトラップ、サブシェルや子プロセスの問題、さらには特定のシェル固有の仕様やバグなどさまざまな問題に対処する必要があり大変です。独自実装の例では古いロックファイルが残ってしまい、それをいつどのタイミングで片付ければ安全なのか?
概要 普段はソフトウェアエンジニアとして活動していますが、訳あってITとは全く関係ない建設業界の社内システムを作った時の話をします。古い体質と言われる建設業界ですが、高齢化により若者が定着しない、IT化の遅れから労働生産性が悪いといった問題が、そのまま「人手不足」「3Kイメージ」に繋がっています。 本記事では、全くシステム導入が進んでいないとある建築設計会社の情報システムを担当し、どんなSaaSを組み合わせて社内システムを構築したかを紹介します。紹介するSaaSは一例であり、全ての会社に当てはまるわけではないので、あくまで参考としていただきたいです。 導入したSaaS Microsoft 365 コアとなるグループウェアとしては、Microsoft 365を使用しています。通常のIT・ソフトウェア業界ではGoogleのグループウェアが多いですが、建築の会社では以下の理由でMicrosoft
この記事でCloudWatch Evidentlyについて調べていると、「機能フラグ」や「A/Bテスト」などインフラエンジニアには若干聞き慣れないリリース用語が出てきました。 アジャイル開発やCI/CDの台頭に伴い多数出現したこれらのリリース戦略用語をまとめて整理してみることにします。 インフラエンジニアやSREと呼ばれるロールの方々も、リリース戦略を知っておくとCI/CD環境の構築やIaC、はたまたミドルウェアのバージョンアップなどで役立つと思います。 以下ウェブサイトを参考に、各用語を「デプロイ戦略」と「テスト戦略」の大きく2つに分けて紹介します。 デプロイ戦略 従来型のデプロイ(インプレースデプロイ) システム本番環境が一種類のみ存在し、新バージョンの資材デプロイによって旧バージョンの資材を上書いてしまうパターンです。 環境の設計や管理、維持コストをシンプルに抑えられるメリットがあり
はじめに システムに存在するリソースには同時にアクセスしてはいけないものが多々あります。身近な例を挙げると、Ubuntuのパッケージ管理システムのデータベースがあります。aptコマンドの動作によってこのデータベースは更新されるのですが、同時に2つ以上のaptが動作できたとすると、データベースが破壊されてシステムが危機的状況に陥ります。 このような問題を避けるために、あるリソースに同時に1つの処理しかアクセスできなくする排他制御というしくみがあります。排他制御はOSが提供する重要な機能の一つです。 排他制御が必要なケース 排他制御は直感的ではなく非常に理解が難しいのですが、ここでは比較的理解が簡単なファイルロックというしくみを使って説明します。説明には、あるファイルの中身を読みだして、その中に書いてある数字に1を加えて終了するincというという単純なプログラムを使います。
こんにちは、食べログシステム本部長の京和です。 本エントリでは Shopify の Engineering Blog から、Kirsten Westeinde による「Deconstructing the Monolith: Designing Software that Maximizes Developer Productivity」を翻訳して掲載します。 食べログではユーザーや飲食店に価値を届けるスピードを最大化するべく、マイクロサービス化などをはじめとしたこれまでの組織やアーキテクチャを刷新するための取り組みを始めています。しかし、マイクロサービスはアプリケーションアーキテクチャとインフラアーキテクチャが複雑に絡み合ったシステムで技術的難易度が非常に高く、適切に構築できなければ「分散されたモノリス」と呼ばれるアンチパターンに陥ります。1 Shopifyではマイクロサービスではなく、
どうも、しいたけです。 去年あたりからローレイヤー周りの知識を充実させようと思い、 低レイヤを知りたい人のためのCコンパイラ作成入門 を読んでCコンパイラを書いてみたりx86_64の勉強をしたりしていました。 今年に入ってから、よりローなレイヤー、具体的にはハードウェアやOSについてもう少し知りたいと思い始め、手頃な書籍を探していました。 CPUなどのハードウェア周りについては概要しか知らなくて手を動かしたことがないので、実際に何か作りながら学べるものとして、 O'Reilly Japan - コンピュータシステムの理論と実装 に挑戦することにしました。 O'Reilly Japan - コンピュータシステムの理論と実装 成果物は以下のリポジトリに置いてあります。 yuroyoro/nand2tetris 結論から言うと、やってみて大変楽しめました! 特にハードウェア周りは今まで挑戦したこ
Microserviceの分割の仕方について語られているものを収集します。 microservices.ioのサイトに載っている分割パターンは4つ。ただし「自己完結型サービス」と「チームごとのサービス」は、直交していないので大きくは「ビジネスケイパビリティでの分割」と「サブドメインでの分割」の2つ。 ビジネスケイパビリティでの分割 https://microservices.io/patterns/decomposition/decompose-by-business-capability.html 現在の業務機能にしたがってサービスを分割する。 したがって、コンウェイの法則にしたがった分割とされる。 サブドメインでの分割 https://microservices.io/patterns/decomposition/decompose-by-subdomain.html DDDのサブドメ
はじめに 最近、AWSのシステム構成図を見ることが多くなり、AWS上で動いているシステムのシステム構成図を理解できるようになるために個人的に知っておきたいと思ったAWSの用語・サービスをまとめてみました。 私自身も勉強がてら作成したので、わかりづらい部分も多くあると思いますが、AWSのサービス全くわからん→なんとなく雰囲気把握した、となっていただけたらと思います。 2018年10月に新しくなったAWSアーキテクチャアイコンを使用しています。 サーバ・クライアントなどの説明についてはここではしていませんが、以下の記事でとてもわかりやすくまとめてくださっています! 超絶初心者のためのサーバとクライアントの話 知っておきたい用語 リージョン AWSがサービスを提供している拠点(国と地域) リージョン同士はそれぞれ地理的に離れている(例えば日本とオレゴンとか) 日本はap-northeast-1(
前回に続きまして、今回もNoCode(ノーコード)に関するお話です。 今回は、Nadim El-Asmar(@nadimelasmar)氏の「How we manage our short-term rental business with no code」という記事を、本人の許諾を得た上で、タイトルを少し変えて翻訳・掲載しています。 本記事は、民泊などたくさんの短期契約の賃貸物件を管理している会社が、いかにしてNoCodeでシステムを構築し、ビジネスを進めているかという内容です。日本ではNoCodeの事例がまだまだ少ないですが、海外ではたくさんの起業家が実際にビジネスに取り入れています。 どんなNoCodeツールをどのように組み合わせて使っているか参考にしてもらえると幸いです。 下記から翻訳記事になります。 ----- はじめに NoCodeツールを使っておよそ150の賃貸物件を管理する
SFCコマンドを実行すると破損したWindowsのシステムファイルを自動修復することができます。Windows10の調子が悪い時、sfcコマンドを実行するだけで解決できることは少なくなく、とても便利なツールです。 特別な設定は不要ですので決して使い方は難しくありません。しかし、状況によってはコマンド実行の際にエラーが発生したり、スキャンの途中で処理が止まってしまったりすることがあります。 今回は、sfc /scannowが実行できない・途中で止まって終わらない時の対処法について紹介します。 対処1: 管理者権限で実行するまずローカルユーザーなどの標準ユーザーでログインしている場合は、管理者のアカウントでログインしてから再度操作を行ってみてください。 または次のリンク先にある「ローカル ユーザー アカウントを管理者アカウントに変更する」の内容を参考に、現在利用しているアカウントに管理者権限を
この記事は「sfc /scannow」が実行できない問題の2つのケース、及び「Windowsリソース保護は要求された操作を実行できませんでした」と「Windowsリソース保護は、修復サービスを開始できませんでした」というエラーメッセージの対処法について説明します。今すぐ試してみませんか。 Windowsリソース保護は要求された操作を実行できませんでしたシステムファイルが破損しているか、OSがクラッシュした場合、多くのユーザーはシステムファイルチェッカーを使用して破損したシステムファイルをスキャンし、修復しようとします。しかし、「sfc /scannow」コマンドを実行しようとしたら、「Windowsリソース保護は要求された操作を実行できませんでした」というエラーメッセージが表示されるケースは多いです。 これから、「Windowsリソース保護は要求された操作を実行できませんでした」エラーメッ
システム ファイル チェッカーは、コンピューター上のファイルに関する問題をチェックする Windows のユーティリティです。 これを実行するには、次の手順に従って操作します。 Windows 用の最新の更新プログラムがインストールされていることを確認し、コンピューターを再起動します。 詳細については、「Windows の更新」を参照してください。 タスク バーの検索ボックスに「command prompt」と入力し、結果の一覧からコマンド プロンプト (デスクトップ アプリ) を右クリックまたは長押しします。 [管理者として実行] を選択し、[はい] を選択します。 「DISM.exe /Online /Cleanup-image /Restorehealth」 (各 "/" の前にスペースを入れます) と入力し、Enter キーを押します。 (注: この手順の開始と完了には数分かかる場
Windows 8.1 Windows 8.1 Enterprise Windows 8.1 Pro Windows 8 Windows 8 Enterprise Windows 8 Pro Windows 7 Enterprise Windows 7 Home Basic Windows 7 Home Premium Windows 7 Professional Windows 7 Starter Windows 7 Ultimate Windows Vista Enterprise 64-bit Edition Windows Vista Ultimate 64-bit Edition Windows Vista Business Windows Vista Business 64-bit Edition Windows Vista Enterprise Windows Vista U
はじめに 株式会社デジサク がお送りするプログラミング記事、 今回は要件定義・システム設計について扱っていこうと思います。 プログラミングを勉強していて、こんな事を感じた経験はないでしょうか。 「勉強してもプロダクトが作れない」 「そもそも開発ってどうやるの?」 「要件定義ってなに?」 その悩みを解決するために、まずは開発の全体感を理解しましょう。 下図『ソフトウェア開発プロセス』をご覧ください いつも勉強しているプログラミングは 『実装』 の部分に該当します。 つまり、プログラミングの実力を発揮する前に4つも壁が存在するのです。 そのため、本記事では実装(プログラミング)を開始する前に必要となる、 『企画~設計』 について順を追って説明して行きます。 特に、エンジニアが理解しておくべき 『要件定義』『設計』 にフォーカスします。 なお、開発全体において実装(プログラミング)に使用する時間
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く