タグ

ブックマーク / dev.classmethod.jp (141)

  • Spinnakerを使ってEKSへの継続的デリバリー環境を構築する | DevelopersIO

    みなさんKubernetesクラスタへのデプロイはどのように実施していますか?? 小規模環境であれば kubectlを利用した手動デプロイ、もう少し規模が大きい場合は、CodePipeline、CodeBuildなどを利用した自動デプロイにて実施するケースが多いのではないでしょうか。 そんな中、最近のk8s界隈では 俺たちはSpinnakerでデプロイしているぜ!!という声をちらほら聞くようになりました。 ということで今回は、Spinnaker環境の構築方法と、何かできるのかを簡単に紹介したいと思います。 Spinnakerとは Spinnakerは、Netflix社が開発したマルチクラウド環境への継続的デリバリーツールです。 大雑把に説明すると、CodePipelineの機能、CodeDelpoy(マルチクラウド)の機能、管理対象リソースのViewがあるイメージです。 その他、Pipel

    Spinnakerを使ってEKSへの継続的デリバリー環境を構築する | DevelopersIO
  • 【速報】もうアンチパターンとは呼ばせない!!VPC Lambdaのコールドスタート改善が正式アナウンスされました!! | DevelopersIO

    CX事業部@大阪の岩田です。 re:invent2018にてアナウンスされたVPC Lambdaの改善について、ついにAWSより公式のアナウンスがありました!! Announcing improved VPC networking for AWS Lambda functions 今後数カ月に渡って全リージョンで徐々にローリングアップデートが掛かっていき、展開が完了したリージョンについては上記AWSのブログが更新されるとのことです。ユーザー側では特に変更操作など必要ありません。 今までのアーキテクチャ これまでのVPC LambdaLambdaのサンドボックス環境を作成する際に、必要に応じてENIの作成&アタッチ処理を行なっていました。 ※上記AWSのブログより引用 このアーキテクチャは以下のような課題を抱えていました。 ENI作成を伴うコールドスタートにおいての非常に大きな遅延が発生

    【速報】もうアンチパターンとは呼ばせない!!VPC Lambdaのコールドスタート改善が正式アナウンスされました!! | DevelopersIO
  • GitHub ActionsでPull Requestに自動的にラベルを付与してレビューをしやすくする | DevelopersIO

    GitHub Actionsにより、Pull Requestで変更されたパスに基づいて、設定したラベルを自動付与して、Pull Requestの見逃し防止やモジュール判別をする。 はじめに プロダクトを構成するモジュールが、以下のように複数から構成されている場合、リポジトリ構成はどうしていますか? web api batch infrastructure cli ... 単一レポジトリ(Monorepo)構成でしょうか?複数リポジトリ(Multirepo)構成でしょうか? 今回はMonorepo構成の場合に遭遇する、Pull Requestレビュー時の1つの課題解決方法について紹介します。 目を通しておくべきPull Requestかどうか プロダクトが成長すると、それに伴いモジュールの数が増えたり、チームが分かれたりといろいろあります。 モジュール毎にチームが分かれている場合、Pull

    GitHub ActionsでPull Requestに自動的にラベルを付与してレビューをしやすくする | DevelopersIO
  • WiresharkのCLIツール editcap でpcapファイルを加工する | DevelopersIO

    ども、ゲストの大瀧です。 みなさん、パケットキャプチャ取ってますか見てますか?!軽い気持ちでtcpdumppcapファイルを取ってみたけど、Wiresharkなどのビューワで見ようとして苦戦したことはないでしょうか。記事では、Wiresharkに同梱されているユーティリティコマンドeditcapでpcapファイルを加工してみた例をご紹介します。 動作確認環境 OS : macOS Mojave Wireshark : バージョン3.0.0 editcapコマンドとは Wiresharkの公式ページなどからWiresharkをインストールすると、いくつかのコマンドラインツールがセットで配置されます。どんなコマンドがあるかは、こちらのマニュアル一覧で確認できます。editcapはそれらの一つで、コマンド名の通りpcapファイルを編集するコマンドです。ヘルプは以下が表示されます。 $ edi

    WiresharkのCLIツール editcap でpcapファイルを加工する | DevelopersIO
    kiririmode
    kiririmode 2019/03/20
    これは知らんかった
  • OAuth 認証を真面目に考える | DevelopersIO

    認証とログインは別と捉えることで、その状態の維持に着目してその手法を考えましょう。OAuth 認証は2018年現在、必要悪としか言いようがありません。ぐぬぬ。ソーシャルログインであっても、Web サーバーで自前のセッションを管理してください。 永遠の生魚おじさん、都元です。学生時代、ロックバンド Harem Scarem の Mood Swings (1993年) っていうアルバムが好きでよく聞いてたんですけど、この前 Google Play Music で検索してみたらMood Swings II (2013年) っていうアルバムが出ていることに気づきました。なんと曲目が全て一緒で、妙なアレンジのリミックスになっていない、まさに「オリジナルのまま20年磨き続けたらこうなりました」みたいな仕上がりが最高でした。聴き比べて楽しんでいます。 さて、弊社は日を最終営業日として、これから冬季休業

    OAuth 認証を真面目に考える | DevelopersIO
  • Swagger定義ファイルを分割する | DevelopersIO

    Swagger用ファイルを分割して記述しよう Swaggerとは Swaggerとは言語に依存しないREST APIのインターフェース仕様とそれに関連するツール/ライブラリのことです。 RESTful APIの記述標準化を目指している、MS/Google/IBMなどが参加しているグループ、 Open API Initiativeでは、APIの記述のためにSwaggerが採用されています。 Swaggerは以下のようなツールから構成されています。 Swagger UI - swagger specをパースしてAPIドキュメント化するツール Swagger Codegen - swaggerの定義ファイルからプログラムコードを生成するツール Swagger Editor - オンラインで使用できるSwaggerエディタ 普通にswaggerの記述をする まずは下記のように、普通にswagger

    Swagger定義ファイルを分割する | DevelopersIO
    kiririmode
    kiririmode 2018/09/02
    json refを解決する方法
  • Ansibleのテストで使いたい8つのServerspec | DevelopersIO

    渡辺です。 Ansibleを使っている皆様、テスト書いてますか? え、書いてない? 弊社では、社内共有しているAnsibleのRoleの検証にServerspecを利用しています。 今日はよく使うリソースタイプを紹介します。 テストの流れ テストのフレームワークとしてはTest Kitchenを利用しています(kitchen-ansiblepushを利用したAnsible roleのテスト環境構築)。 はじめに、Test KitchenのEC2 Driverを利用し、AWS環境にEC2インスタンスを作成します。 次に、ひとつのRoleを実行するAnsibleのPlaybookを流します。 続けて、サーバの状態が期待された状態になっているかをServerspecで検証します。 最後に、AWS環境にEC2インスタンスが破棄されます(検証失敗時は破棄されない)。 Ansibleでもテストの仕組み

    Ansibleのテストで使いたい8つのServerspec | DevelopersIO
  • jqのYAML/XMLラッパー yq でJSONとYAMLを自在に操る | DevelopersIO

    JSONをいい感じに操るおなじみのCLIツールjq。最近、YAMLを触る機会が増えてきたので同じように使えるツールはないかなぁと思っていたら、yqが使いやすかったのでご紹介します ども、大瀧です。 JSONをいい感じに操るCLIツールjqは皆さんご存知かと思います。最近、YAMLを触る機会が増えてきたので、同じように使えるツールはないかなぁと思っていたら、jqのYAML/XMLラッパーであるyqが使いやすかったのでご紹介します。 yqとは yqはYAMLが扱えるjqのラッパーです。jq同様の豊富なフィルタ構文でYAMLを操作できるのが特徴です。 jqを事前にインストールしておき、Python pipでインストールします。 $ pip install yq yqの使い方 yqの入力は、標準入力ないしファイルでJSON形式とYAML形式の両方に対応します。出力はデフォルトがJSON、-yオプシ

    jqのYAML/XMLラッパー yq でJSONとYAMLを自在に操る | DevelopersIO
  • Minikubeを使ってローカル環境にKubernetes環境を用意する | DevelopersIO

    コンニチハ、千葉です。 EKSがプレビュー中です。EKSがGAになる前に、Kubernetesを勉強するため、Minikubeを利用してMac上にKubernetes環境を用意しました。MinikubeはMac以外にも、LinuxWindowsにも対応しています。 Minikubeとは? Minikubeはローカルで簡単にKubernetesを実行できるツールです。Kubernetesの検証や開発者のために、ノートPC上のVM環境でシングルノードのKubernetesクラスタを実行します。注意事項としては、シングルノードの環境になるので検証できない機能もあります。その場合は適宜クラウド環境に複数ノードでクラスを用意しましょう。 名前的に、小さいKubernetesでミニKubernetesからMinikube? インストール インストールの前提があります。 ハイパーバイザーが必要になりま

    Minikubeを使ってローカル環境にKubernetes環境を用意する | DevelopersIO
  • HIGOBASHI.AWS 第2回 AWSごった煮編で「わかりづらいS3クロスアカウントアクセスに立ち向かう」を話しました #cm_osaka | DevelopersIO

    ご機嫌いかがでしょうか、豊崎です。大阪オフィスからお届けしております。 今回、HIGOBASHI.AWS 第2回 AWSごった煮編で「わかりづらいS3クロスアカウントアクセスに立ち向かう」をお話しさせていただきました。 HIGOBASHI.AWSとは 肥後橋(大阪)界隈で開催する、AWSの勉強会コミュニティです。登壇者と参加者がディスカッションしながら進行していきます。前のめりな気持ちで、お気軽にご参加ください。 大好評の第1回目に続き、AWSを掘り下げて学べるお薦めの勉強会です。皆様の参加を心よりお待ちしています! 登壇資料

    HIGOBASHI.AWS 第2回 AWSごった煮編で「わかりづらいS3クロスアカウントアクセスに立ち向かう」を話しました #cm_osaka | DevelopersIO
    kiririmode
    kiririmode 2018/03/23
    S3の権限整理。わかりやすかった
  • 開発者が運用を経験すべき一つの理由 | DevelopersIO

    はじめに 小室です。2017年も最後の日になりました。 ここ最近は読書によるインプットが少なくなったことによって、文章の質が自ら目を背けたくなる程度に低下していたため、仕事納めから数日はひたすらを読む生活をしていました。まだまだインプットが足りていないので充電が完了していないのですが、年末恒例になったエントリーを書かないことが自分の中でモヤモヤとして残っていたので、重い腰を上げて文章を書いてみようと思います。 ここ数年は珍しく1つのプロジェクトにつきっきりで設計/実装から運用までを通して担当しています。 *1特に運用を担当するようになって多くを学んだ一年でした。もはや設計・実装者が一人も残っていないアプリケーションのメンテナンス、改修に関わったり、インフラ側とアプリケーション側の狭間を埋めるように動くためにAWSのサービスについて格的に勉強をしたりするなど、1アプリケーションエンジニア

    開発者が運用を経験すべき一つの理由 | DevelopersIO
  • Digdagのスケジューリングについて理解する #digdag | DevelopersIO

    Digdagを理解してみるシリーズ、3目は『スケジューリング』です。 Digdag | 特集カテゴリー | Developers.IO Digdagのアーキテクチャとコンセプトを理解する #digdag | Developers.IO Digdagのワークフロー定義について理解する #digdag | Developers.IO スケジュール設定 ワークフローを定期的に実行させるために、schedule: オプションをワークフローのTOPレベルに定義する事が出来ます。 timezone: UTC schedule: daily>: 07:00:00 +step1: sh>: tasks/shell_sample.sh schedule:ディレクティブでは、以下オプションの中から1つを選択可能です。 daily>: HH:MM:SS (daily>: 07:00:00) hourly>:

    Digdagのスケジューリングについて理解する #digdag | DevelopersIO
  • Digdagのワークフロー定義について理解する #digdag | DevelopersIO

    先日の投稿でDigdagの『アーキテクチャ』に関する部分を読み解いて行きましたが、今回はその続き、『ワークフロー定義』に関する部分を読み進めてみたいと思います。 Digdagのアーキテクチャとコンセプトを理解する #digdag | Developers.IO ワークフローは拡張子『*.dig』のファイルとして作成する Digdagのワークフローは拡張子*.digを持つファイルとして作成します。ファイルの名前=ワークフローの名前、となります。例えば、hello_worldというワークフローを作るとします。その際のファイル名はhello_world.digとなります。中身はこんな感じの記述内容となります。 timezone: UTC +step1: sh>: tasks/shell_sample.sh +step2: py>: tasks.MyWorkflow.step2 param1: t

    Digdagのワークフロー定義について理解する #digdag | DevelopersIO
  • Digdagのアーキテクチャとコンセプトを理解する #digdag | DevelopersIO

    Treasure Data社によってOSSワークフローエンジン『Digdag』はその発表以後多くの反響を呼び、社内外を含め良く利用されるようになってきていますが個人的には下記の『試してみた』エントリ以降、あまり触って来ていませんでした。ちょっと個人的にも腰を据えて取り掛かってみようかという感じになってきましたので、仕組みや使い方を把握するという意味で一番参考になるであろう公式ドキュメントの一部を読み進めてみた記録をブログエントリとして残しておきたいと思います。 Treasure Data社のOSSワークフローエンジン『Digdag』を試してみた #digdag | Developers.IO Digdagのアーキテクチャ Digdagによるワークフローの自動化 ワークフローを使って、手動で行なっているあらゆる操作を自動化出来ます。一連のタスクを『ワークフロー』として定義し、Digdagを使

    Digdagのアーキテクチャとコンセプトを理解する #digdag | DevelopersIO
  • Vagrant 1.8の新機能 Linked CloneとSnapshotを試してみた | DevelopersIO

    ども、大瀧です。 週明けにリリースされたVagrant バージョン1.8の新機能、Linked CloneとSnapshotを試してみたのでレポートします。 先に結論から書いておきますが、どちらもVagrantを日々使っている方には是非常用して欲しい機能です! Linked Cloneとは Linked Cloneはデータセンター仮想化製品ではメジャーな、一つのマスターVMを元にして複数のクローンVMを作り出す機能です。普通にVMをコピーするのではなく、クローンVMはマスターVMの差分データのみを持つことから'Linked'という冠が付いています。VMの初回作成(vagrant up)時の時間が短縮されるのと、仮想ディスクのサイズが差分のみで済むメリットがあります。 設定方法 Virtualbox環境では、以下の設定をVagrantfileのVagrant.configure(2) do

    Vagrant 1.8の新機能 Linked CloneとSnapshotを試してみた | DevelopersIO
  • AWSにおける静的コンテンツ配信パターンカタログ(アンチパターン含む) | DevelopersIO

    独自ドメインSSLだとCloudFront使えないから横綱無理だよねー、という話がありました。うん、確かにそうでした、執筆時点では…! 日2013/06/12、CloudFrontの独自ドメインSSL対応が発表(英語・日語)されましたので、みなさん揃って横綱になればいいと思います。 よく訓練されたアップル信者、都元です。AWSを利用して構築した環境から、クライアント(モバイルやブラウザ等)に対してHTTPを使って静的なコンテンツを配信したいケースって、多いですよね。多いというか、むしろどんなシステムにも多かれ少なかれ、静的なコンテンツ配信があると思います。 スケーラビリティ・柔軟性・可用性・パフォーマンス・コスト 静的なコンテンツというのは、コンテンツをリクエストに応じて生成したりせず、完成品としてのファイルが手元にある状態です。例えば、多くのWebシステムにおいて、ほとんどの画像やJ

    AWSにおける静的コンテンツ配信パターンカタログ(アンチパターン含む) | DevelopersIO
  • jqを活用してAPIレスポンスから欲しい情報を抽出する【上級編】 | DevelopersIO

    よく訓練されたアップル信者、都元です。引き続きjqのお話。日は上級編です。 まずおさらいの意味も込めて下記は、ざっと読んでおいて頂けると。 jqを活用してAPIレスポンス等から欲しい情報だけを抽出する【初級編】 jqを活用してAPIレスポンス等から欲しい情報だけを抽出する【中級編】 前回の練習問題の答え さて、まず前回の練習問題の答えをさらっと。1つ目の解答例は下記の通りです。「どっと・ふー・むきむき」と読んでください。 $ cat example.json | jq '.foo[][]' 2つ目の解答例はこんな感じでしょうか。 $ cat example.json | jq '[.foo[][] | {(.key): .value}] | add' jqにおける関数 さて。 ある値をから別の値を作る操作のことを関数(function)と呼びます。例えば今まで見てきたjqのクエリはそれぞ

    jqを活用してAPIレスポンスから欲しい情報を抽出する【上級編】 | DevelopersIO
  • メッセージングツールSerfをEC2で使ってみる | DevelopersIO

    こんにちは、望月です。 今日はSerfというプロダクトを触ってみたので、学んだ内容をまとめたいと思います。 Serfとは? Serfはゴシッププロトコルを利用したサーバ間のメッセージングツールです。固定のマスターを持たず、クラスタに参加しているノード間で通信して情報をやりとりするのが特徴です。 Serfの特徴として、公式ページには3つの特徴が挙げられています。 メンバーシップ : 複数のサーバでクラスタを組み、ノードが追加されたり減少したりした際にイベントを発行することができる 不具合検知と修復 : クラスタ内のノードの生死を自動で判断し、不調のインスタンスが存在することを知らせるイベントを発行することができる カスタムイベントの通知 : ユーザ独自のイベントを発行し、任意の処理を行わせることができる とりあえず動かしてみる Amazon Linuxを使って、まずはインストールと動作確認を

    メッセージングツールSerfをEC2で使ってみる | DevelopersIO
  • 軽量JSONパーサー『jq』のドキュメント:『jq Manual』をざっくり日本語訳してみました | DevelopersIO

    jq Manual jqで簡単JSON加工 | Developers.IO jqコマンドが実は高性能すぎてビビッた話 - beatsync.net JSONを超絶に読みやすくする jq コマンド - WebAPIバリバリ使うor開発する人必須 CLIでJSONの整形をする - ( ꒪⌓꒪) ゆるよろ日記 JSON形式の情報を様々な条件や書式として成形、フィルタリングツール『jq』。上記関連エントリで私もこのツールの存在を知る事になったのですが、ツールの簡易さ・便利さに感動しながら私もちょくちょく利用させてもらっています。 そこでこのエントリでは、jq公式ページに展開されている利用ガイド・リファレンス的な位置付けの『jq Manual』を写経がてらざっくり日語訳してみました。ざっくり訳なのでこの部分の訳おかしい・間違ってる等ありましたら御指摘頂けると幸いです。例示されているサンプルコードも

    軽量JSONパーサー『jq』のドキュメント:『jq Manual』をざっくり日本語訳してみました | DevelopersIO
  • 身につけておきたいWebサイト高速化テクニック #3|画像形式の基礎知識 | DevelopersIO

    こんにちは、ご無沙汰しています。 Web担当の野中です。 前回の第2回「検証ツールとそもそもHTTPって何だ編」から少し時間が経ってしまいました。 というのもテクニックを紹介するために予想以上の予備知識の説明と検証・調査が必要になり、さらにどう順序立てて解説すべきか悩み時間がかかってしまいました。 ちなみに第2回では、Webサイト高速化に関連してくるHTTPについて基的なことを紹介しています。 より詳しくHTTPについて解説したCodezineさまに寄稿している連載も是非チェックしてみてください。 題 さて、今回から実践編ということでフロントエンド側のWebサイト高速化対策の1つ、画像の最適化について紹介します。 初学者向けに細かく基的なことまで解説しますので、記事を3つに分けます。 画像最適化1回目の記事では、画像に関する基礎知識について紹介します。 未だにWebサイト高速化の具

    身につけておきたいWebサイト高速化テクニック #3|画像形式の基礎知識 | DevelopersIO