タグ

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

  • KeycloakによるAPIセキュリティの基本

    連載の1回目である今回は、Keyclooakの基および、API保護が必要とされる背景について解説します。 サービスがより活発に利用されることを狙って、企業や公的機関によるサービスのAPI(Application Programming Interface)公開が広がっています。また、自組織内でもモバイルアプリケーション開発やシステム間連携を行いやすくするために、システムがAPIを提供することが多くなってきています。その際、APIは限られた人やシステムにだけがアクセス可能にする必要があるため、認証・認可のようなセキュリティ技術が必須になってきます。 認証・認可は、OAuth 2.0の枠組みに基づくことが一般的ですが、OAuthは自由度が高い仕様であるため、誤って実装・構築してしまうとセキュリティホールが作りこまれてしまいます。記事では、近年急成長を遂げている認証・認可サーバOSSである「

    KeycloakによるAPIセキュリティの基本
    clavier
    clavier 2020/05/29
  • 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がマイクロサービスからモノリシックなアプリに変化。その背景とは
    clavier
    clavier 2020/05/15
  • WebAssemblyとRustが作るサーバーレスの未来

    注目を集めるWebAssemblyRustそしてサーバーレスに結びつく未来を、Cloudflareエンジニアが解説する。 JavaScriptの登場によって、Webブラウザーはスタティック(静的)なWebページを表示するだけの存在から、より動的なアプリケーションを実行するプラットフォームに進化した。そしてそれをさらに進化させるために登場したのがWebAssemblyだ。WebAssemblyは2015年にMozilla Foundationによって発表され、その後2019年12月にW3Cのレコメンデーションとして採択されたブラウザーで実行されるコードのバイナリーフォーマットの標準だ。 HTMLCSS、そしてJavaScriptに続く進化のための要素の一つとして紹介されるWebAssemblyは、動的型付けのインタープリター言語であるJavaScriptと比較してコードのサイズが小さく

    WebAssemblyとRustが作るサーバーレスの未来
    clavier
    clavier 2020/04/21
  • Rancherを構成するソフトウェア

    前回までの記事では、Rancherのインストールや、Rancherを使った開発のベストプラクティスを紹介してきました。 今回は、Rancherをプロダクション環境下で運用するために理解が欠かせない、Rancherのアーキテクチャについてご紹介します。 バージョンについて 今回の記事では、バージョン2.1.5を前提に紹介します。 Rancherのバージョンによって、多少の違いはありますが、バージョン2.0以降は全体像が変わるほどの大きな変更はなされていないため、2.0以降の他のバージョンを利用している方にも参考になるかと思います。 Rancherを構成する5つの要素 Rancherは大きく分けて下記の5つの要素で構成されています。 Rancher Serverを動かすためのKubernetes(Parent Kubernetes) Rancher Server Rancher Cluster

    Rancherを構成するソフトウェア
  • 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(シンクイット)
  • KubernetesのWorkloadsリソース(その2)

    前回に引き続き、KubernetesのWorkloadsリソースについて解説します。 Pod ReplicationController ReplicaSet Deployment(前回はここまで解説しました) DaemonSet(今回はここから解説します) StatefulSet Job CronJob DaemonSet DaemonSetは、前回説明したReplicaSetの特殊な形ともいえるリソースです。ReplicaSetは、各Kubernetes Node上に合計でx個のPodをNodeのリソース状況に合わせて配置していきます。そのため、各Node上のPodの数が必ず等しいとも限りませんし、各Node上に確実に配置されるとも限りません。一方DaemonSetは、全nodeに1 podずつ配置するリソースとなっています。そのため、レプリカ数などは指定できませんし、2 podずつ配

    KubernetesのWorkloadsリソース(その2)
  • MySQLのチューニングを戦う方へ

    連載もついに最終回となりました。 連載では、MySQLクエリーチューニングことはじめで予告した通り、「チューニング箇所の洗い出しのテクニック」について説明してきましたが、「チューニングの方法」については一切触れませんでした。 「連載ではチューニングそのものの方法については詳しく説明しません。それは見出しの通り「銀の弾丸」などはなく、MySQLのパフォーマンスチューニングは計測と改善を繰り返し行っていくべきものだからです。そのため、特定のケースにマッチする改善の手法よりも、繰り返し使われる計測の手法にフォーカスを当てて説明していきます。」 その理由としてこの一文が全てではありますが、今回は参考までに筆者が考えるチューニングの指標を紹介したいと思います。それがあなたの環境に当てはまるかどうかは、これまでに紹介してきたツールなどを利用して計測してみてください。 チューニングの基方針 基

    MySQLのチューニングを戦う方へ
  • MySQLマイスターに学べ! 即効クエリチューニング

    Copyright © 2004-2024 Impress Corporation. An Impress Group Company. All rights reserved.

  • Dockerの誤解と神話。識者が語るDockerの使いどころとは? Docker座談会(前編)

    では題に入ります。まず、Dockerは何がいいのか、あるいはどういうことには向かないか。実際に仕事で関わっている立場から語ってください。 松井:SIerをやっていて、最近はお客様からDockerという言葉が出てくるようになりました。とあるお客様からは、Solarisコンテナーで動いているシステムが古いので乗り換えたい、そのためにDockerはどうかと具体的な話を聞かれました。一方、「Dockerってどう?」と漠然とした話をいただいて、お客様の環境でしたらこう使えます、という話をすることもあります。 実案件まではまだありません。アプリケーションが対応していないと使えない、という話になることが多い。Dockerでは、いままでのアプリをそのまま使おうとすると、失敗すると思います。 前佛:無理をしてDockerを入れるのは違うと思いますね。Docker社が、仮想化を置きかえるというような見せ方を

    Dockerの誤解と神話。識者が語るDockerの使いどころとは? Docker座談会(前編)
  • 優れた上級PHPエンジニアを名乗るためのスキルとは?

    的な機能として、特に意識せずに使っている文字列操作。 似た機能の違いを理解して使い分けるのがポイントです。

    clavier
    clavier 2016/01/03
  • Dockerの管理・監視ツール(1)

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

    Dockerの管理・監視ツール(1)
  • Dockerの導入前の設計、CentOS 7.xとDockerのインストール

    いよいよ、Dockerの導入前のOSレベルでの設計、さらに具体的な導入に入ります。DockerLinux OSにインストールする手順自体は非常に簡単ですが、導入前の基設計を怠ってはいけません。Dockerを導入するにあたって、採用すべきOSのファイルシステムや、パーティションに関する基的な知識を習得しておく必要があります。ここでは、Dockerをインストールする前段階での、ハードウェアに関する様々な留意点を概要レベルで紹介します。また、Dockerをインストールする前段階で知っておくべき各種パラメータと初期設定、Dockerのインストール手順を紹介します。 物理サーバーのCPUに関する留意点 2015年8月下旬現在、最新のDockerでは、64ビットのx86アーキテクチャのサーバーシステムやPCで稼働させることができます。CPUの動作周波数などに特に制限事項はありませんが、まずは、D

    Dockerの導入前の設計、CentOS 7.xとDockerのインストール
  • 自動化・省力化のためのSerf入門

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

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

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

    コンテナ技術の基礎知識
    clavier
    clavier 2015/08/12
    コンテナ技術の基礎知識 | Think IT(シンクイット)
  • MySQL Clusterの特徴とアーキテクチャ

    連載では、実際に「MySQL Cluster」を利用するためのチュートリアルとなるように、その特徴と基的なアーキテクチャからインストール、基的な操作などをコマンド付きで解説していきます。第1回の今回は、MySQL Clusterの特徴とアーキテクチャについて紹介します。 MySQL Clusterとは? 「MySQL Cluster」は「MySQL Server」とは開発ツリーの異なる製品で、共有ディスクを使わずにアクティブ−アクティブのクラスタ構成が組めるリレーショナルデータベースです。カラムやインデックス、ノードの追加・削除といった各種メンテナンス処理をオンラインで実行できる、単一障害点がなく可用性が非常に高い、などの特徴があります。そのため、米国海軍の航空母艦における航空機管制システムなど、ミッションクリティカルな分野でも多く利用されています。 また、基的にはデータとインデッ

    MySQL Clusterの特徴とアーキテクチャ
    clavier
    clavier 2015/07/22
    MySQL Clusterの特徴とアーキテクチャ | Think IT(シンクイット)
  • Dockerコンテナのパフォーマンス劣化とチューニング

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

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

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

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

    Copyright © 2004-2024 Impress Corporation. An Impress Group Company. All rights reserved.

  • Active Recordのバリデーションやコールバックについて深く掘り下げてみた

    はじめに このコラムは、Ruby初心者の著書が、Railsガイドに沿って、リアルタイムで勉強をしていくコラムです。全12回を予定しています。勉強する上でつまずいた点やその回避法、他のプログラミング言語や職業経験に基づいたアドバイスなども紹介する予定です。RubyRailsに興味のある方は、ぜひ一緒に勉強してみませんか。 今回参照するガイドはこちらです。 Active Record バリデーション http://railsguides.jp/active_record_validations.html Active Record コールバック http://railsguides.jp/active_record_callbacks.html Active Recordの関連付け(アソシエーション) http://railsguides.jp/association_basics.html

    Active Recordのバリデーションやコールバックについて深く掘り下げてみた