タグ

ブックマーク / thinkit.co.jp (24)

  • Istioがマイクロサービスからモノリシックなアプリに変化。その背景とは

    サービスメッシュを実装するオープンソースソフトウェアIstioが最新バージョンを公開した。このリリースではこれまでのコントロールプレーンの発想を一新して、複数のプロセスが協調する形から、「istiod」というモノリシックなプロセスが制御を行う方式に変更されたことが明らかになった。 バージョンアップの概要はIstioのブログ記事にあるが、より詳細にマイクロサービスからモノリシックへの変更に関しては、Christian Posta氏によるブログ記事が参考になる。 公式サイト:Istio in 2020 - Following the Trade Winds Solo.incのField CTOであるPosta氏はRed Hatのアーキテクトというキャリアの持ち主で、2019年11月のKubeConではマイクロサービスを指向するプログラミング言語であるBallerinaのセッションを行ったことも

    Istioがマイクロサービスからモノリシックなアプリに変化。その背景とは
  • マイクロサービスとサービス・メッシュ(Istioが求められる背景)

    マイクロサービスによる巨大な超分散システムの運用管理ソリューションとして注目されているIstioが必要とされる背景を解説します。 クラウド・ネイティブ・コンピューティング かつてICT(Information and Communication Technology)は、企業のバックオフィスを担うツールでした。銀行のATMを例に取るまでもなく、ICTが社会基盤の重要な構成要素であったことは確かですが、商談、契約、納期調整、検収、アフターサービスといったビジネスの主要な局面を担うのは、あくまでも「人」であり、ICTはビジネスの各局面を効率的に運営する脇役でした。しかしインターネットの登場で、「人が主役でICTは脇役」というビジネス上の役割分担に変化が生じます。企業と消費者を直結するインターネットは、マーケットの構造を根的に変えました。対面型の商談のような時間を要するビジネス・プロセスを排除

    マイクロサービスとサービス・メッシュ(Istioが求められる背景)
  • 楽天の導入事例で見えたRPAは「ソフトウェア開発」というリアル

    RPAのトップベンダーであるBlue Prismが都内でカンファレンスを開催。ソフトウェアロボットを活用した業務効率化の実践について、楽天などのユースケースを紹介した。 RPAベンダーのBlue Prismが都内でミニカンファレンスを開催した。これはBlue PrismのCTOや日法人の代表が製品や戦略などについてプレゼンテーションを行い、その後、ユーザー事例として楽天株式会社、昭和リース株式会社、株式会社荏原製作所、双日株式会社などが登壇して、自社のRPA導入について解説を行い、最後にパートナーが登壇するというシングルトラック、半日のカンファレンスだ。 Blue Prismはイギリスに社を置くRPA(Robotic Process Automation)ベンダーの最古参であり、RPAという言葉を作り出したと自負する企業である。特に単なるデスクトップアプリの自動化ではなく「Connec

    楽天の導入事例で見えたRPAは「ソフトウェア開発」というリアル
  • サービスメッシュを実現するLinkerdの将来を、開発元のBuoyantが語る | Think IT(シンクイット)

    サービスメッシュのLinkerdを開発するBuoyantのCEOにインタビューを実施。LinkerdとConduitとのマージなどについて語ってもらった。 サービスメッシュを実現するためのProxyであるLinkerdを開発するBuoyantのサンフランシスコのヘッドクォーターを訪問。Co-FounderでCEOであるWilliam Morgan氏にインタビューを行った。 自己紹介をお願いします。 私はBuoyantのCEOで、Oliverと一緒にBuoyantを立ち上げました。Buoyantの前は二人ともTwitterエンジニアをやっていました。私は主にバックエンド、Oliverはインフラストラクチャー側を担当していました。私が書いた写真を扱うライブラリーは、今でもTwitterで動いていると思いますよ。 LinkerdやConduitを開発した理由を教えてください。 そもそもTwit

    サービスメッシュを実現するLinkerdの将来を、開発元のBuoyantが語る | Think IT(シンクイット)
  • CNCF、Prometheus as a ServiceのCortexをサンドボックスプロジェクトとして採用

    CNCFはWeaveworksが開発を進めるPrometheus as a ServiceのCortexを、サンドボックスプロジェクトとして採用。コンテナ監視のスケールアウトを目指す。 クラウドネイティブなコンピューティングを実現するためのソフトウェアスタックを推進するCloud Native Computing Foundation(以下、CNCF)は、マルチテナント型のモニタリングサービスを実現するCortexを、サンドボックスプロジェクトとして採用したことを発表した。 参考:CNCFのリリース:CNCF To Host Cortex in the Sandbox これはWeaveworksが開発を進めている監視ソリューションであるCortexを、CNCFのプロジェクトとしてホストすることを決定したというものだ。 Weaveworksのブログにあった言葉を用いてシンプルに表現すると、C

    CNCF、Prometheus as a ServiceのCortexをサンドボックスプロジェクトとして採用
  • 開発者のためのソフトウェアテストのスキルアップ | Think IT(シンクイット)

    はじめに ここまで、さまざまなソフトウェアテストの考え方や種類を紹介してきました。開発者がソフトウェアテストを活用していくなかで、「どのように問題を分割してすすめて行けば良いのか」と「どのようなテストケースを選択するのか」という2つの課題は筆者に多く相談がきます。 今回は、この2つの課題に対して、どのような方法で自らのスキルを上げて行けば解決できるのかを解説します。具体的には、前者には「Mikadoメソッド」を、後者には「テスト技法」を活用します。 筆者がよく耳にするソフトウェアテストの課題 開発者がTDDやテスト設計に取り組む際、筆者はよく次のような課題を耳にします。 どのように問題を分割するのか問題に対してどのようなテストケースを選択するのか 「どのように問題を分割するのか」とは、TDDやテスト設計において「開発対象をどのような問題に分割してテストを作れば良いのかわからない」といった課

    開発者のためのソフトウェアテストのスキルアップ | Think IT(シンクイット)
  • iptablesを置き換えるBPFをコンテナネットワークに使うCilium | Think IT(シンクイット)

    iptablesの課題を解消し、高速で安全な通信を実現するCiliumとはなにか? KubeConでのプレゼンテーションをベースに解説する。 コンテナを用いたクラウドネイティブなシステムに移行しようとすると、従来の仮想マシンベースのシステムよりも粒度の細かいコンテナワークロードをオーケストレーションする必要がある。昨今Kubernetesが注目されているのは、そのためだ。その際にコンテナ間のネットワークをどのように構成するのか? は、インフラストラクチャーエンジニア、ネットワークエンジニア双方にとって頭が痛い問題である。特に多くのコンテナが連携するシステムであれば、コンテナ間のトラフィックを遅延なく通信させることが重要になる。 またIstioのように、サービスメッシュとしてPodの中にProxyをサイドカーモードで構成する場合、コンテナとProxyの間にも通信が発生し、ますますオーバーヘッ

    iptablesを置き換えるBPFをコンテナネットワークに使うCilium | Think IT(シンクイット)
  • Kubernetesで機械学習を実現するKubeflowとは?

    KubeCon+CloudNativeConにおいて、Kubernetes上で機械学習を実現するKubeflowが紹介された。 Kubernetesを中心としたクラウドネイティブなソフトウェアのカンファレンスであるKubeCon+CloudNativeCon、3日目のハイライトはなんと言ってもKubeflowだろう。朝9時から始まったキーノートの最初に登壇したGoogleのDavid Aronchick氏は、「KubeConには第1回から参加している」と語り、Kubernetesの盛り上がりに驚きを隠せないようだった。今回は、Kubernetesとともに今最も注目を集めている機械学習をクラウドネイティブにするという、Kubeflowを紹介するセッションとなった。 最初に紹介したのは、機械学習を使う効果だ。Googleのデータセンターの消費電力について、機械学習で制御を行った場合と、人手で制

    Kubernetesで機械学習を実現するKubeflowとは?
  • OSSで脱サラ起業 国産Webデータベース「プリザンター」が目指す脱Excelの世界 | Think IT(シンクイット)

    過日のイベント「“Microsoft + OSS” Meetup」で行われたLT大会で、筆者がひときわ注目したプロダクトがある。脱Excel、脱メールを謳う業務ツール「プリザンター」だ。大手SIerに20年近く勤務していた内田氏は、日々運用現場で感じていた課題を解決するために業務外の時間で独りもくもくと開発を進めていたという。そしてプリザンターをコアに独立して会社を起こした。開発元であるインプリム社の内田氏と森井氏に詳しく話を聞いた。 ーーさっそくですがプリザンターについて教えてください プリザンターは、ノンプログラミングで業務アプリが作成できる「Webデータベース」というカテゴリの製品になります。オンプレ版のkintoneと考えていただくと分かりやすいかもしれません。.NET Framework 4.5が動作するWindows系のシステムをベースにしていて、オンプレ環境のほかAzureの

    OSSで脱サラ起業 国産Webデータベース「プリザンター」が目指す脱Excelの世界 | Think IT(シンクイット)
  • Docker向けの軽量Linux OS 主要3種を比較する

    Dockerをより効率的に利用するための技術 通常Dockerを利用する場合は、Linux OSが稼働するサーバ上にDockerのパッケージを追加でインストールすることで、環境を構築している。当然ではあるが、Linux OSのインストール時に「最小限の構成」を選んだとしても、Dockerの稼働には必要のないパッケージもインストールされている状態となる。 Dockerを利用する最大のメリットは、「少ないリソースでたくさんのコンテナ(=実行環境)を起動させられる」ことである。たとえ最小限の構成であってもDocker実行環境としては、多くのリソースが無駄に消費されていることとなる。さらに不要なサービスが実行されていることにより、Dockerで利用しない機能に対してもセキュリティー上のリスクが残ってしまうことになり、不要な運用作業が発生することとなる。 そのため、Dockerに対してもハイパー

    Docker向けの軽量Linux OS 主要3種を比較する
  • Dockerの管理・監視ツール(1)

    ITシステムが地方に散在する場合、Dockerに精通した管理者が不在であることも少なくありません。Dockerに詳しくない人でも、効率よく、かつ、ミスなく管理するためには、GUI管理・監視ツールの導入が必要になります。特に、近年では、クラウド基盤の導入が進み、IT部門だけでなく、ユーザー部門などが、セルフサービスポータルのダッシュボードのWebユーザーインタフェースなどを使って、みずからサービスを利用することも増えてきました。現在は、OpenStackなどに代表されるクラウド基盤ソフトウェアは、Linuxのハイパーバイザー型仮想化技術であるKVMをベースとした仮想マシン(インスタンス)の管理が中心ですが、Dockerにおいても、クラウド基盤に見られるセルフサービスポータルのような、直観的で分かりやすい管理画面が求められています。2015年9月中旬現在、Dockerコンテナを簡単なGUIで操

    Dockerの管理・監視ツール(1)
  • 一流のエンジニアが集まるクックパッドで聞いたエンジニアのライフスタイルと求められるスキル

    ソーシャルゲームブームを皮切りにしてエンジニア不足が叫ばれるなか、主婦向けのレシピサイトという一見エンジニアからほど遠いWebサービスに、なぜ一流のエンジニアが魅力を感じて次々と集まってくるのか。その秘訣とエンジニアのスキルセットについて、クックパッド技術部長の小川伸一郎氏に伺った。 重力に引かれるように、いいエンジニアが集まってくる ――なぜクックパッドには優秀なエンジニアが集まるのか、その秘訣をお聞きしたいと思います。まず、小川さんはどうしてクックパッドに入られたのでしょうか。 外から見た時には、Rubyの業界で知れ渡った、優秀で知名度の高いエンジニアが、数多く在籍していたから、ということがあります。2010年頃に、当時技術部長だった井原さん(編注:井原正博氏)が、優秀なエンジニアを多数採用するという方向に舵を切りました。その頃から、RubyのコミッターやRuby界隈で知名度のある優秀

    一流のエンジニアが集まるクックパッドで聞いたエンジニアのライフスタイルと求められるスキル
  • コンテナ技術の基礎知識

    コンテナの概要 ITシステムにおいて、開発面や運用面の変化へ迅速に対応する解決策の1つとして、従来では、仮想化ソフトウェアの採用がありました。仮想化ソフトウェアは、複数のOS環境とアプリケーションを1つのファイルとして取り扱い、非常に可搬性の高い基盤を提供します。しかし、Dockerに比べ、複数のOSを集約した場合の性能劣化や、OSとアプリケーションの仲立ちをする仮想化ソフトウェアの介在による障害発生時の問題切り分けの複雑化が問題視されてきました。Dockerは、従来のハイパーバイザー型の仮想化とは異なり、1つのOS環境に、コンテナと呼ばれる分離された空間を作成し、その分離された空間ごとに異なるOS環境を実現することができます。コンテナによってマルチOS環境を実現することができるため、複数のOSバージョンを必要とするITシステムを1つのOS環境に集約できるというメリットがあります。 コンテ

    コンテナ技術の基礎知識
  • 自動化・省力化のためのSerf入門

    Serfが必要とされる理由 複数のサーバ環境上で、一斉にセットアップ用やデプロイ用のコマンドを実行したり、バージョン番号の確認を行ったりするためには、どのような方法が最適でしょうか。管理対象が数台程度であれば、毎回手打ちでSSHログインを実行し、コマンドを実行する方法もありでしょう。 しかし、その作業が同じ手順の繰り返しである場合や、システムにおける作業対象が十数台~数百台まで増えたとしたらどうでしょう? 人の手で行うとなると、作業にかかる時間が増える上に、作業ミス発生のリスクも高まります。ミスを防ぐためには、チェックの仕組みも必要となります。たとえそれが単純な作業だったとしても、システム全体としては非常に面倒なものになりがちです。 このような問題を解決するためのツールとして、parallel-sshが挙げられます。parallel-sshは名称の通り、ある環境上から対象となるサーバ群に対

    自動化・省力化のためのSerf入門
  • Dockerコンテナのパフォーマンス劣化とチューニング

    はじめに 連載の第2回『ベアメタル環境とDockerコンテナ環境の性能比較』で実施したコンテナ環境とベアメタル環境との性能比較では、コンテナ環境は高負荷時に挙動が不安定になるという結果となった。記事には皆様からTwitterなどのソーシャルメディアを通じて、検証についてのご意見や問題点の解消方法について貴重なご指摘をいただいている。今回はこれらを参考に、発生したパフォーマンス劣化の原因の調査と改善策を模索していきたい。 まず筆者が目をつけたのは、Dockerが利用しているコピーオンライトデバイスの部分がパフォーマンス劣化の原因となっているのではないだろうか? という点である。実際にテストを実施しながら検証していきたい。 ストレージドライバとは ストレージドライバは、物理サーバ上ではストレージ(HDD)コントローラのチップセットドライバだが、Dockerではコンテナ記憶域に使用されるコピ

    Dockerコンテナのパフォーマンス劣化とチューニング
  • KubernetesとMesos:Dockerのスケジューリングツールの違いを理解する

    注目されるDockerのスケジューリングツール Dockerには、基機能だけでは自分自身がインストールされているホストのコンテナしか管理できず、複数ホストのコンテナを管理できないという問題がある。そのため、実際にサーバを複数台利用するような規模でDocker環境を運用することを考えると、コンテナのクラスタリングやスケジューリングなど、複数ホストにまたがってコンテナをオーケストレーションする仕組みが必須となる。 そのため、Docker環境の管理を行うスケジューリングツールが注目を集め、数多くの製品が登場しているが、その中で特に注目されているものに、KubernetesとMesosがある。KubernetesとMesosは、複数ホストのコンテナを簡単に管理できるという点では共通しているが、機能の対象範囲には違いがある。 今回は、KubernetesとMesosの特徴と相違点について整理し、そ

    KubernetesとMesos:Dockerのスケジューリングツールの違いを理解する
  • KubernetesとMesos:Dockerのスケジューリングツールの違いを理解する

    注目されるDockerのスケジューリングツール Dockerには、基機能だけでは自分自身がインストールされているホストのコンテナしか管理できず、複数ホストのコンテナを管理できないという問題がある。そのため、実際にサーバを複数台利用するような規模でDocker環境を運用することを考えると、コンテナのクラスタリングやスケジューリングなど、複数ホストにまたがってコンテナをオーケストレーションする仕組みが必須となる。 そのため、Docker環境の管理を行うスケジューリングツールが注目を集め、数多くの製品が登場しているが、その中で特に注目されているものに、KubernetesとMesosがある。KubernetesとMesosは、複数ホストのコンテナを簡単に管理できるという点では共通しているが、機能の対象範囲には違いがある。 今回は、KubernetesとMesosの特徴と相違点について整理し、そ

    KubernetesとMesos:Dockerのスケジューリングツールの違いを理解する
  • ベアメタル環境とDockerコンテナ環境の性能比較

    コンテナ環境とベアメタル環境の差異 前回は、Docker向け軽量Linux OSの主要3製品の比較を行った。Dockerを利用した環境の構築は、構築済みコンテナなどの利用により、比較的容易に行える。これは便利ではあるが、一方でコンテナ型仮想化環境には既存のベアメタル環境との差異がある。 コンテナ型の仮想化は軽量でリソース消費量が少ないが、コンテナ型仮想化環境にも管理レイヤは存在し、その上でコンテナが稼働している以上、どうしてもベアメタル環境に比べて性能劣化が発生することが予測される(図1)。 今回は、同一スペックおよび同一プロダクトを利用し、構築したDocker環境とベアメタル環境上で負荷テストを実施することで、両者の性能差を比較検証する。処理性能やリソース負荷状況などの観点で比較し、その差異を表やグラフにまとめているので、ご一読いただきたい。 まずは環境をご紹介する。今回は、図2のような

    ベアメタル環境とDockerコンテナ環境の性能比較
  • 開発環境の構築・共有を簡単にするVagrant入門

    Vagrantとは? Vagrantは、開発環境の構築と共有を簡単に行うためのツールです。どこでも同じ環境を再現できるように仮想マシン環境を管理する機能と、Atlasを通して共有する仕組みが提供されています。 VagrantとAtlasの関係 Vagrantは、アプリケーションやシステム開発のバックエンドを簡単にパッケージ化し、共有するためのツールです。このパッケージ化された環境を、「box」と呼ばれる単位で管理します。このboxには、標準で対応しているVirtualBoxをはじめ、AWSなどの各種マシン・イメージに対応したプラグインを介してアクセスします。またboxを共有するための機能としてAtlasという名前のインターネット上のサービスが提供されています。なお、Atlasは以前VagrantCloudと呼ばれていたものですが、現在はHashiCorpの他のツール(Packer、Terr

    開発環境の構築・共有を簡単にするVagrant入門
  • 楽天のOpsのトップが語る「コアなビジネスにこそオープンソースを」

    2014年10月25日に開催された楽天エンジニアたちのお祭り、楽天テクノロジーカンファレンスに際してOpenStackが社内のクラウドプラットフォームとして導入がされていく状況を垣間見ることが出来た(関連記事)。 その際に「OpenStackもそうですが、社内のインフラのオープンソースを推進しているのは今年になって入社したOps(システム運用)のトップ、ニールさんというひとがキーパーソンなんですよ」とOpenStackのプレゼンテーションを行った運用グループの佐々木氏が教えてくれた。今回はそのキーパーソンである佐藤ニール氏に楽天としてのオープンソースへの取り組みや課題などをインタビューした。今回参加してくれたのはGlobal Operations DepartmentのExecutive Officer 佐藤ニール氏、同じくJapan Platform Section, Data Sto

    楽天のOpsのトップが語る「コアなビジネスにこそオープンソースを」