JPIT application and integration

  • 実行環境を効率的に管理・運用するための「IaC」という考え方

    はじめに 本連載では、前回までDevOpsで開発効率を向上すげるためのツールや考え方について解説してきました。 これまでに解説してきたCI/CDやGit、IDEなどは、どちらかと言うとDevの作業を加速させるためのツールでした。今回からはOps側の作業を加速させるツールについて考えみましょう。Opsがメインに行っている作業は環境構築や運用です。これらを効率的に管理する「IaC」について解説します。 IaCとは 「IaC」は「Infrastructure as Code」の略で、コードを活用してインフラストラクチャの運用・構築を自動化することを指します。ここで挙げているコードとは「構成管理ツールが解釈できるコード」です。IaCは構築の自動化を目指した手法を意味し、IaCを実現するには構成管理ツールを使用します。 構成管理とは 「構成管理」はハードウェア、ソフトウェア、ネットワークなどのシステムを構成している要素を把握し管理することを指しますす。構成管理を行うことでシステムに多くの変更を加えても、状態を把握できていれば期待通りに動作させることができます。 例えば、構成管理を行わずに構築しっぱなしの環境を想像してみてください。構成要素が分からないため同じ構成のシステムは構築できません。メンテナンスが必要になった場合にも、どの要素が依存関係にあるのか分からないため、恐ろしくてそのシステムに手を入れることができなくなるでしょう。そういった意味でも構成管理は重要です。 構成管理ツールとは 「構成管理ツール」は、名前のとおり構成管理を行うためのツールです。RubyやPythonなどのプログラミング言語、YAMLフォーマットのテキストファイルなどを用いて構成管理を行います。具体的には構成に必要な要素や構築手順などをコードとして記述し、構成管理ツールがそれを実行します。コードはテキストファイルであるためバージョン管理ツールで管理できます。バージョン管理ツールを使うことで変更の追跡や構成のレビューを効率的に行えます。 コードの種類 構成管理ツールのコードには「手続き型」と「宣言型」と呼ばれる2つの記述方法があります。この2つの記述方法にはどのような違いがあるか解説します。 ・手続き型システムの構成が“あるべき状態”となるように手順をコードとして記述していきます。構成管理ツールは対象のシステム内でこの手順を積み重ねることで、あるべき状態へ向かっていきます。 例えば、サーバーを2台起動するとしましょう。コードには「現在のサーバー台数」を取得し、足りなければ追加、超過していれば削除するような処理を記述します。これは構築手順書をコード化したようなものなので、手作業による構築に慣れ親しんだ方であれば簡単に理解できるでしょう。普段からこのような作業をしている方なら手続き型は学習コストが低いと言えます。 手続き型の欠点は「あるべき状態」がコードとして記述されていない点です。先の例ではサーバーを2台起動するために2台未満か超過かで条件分岐をしています。簡単な構成であるため結果として2台に収束するというのは分かりますが、コードには「2台必要」とは記述されていません。複雑な構成であればどうでしょうか。コードを実行するまでどのような状態になるのかが不明である可能性があります。 手続き型の主なツールはChef、Ansibleなどが存在します。構成管理ツールとは少し毛色が違いますが、手順を重ねていくという点でシェルスクリプトも手続き型と言えるでしょう。 ・宣言型システム構成のあるべき状態を記述します。手続き型ではあるべき状態へ向かうための手順を記述しましたが、宣言型ではあるべき状態のみを記述し、構築作業は構成管理ツールに任せます。 手続き型と同様に、2台のサーバーを起動するとしましょう。手続き型では構築手順を記述したのに対し、宣言型は「サーバーを2台起動」と宣言するのみです。あるべき状態を宣言しているため最終的にどのような構成になるのかをコードから読み取りやすくなります。 宣言型の欠点は、ツールのバージョンにシビアである点です。宣言型の構成管理ツールはツールが構築を担当するため、そのバージョンごとに実行される手順が異なっていたり、APIのエンドポイントが変更されていたりする可能性があります。そのため、宣言型のツールを使用する場合は構成管理ツールのバージョンを固定し、ツールのアップデートは慎重に行う必要があります。 宣言型の主なツールとして、Terraform、Puppetなどが存在します。…

  • 複雑化するインフラで発生するAI活用の課題……解決のためにまずは、ストレージの機能を使い倒す

    データパイプラインやDataOps、MLOpsという手法の活用によって、AI活用の本番環境へのデプロイ時間を短縮することが重要です。エンタープライズストレージの機能を活用することで、データアクセスの簡素化や管理機能の充実、クラウド連携機能の実現が可能となります。さらに、データパイプラインの整備によって、AI活用の試行錯誤の回数を増やし、価値創造に集中できるでしょう。

  • 「9,900万の会員データを圧倒的に使いやすい環境で」NTTドコモがStreamlit活用事例を発表

    SnowflakeはNTTドコモと共同で記者説明会を開催。NTTドコモがデータ活用に「Streamlit」を採用し、業務に特化したアプリケーションの開発・運用を開始したことを発表。同社は「Streamlit in Snowflake」として、プラットフォームに組み込んで提供する予定であり、NTTドコモはデータ活用に力を入れている。

  • 2024年のDevRel予測

    2024年のDevRel予測は、予算管理の厳格化と活動成果の強化が予想されています。日本では目標設定がゆるく、海外の取り組みが浸透しつつあります。また、コミュニティと教育が重視され、ローカライゼーションやパーソナライゼーションが必要とされています。企業内でのDevRel文化の確立も今後の課題です。

  • 「GitOps」を活用して、アプリケーションを効率的かつ自動的にデプロイする

    CI/CDに続く「デプロイ(Deploy)」について解説します。デプロイはアプリケーションをサーバーに展開し、利用可能な状態にすることを指します。CIOpsとGitOpsはデプロイ方式の一環であり、GitOpsは特に注目されています。Argo CDやFluxなどのツールがGitOpsを実現するために利用されます。

  • AIとウェブ検索を融合した「Arc Search」、「iPhone」向けに提供開始

     「Arc Search」という新たなアプリが示しているのは、人工知能(AI)とウェブ検索を組み合わせることで、包括的かつ簡潔な検索結果を提供できるということだ。 提供:screenshot by Lance Whitney/ZDNET ブラウザー「Arc」を提供するThe Browser Companyが開発し、現在「iOS」向けに提供されているこのアプリには、ウェブ検索を支援する複数の優れた機能が組み込まれている。中でも特に際立っているのが、「Browse for Me」という機能だ。 Browse for Meは、質問や検索ワードを入力すると、複数のウェブページからの情報を要約し、新たなタブを生成するというもの。例えば、「アメリア・イアハート(訳注:1937年に消息不明となった米国の飛行士)の飛行機は見つかったか」という質問を入力して、Browse for Meボタンをタップすると、Arc Searchは、さまざまなウェブサイトで回答を検索し、必要な情報をまとめたコンパクトなウェブサイトのようなタブを提供する。 つまり、Arc SearchはAIと従来の検索エンジンを組み合わせたものを、モバイルブラウザーの上に重ねている。AIによる要約を読むことで、そのトピックに関する基本的な情報をざっと確認できる。また、ウェブサイトにリンクされているので、興味のある部分があれば、さらに詳しく調べられる。Arc Searchをデフォルトのモバイルブラウザーに設定して、他のアプリのハイパーリンクから自動的に開くようにすることも可能だ。 Arc Searchアプリ…

  • 「iOS 17.3」の新機能「盗難デバイスの保護」に重大な欠陥–対策は?

    Appleは「iOS 17.3」をリリースし、盗難デバイスの保護などの新機能を追加した。しかし、この機能には安全上の懸念があり、よく知っている場所の自動記録も問題となっている。この機能を利用するかは注意が必要だ。利用頻度の高い場所の表示をオフに切り替えれば、この機能を無効にできる。

  • なぜ今こそ「API」の時代なのか? そもそも“APIの役割”とは

     オンプレミスインフラあるいはクラウドサービスに構築したアプリケーションと、SaaS(Software as a Service)を併用する場合、企業のIT部門はデータのサイロ化(連携せずに孤立した状態になること)という課題に直面する。この課題について、調査会社 Forrester Researchでシニアアナリストを務めるデビッド・ムーター氏は次のように分析する。「SaaSと非SaaSの対立というよりも、アプリケーションの量の問題だ」 ムーター氏によれば、今や大企業では何百というアプリケーションを利用することも珍しくない。アプリケーション間の接続数は理論上、新しいアプリケーションが追加されるたびに指数関数的に増加する。つまり、個々のアプリケーション間をポイントツーポイント(2拠点間)で結び、管理するのは持続可能な方法ではないということだ。IT部門はどうすればいいのか。 そもそも「API」の役割は? 「SaaSの利用が無秩序に拡大しているからといって、企業が従来利用していたシステムが一夜にして消え去るわけではない。置き換えるには膨大なコストがかかる」とム―ター氏は指摘する。ムーター氏はITリーダーに対し、レガシーシステムを、クラウドサービスで動作することを前提に構築する「クラウドネイティブアプリケーション」と連携させることで延命を図る方法を検討するよう勧めている。 ただし、例えレガシーシステムから脱却しても、アプリケーション間の連携は依然としてIT部門にとって負担だ。ビジネス要件の変更が生じた際、従来のIT部門は変更に対処するために、アプリケーション間やデータベース間をいかに接続するかを検討してきた。「扱うアプリケーションの数が少なければその方法で済んだが、現在は、接続が指数関数的に増加するという問題にぶつかっている」(ムーター氏) ムーター氏によれば、今後のIT部門が注力すべき領域はAPI(アプリケーションプログラミングインタフェース)だ。「IT部門は誤解していることがあるが、企業に価値を生み出すのはビジネスプロセスであり、アプリケーションではない」とムーター氏は断言する。同氏が勧めるのは、ビジネスプロセスとその要件を定義した上で、要件を満たすにはどんなアプリケーションを構成する必要があるのかを考えるやり方だ。この時、APIはビジネスプロセスとアプリケーションをつなぐ存在となる。 実際にAPIが生きる場面について、ムーター氏は次のように説明する。「例えば、新しいパートナー企業のために受注処理が必要になった時だ。3つの受注管理システムと8つのERP(統合基幹業務システム)を新しいパートナー企業と接続することなく、受注処理APIを呼び出すだけで済む」 短期的には、ポイントツーポイントで接続を構築する方が容易だ。社内に存在するアプリケーションが限られており、将来的に規模の拡大や再利用が必要ない状況であればわざわざAPIを開発しなくてもよい。ただしムーター氏は次のように提言する。「将来のことを考えれば、基本的に各企業は業務プロセスのニーズに沿ったAPIにアプリケーションを組み込む努力をすべきだ」 データ統合ツールで何ができる? SaaSとSaaS以外の企業向けシステムにおけるデータの統合に関しては、データ統合ツールの採用を検討する方法もある。 Forrester Researchのバイスプレジデントでプリンシパルアナリストを務めるミシェル・ゲッツ氏によれば、データ統合ツールはデータの収集と分類、更新、変更、削除、結合、整合性維持、クレンジング(不正確なデータの排除)などの機能を持つ。データ統合によって、以下のような効果が期待できるという。 データレイク(構造化データと非構造化データをまとめて保管できるデータベース)やデータウェアハウス(DWH)へのデータの取り込み ストリーミングデータのパイプライン(処理手順)のオーケストレーション(設定や管理の自動化) 異なる基盤にあるデータのマッピングと照合 「データ統合のプロセスを、アプリケーションの連携や自動化プロセスとまとめる場合は、APIがパイプ役を担えるだろう」(ゲッツ氏) 後編は企業のデータ統合におけるトレンドを分析するとともに将来を予測する。…

  • 「Microsoft 365」「Office 365」は高い、安い? 月額をシナリオ別に計算

    Microsoftは、Microsoft 365およびOffice 365というサブスクリプションサービスを提供しており、それぞれのプランが異なるサービスを含んでいます。本稿では、異なる組織に対する適切なプランとその費用について説明し、最終的には合計で728万円/月(税別)になることを示しています。

  • 生成AIで縮小する開発者の役割–より求められるビジネスへの注力

    生成AIの進化により、ソフトウェア開発者の役割は変化している。この技術は、迅速なコード生成を可能にし、開発者がもっと創造的な業務に集中できるようになるかもしれない。しかし、その進展は開発者の仕事内容を縮小させ、新しいビジネス要件に応じた機能開発により注力するよう変える。AIと自動化の時代において、開発者の役割はより興味深い新たな領域へとシフトしていくとされている。それは、プロジェクトでこなせる作業量が増え、開発者がもっと多くの技術やプラットフォームに対応できるようになることを意味している。また、AIの利用が拡大し、開発者はより高度な役割に対応し、ビジネスの要件にAIリソースをマッピングする能力が求められるだろう。

  • パイオニアが「モノ×コト」で切り開く「未来の移動体験」

    製造業のパイオニアは製品販売からサービス提供への転換を図っており、新たなビジネスモデルに挑戦しています。その一環としてモビリティAIプラットフォーム「Piomatix」を開発し、各種データやAIエンジンを組み合わせて適切なナビゲーションを提供します。また、それを利用したスマートフォン専用ナビアプリ「COCCHi」も開始しました。

  • セールスフォースに聞く、セールスとサービスのSaaSにおける現場改善の生成AI

    Salesforceは、年次イベント「Dreamforce」でAIプラットフォームの強化を発表し、製品の「Sales Cloud」や「Services Cloud」に生成AI機能を組み込む計画を明らかにしました。開発担当のMaryAnn Patel氏は、生成AIを営業プロセスの業務効率向上に貢献させ、ユーザーの業務に役立てると述べました。具体的には、AIが顧客メールを自動生成したり、電話会議の要約を作成するなどの機能を提供します。

  • 「Microsoft 365 Copilot」の3つのポイントと「Microsoft 365 Loop」を構成する3つの要素

    この記事は、Microsoft 365 Copilotの活用方法と同社が先頃プレビュー公開したMicrosoft Loopについて述べています。Microsoft 365 Copilotは、Microsoft 365アプリケーションの企業データを大規模言語モデル(GPT-4)を用いて活用可能なアシスタントサービスです。また、このサービスは、ユーザーの企業データを学習には使用しないため、データの機密性も保護されています。