タグ

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

  • サーバーレスがアプリケーションにもたらす本当のメリットとは?「サーバーレスのポテンシャルとシステム表現」#devsumi | Developers.IO

    サーバーレスがアプリケーションにもたらす当のメリットとは?「サーバーレスのポテンシャルとシステム表現」 #devsumi 「そのサーバーレス、当に意味あるの?」 AWS re:Invent 2014で、AWS Lambdaが発表されてから丸3年が経過。サーバーレスという単語もすっかりこの界隈では定着した感はあります。 ですが、実際の開発・運用ノウハウについては、まだまだ試行錯誤が続いているのが現状じゃないでしょうか。ぶっちゃけ、既存アプリケーションのEC2をLambdaに置き換えるだけではほとんどメリット無いでしょ、という感触は、ある程度サーバーレスアプリケーションをゴリゴリ作っている人であれば、よく感じていることだと思います。 そんななか今回受講したこのデブサミのセッションでは、新しい観点でサーバーレスがもたらす恩恵やメリットを捉えることができてごっつ新鮮だったので、その模様をお届け

    サーバーレスがアプリケーションにもたらす本当のメリットとは?「サーバーレスのポテンシャルとシステム表現」#devsumi | Developers.IO
  • 事例からAmazon Kinesisとは何なのかを学ぶ | DevelopersIO

    はじめに 以前、Amazon Kinesisを使う案件があり技術調査の手伝いをしたことがありました。AWSのサイトには「大規模なストリーミングデータをリアルタイムで処理する完全マネージド型サービス」とありますが、その時は何のためのサービスなのか触ってもいまいちピンときませんでした。その後、分からなかった点を担当者にいろいろ聞いてみたのですが、案件が事例化されましたので教えてもらったことをブログに書いてみようと思います。株式会社あきんどスシロー様の案件です。以下が構成図になります。 「うまいすしを、腹一杯。うまいすしで、心も一杯。」 処理の流れ 事例の構成図からどのような処理が行われているかを担当者に確認しました。 回転寿司のすし皿に付いているICタグの情報を管理端末が読み取ります。 管理端末が読み取った情報はインターネットを経由してAmazon KinesisへPutされます。Putされる

    事例からAmazon Kinesisとは何なのかを学ぶ | DevelopersIO
  • Amazon API GatewayでAPIキー認証を設定する | DevelopersIO

    ども、大瀧です。 AWS Summit NewYorkで発表&リリースされたAmazon API Gatewayをいろいろ触っています。API Gatewayの機能の一つとして、認証機構の追加があります。今回はAPI Gatewayがサポートする認証の一つとして、APIキー認証を紹介してみます。 APIキー認証とは API GatewayAPIキー認証は非常にシンプルで、所定のキー(文字列)を所定HTTPヘッダ(x-api-keyヘッダ)に含めたリクエストであればアクセス許可、無ければアクセス拒否とする機能です。 APIキーは、API Gatewayで生成・管理されるようになっており、セキュアな運用が可能です。 前提の構成 以下の記事のセットアップが完了している状態です。 Amazon API GatewayAPI作成から動作確認までやってみる | Developers.IO gr

    Amazon API GatewayでAPIキー認証を設定する | DevelopersIO
  • [速報] RDSインスタンスの起動/停止 | DevelopersIO

    渡辺です。 待望の機能「RDSインスタンスの起動/停止」がリリースされました! 制限も多いようです(20:30頃、追記しました)。 さらに制限について追記しました(2017/6/2 8:00) RDSインスタンスを停止してみる AWS CLIを最新バージョンにしてからstop-db-instanceコマンドを実施します。 $ aws rds stop-db-instance --db-instance-identifier test ステータスが「停止中(Stopping)」になりました。 しばらくすると、「停止中(Stopped)」になります。 もちろん、マネジメントコンソールからも実施できます。 RDSインスタンスを起動してみる 先ほど停止したインスタンスをstart-db-instanceコマンドで起動します。 $ aws rds start-db-instance --db-ins

    [速報] RDSインスタンスの起動/停止 | DevelopersIO
    gologo13
    gologo13 2017/06/01
  • AWS事業部の採用方針について | DevelopersIO

    主にクラスメソッドメンバーズにおけるサポートサービスとフートシリーズ(運用保守オプション)を担当するグループです。運用保守、システム監視、セキュリティ監視、継続的コンサルティングと、システム稼動後のお客様インフラを24時間365日体制で安定した状態に保つために日々お客様とやりとりしています。 このように、一つの部の中に担当業務が違う複数のグループがありますが、部全体のビジョンはただ一つ、「AWSに関する圧倒的な量のノウハウを用いて、AWSインフラを安く早く構築し、AWSのことをまるっとお任せしてもらうことで、お客様のビジネスに貢献する」です。そして同じビジョンを掲げたチームとして、採用方針もグループ毎に分けず、部として統一しています。 今回はAWS事業部の採用方針をご紹介します。 AWS事業部の採用方針 AWS事業部の採用方針は以下の3つです。 技術が好きな人を採る クラスメソッドはエンジ

    AWS事業部の採用方針について | DevelopersIO
    gologo13
    gologo13 2017/04/29
  • ELB+AutoScaling環境でALBに移行してみる | DevelopersIO

    こんにちは、菊池です。 昨年発表された Application Load Balancer (ALB)ですが、すでに既存のClassic Load Balancer(元々のELB:標準ロードバランサー)から移行しているユーザも多いと思います。 今回、AutoScalingで使用しているケースにおける、CLBからALBに移行する手順を調べてみました。単純な移行と比較して、いくつか注意点もありました。 手順サマリ ALB/Target Groupを作成(ここではインスタンスの追加不要) Auto Scaling Groupを編集 一部プロセスを停止 Target Groupを追加 Health Checkが正常となることを確認 Auto Scaling Groupを編集 CLBを削除 停止していたプロセスを再開 DNSレコードを切り替え、アクセス先をCLBからALBに変更 1、6についてはこれ

    ELB+AutoScaling環境でALBに移行してみる | DevelopersIO
  • 【朗報】Amazon CloudFrontのキャッシュ削除(Invalidation)が速くなりました【5秒で90%】 | DevelopersIO

    ども、大瀧です。 日、AWSのCDNサービスCloudFrontのキャッシュ無効化(Invalidation)高速化のアナウンスがありました。 AWS Developer Forums: Announcing Fast Invalidations 試してみた様子をレポートします。 CloudFrontのキャッシュ削除にかかる時間 CloudFrontのキャッシュ削除は、コンテンツのパス単位(ワイルドカード指定も可)で従来10〜15分程度かかっていたものです。今回のアップデートで、CloudFrontエッジロケーション(キャッシュサーバー)の90%には5秒で、全体には1分で削除が行われるようになりました。同時リクエスト数や料金などのルールは従来通りです。 では、手元のCloudFront Distributionで試してみます。キャッシュ設定は以下の通り、60秒キャッシュする状態(Defa

    【朗報】Amazon CloudFrontのキャッシュ削除(Invalidation)が速くなりました【5秒で90%】 | DevelopersIO
  • CodeDeploy の Blue/Green デプロイを利用して、CodePipeline でいい感じに自動化されたデリバリを実装する | DevelopersIO

    CodeDeploy の Blue/Green デプロイを利用して、CodePipeline でいい感じに自動化されたデリバリを実装する こんにちは、藤です。 ちょっと前から、AWS の Code◯◯ をベースにデリバリの自動化を勉強しています。 今回は今までブログエントリしてきたデリバリ方法に、先日リリースされた CodeDeploy の Blue/Green デプロイを組み合わせた実装を試すとともに、リリースプロセスを今一度整理してみました。 今までのエントリは下記をご参照ください。 CodePipeline で CodeCommit/CodeBuild/CodeDeploy を繋げてデリバリプロセスを自動化してみた #reinvent CodePipeline で承認プロセスを設けて番環境へリリースする #reinvent CodeDeploy の Blue/Green デプロイ

    CodeDeploy の Blue/Green デプロイを利用して、CodePipeline でいい感じに自動化されたデリバリを実装する | DevelopersIO
  • 【アップデート】Amazon RDSでMySQL 5.7が使用可能になりました | DevelopersIO

    ウィスキー、シガー、パイプをこよなく愛する大栗です。 日RDSでMySQL 5.7が使用可能になったので、早速試してみました。 RDS for MySQL 5.7で何が変わった? RDSでは対応した主なアップデート MySQL 5.7では様々なアップデートがあるので、一部をご紹介します。 ネイティブでのJSON対応。様々なJSON関数が追加されています。 実行計画のJSON出力が可能になり、詳細情報が出力可能になりました。 パラレルレプリケーションに対応しました。 Boost.Geometryを使用した空間インデックスのGIS対応。 innodb_buffer_pool_sizeの動的変更が可能になりました。 innodb_buffer_pool_dump_pctシステム変数が追加され、バッファプルからダンプするかとパーセンテージで指定できます。 バルクデータロードのパフォーマンスが改善

    【アップデート】Amazon RDSでMySQL 5.7が使用可能になりました | DevelopersIO
    gologo13
    gologo13 2017/02/02
    “default_password_lifetime”
  • CodeDeploy のデプロイ方式に Blue/Green Deployment が追加されました | DevelopersIO

    2016/01/30 【修正】 ELB にインスタンスを追加するタイミング、現環境を削除するタイミングは指定可能でした こんにちは、藤です。 先日、CodeDeploy に Blue/Green デプロイ機能が追加されました。 AWS CodeDeploy Introduces Blue/Green Deployments 早速触ってみましたのでご紹介します。 概要 CodeDeploy は今までデプロイ方式にインプレイスデプロイのみを提供していました。インプレイスデプロイは既存のインスタンスにアプリケーションを上書きすることで、高速なデプロイを実現していました。しかし、アプリケーションを上書きすることで、いざ、デプロイしたアプリケーションにバグが内在していて、前のバージョンのアプリケーションに切り戻したい時は再度アプリケーションをデプロイする必要があり、切り戻しに時間がかかっていました

    CodeDeploy のデプロイ方式に Blue/Green Deployment が追加されました | DevelopersIO
  • ちょっと待って!Auroraを使う時にMulti-AZが本当に必要ですか?

    ウィスキー、シガー、パイプをこよなく愛する大栗です。 Auroraへ移行するお話を頂くことが増えてきました。そこでAuroraへの移行時における冗長化のポイントを考えてみました。 RDSのSLA定義はMulti-AZが前提である旨を追記しました。 そもそもMulti-AZって? ここではMySQLの場合のMulti-AZについて述べます。 Single-AZでは、以下の問題があります。 耐久性: ストレージボリュームで障害が発生した時には、「最新の復元可能な時刻」以降のデータ更新が失われる。 可用性: ハードウェア障害が発生した時に、インスタンスを再作成するため再接続までの時間が必要になる Auroraを除くRDSではストレージボリュームにEBSと同等のものが使用されているようなので通常のディスクに比べて高い可用性と信頼性を備えています。 補足すると、EBSについての具体的な数字としては「

    ちょっと待って!Auroraを使う時にMulti-AZが本当に必要ですか?
  • MariaDB Connector/JによるAmazon RDS for Auroraの高速フェイルオーバー | DevelopersIO

    ども、大瀧です。 Amazon Linux 2015.09RC版のリリース告知に"Amazon Aurora JDBC driver"という項目があり、調べてみるとAuroraの可用性をアップさせるナイスな機能だったのでご紹介してみたいと思います。 RDS Multi-AZの"普通の"フェイルオーバー Amazon RDSで提供される可用性機能としてMulti-AZがあります。一般に言うActive-Standbyクラスタで、エンドポイントとなるDNSレコードのIPアドレスをアクティブノードに向ける、DNSベースの仕組みとなります。 以下のように、Masterノード障害を検知すると、エンドポイントのレコードをSlaveノードのIPアドレスに切り替える要領です。 AuroraでもCluster Endpointというエンドポイントが提供され、フェイルオーバーを実装することができます。しかし、

    MariaDB Connector/JによるAmazon RDS for Auroraの高速フェイルオーバー | DevelopersIO
    gologo13
    gologo13 2016/10/31
    Cluster Endpoint でもフェールオーバー実装可能だが、DNSという仕組み上レコードのTTL(Time To Live)が切り替えまでの遅延時間が追加されるため、遅延を短くするのは限界がある
  • Tomcatの使用メモリ量をCloudWatchで表示する | DevelopersIO

    渡辺です。 現在のEC2のデフォルト機能では、EC2インスタンスのメモリ使用量をCloudWatchで確認することはできません。 ですが、AWS CLIと簡単なスクリプトを使えば、Custom MetricsとしてCloudWatchに表示することができます。 ただし、一般的なLinuxのメモリ使用量であればシェルスクリプトで簡単に取得できるのですが、TomcatなどのJavaのアプリケーションサーバではもう一手間必要です。 Javaでのメモリ管理の仕組み Java(JVM)はヒープ領域というメモリを仮想マシンの内部に確保し、ヒープ領域の中でインスタンスなどを割り当てる仕組みになっています。 したがって、OSから見たJavaのメモリ消費量を見ても、それはJVMが確保しているヒープ領域の使用メモリ量です。 内部的にどの程度メモリを消費しているかは解りません。 JVMのヒープ領域がどの程度メモ

    Tomcatの使用メモリ量をCloudWatchで表示する | DevelopersIO
  • ユニットテスト改善ガイド | DevelopersIO

    先日、日Javaユーザグループ(JJUG)主催のJJUG CCC 2013 Fallで、「ユニットテスト改善ガイド」というタイトルで登壇してきました。自分の経験を元に、ユニットテストをチームや組織へ導入する時に起こりえる問題とその解決のヒントに関するセッションです。エントリーではそのセッションの内容を再構成して公開します。 はじめに 近年のシステム開発では、ユニットテストや継続的インテグレーション(以下、CI)の導入は必要不可欠と考えられています。とはいえ、どんな組織(チーム)でも簡単に導入できているわけではありません。特に、大きな組織や古くからの慣習を残している組織では導入したくとも中々進まないと感じているところが多いのではないでしょうか?。 私は、これまでに多くの開発現場でユニットテストやCIの導入について推進してきました。成功したケースもあれば失敗したケースもあります。そして、失

    ユニットテスト改善ガイド | DevelopersIO
  • 【新機能】Amazon DynamoDB Triggersを使ってDynamoDB StreamsとAWS Lambdaを連携する | DevelopersIO

    【新機能】Amazon DynamoDB Triggersを使ってDynamoDB StreamsとAWS Lambdaを連携する こんにちは、せーのです。今日は個人的にも待ちに待ったアップデートが入ってきました。そう、DynamoDB Streams!!! この機能を使うとデータの入出力がそのままストリームとして後方に流れていき、トリガーとしてEC2やLambdaと連携することができるのです。 もうポーリングとかそういう煩わしい作業は入りません。値が登録されたことをDB自らが教えてくれるのです。すごい!かっこいい!! 、、、多少取り乱しました。では中身を見ていきましょう。 DynamoDB Streamsとは 今回のアップデートでDynamoDB Streamsを有効にするとDynamoDB内でのアイテムの変化(登録、更新、削除)が24時間ストリームとして時間順に流されます。このストリー

    【新機能】Amazon DynamoDB Triggersを使ってDynamoDB StreamsとAWS Lambdaを連携する | DevelopersIO
  • EC2でサーバーに負荷を発生させる stress ツールを使ってみる | DevelopersIO

    はじめに こんにちは植木和樹です。Amazon Linux AMI 2014.09がリリースされて随分と経ちましたが、リリースノートにちょっと目を引いた記載がありました。 Amazon Linux AMI 2014.09 Release Notes New packages In addition to the features above, here are some other new packages added based on customer requests: : stress-1.0.4 : stressというのはCPUやメモリーの負荷を発生させるツールです。サーバーの高負荷状態でのアプリケーション挙動を確認する際に使用します。便利なツールなので使い方をおさらいしてみました。 stressの使い方 プロジェクトページ stressツールのプロジェクトページはこちらです。 s

    EC2でサーバーに負荷を発生させる stress ツールを使ってみる | DevelopersIO
  • 【新機能】Amazon Aurora で読み込みエンドポイントが利用可能になりました | DevelopersIO

    ウィスキー、シガー、パイプをこよなく愛する大栗です。 日、Amazon Auroraで読み込みエンドポイント(Reader Endpoint)が発表されました。今までは、インスタンスエンドポイント(Instance Endpoint)とクラスターエンドポイント(Cluster Endpoint)が利用できましたが、新しいエンドポイントについて試してみました。 読み込みエンドポイントとは 現在Auroraには、以下の3種類のエンドポイントがあります。クラスターエンドポイントはWriterを指すエンドポイントで、インスタンスエンドポイントは各インスタンスを指しエンドポイントです。今回追加された読み込みエンドポイントはReaderを指すエンドポイントです。 クラスターエンドポイント(Cluster endpoint) インスタンスエンドポイント(Instance endpoint) 読み込みエ

    【新機能】Amazon Aurora で読み込みエンドポイントが利用可能になりました | DevelopersIO
  • AWSにおける静的コンテンツ配信パターンカタログ(アンチパターン含む) | DevelopersIO

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

    AWSにおける静的コンテンツ配信パターンカタログ(アンチパターン含む) | DevelopersIO
    gologo13
    gologo13 2016/08/31
    自然と横綱だった
  • Amazon Route 53でドメインを購入する | DevelopersIO

    ども、大瀧です。 昨日、Amazon Route 53の大規模アップデートがあり、以下2つの新機能と値下げが発表されました。 ドメイン登録(Gandi SASとの提携)・管理機能の追加 地理情報によるレスポンス機能の追加 問い合わせ課金の20%値下げ こちらの記事では、ドメイン登録機能について概要と手順をご紹介します。 概要 従来、Route 53を利用するためには事前にレジストラで用意する必要がありました。今回のアップデートでRoute 53の管理画面およびAPIでドメインが購入/移管できるようになりましたので、ドメインの手配からDNSレコードの設定までのDNSの一連の管理をRoute 53がワンストップで提供できるようになりました。 登録手順 では、登録手順を追って行きます。まずはAWS Management ConsoleでRoute 53の管理画面を表示します。今回のアップデート

    Amazon Route 53でドメインを購入する | DevelopersIO
  • ELBの挙動とCloudWatchメトリクスの読み方を徹底的に理解する | DevelopersIO

    よく訓練されたアップル信者、都元です。ELBはAWSにおけるWebシステムを構築する場合、ほぼ確実に利用するコンポーネントとして不動の地位を確立しつつあります。 利用方法としては、ELBを作成して配下にWebサーバを配置するだけというお手軽さがあり、非常に利用しやすいのも大きなメリットです。しかし、ELBの詳細な挙動について、しっかり理解できているでしょうか。エントリではいつも利用しているELBについて、ちょっと深く突っ込んでみました。 ELBのロードバランシング戦略 ELBの配下には複数のAZにまたがるようにインスタンスを配置するのが一般的です。(cf. AWSにおける可用性の考え方) ELBを作成すると、DNS名が付与されますが、クライアントがELBにアクセスする際、まずこのホスト名をIPアドレスに変換するDNSの正引きリクエスト(下図中の緑色の矢印)を行います。digコマンドを使っ

    ELBの挙動とCloudWatchメトリクスの読み方を徹底的に理解する | DevelopersIO