SlideShare a Scribd company logo
1 of 51
Download to read offline
Spring Bootアプリケーションを
Amazon Elastic Beanstalkに

一発でデプロイしてみよう
Spring in Summer ∼ 夏なのにSpring
2015-08-28
クラスメソッド株式会社
都元ダイスケ
#jsug_sis
自己紹介
✦ よく訓練されたアップル信者、都元です。
✦ Webアプリ屋出身のAWS屋
✦ AWS歴約4年(since 2011夏)
✦ Twitter @daisuke_m
✦ 人間CloudFormer
✦ Seasar2からSpringへ
今日は
アプリを
を使って に一発でデプロイ
でコンテナ化して
するお話
Do you know?
✦ DBの進化的設計を実現する開発プロセス
✦ 要するにRailsのmigrationのような
✦ 現在のJavaでいうFlywayのような
✦ EclipseプラグインによるER図エディタ
2006-20
Jiemam
Jiemamy
✦ DBの進化的設計
✦ アプリケーションのビルドに伴って
✦ アプリケーションが依存するDBの構築を自動化
✦ DBスキーマに対して変更管理を適用
スマートビルド / デプロイ
–Miyamoto, Daisuke (2006)
リポジトリからコードをチェックアウトし、
必要に応じて環境固有の設定をした後、
コマンド1つで起動・デプロイができるべき
2006年にここまで言ってたかどうか忘れましたが、
2008年には確実に言ってた。
この考えは現在も変わっていません。
ってなことを訴え始めた2006年
✦ あの頃の俺は青かった。
✦ 自動化と管理の対象はDBじゃない。
✦DBを含む、インフラ全部だ。
時は流れ2013年…
✦ 世はまさに大クラウド時代!
✦ AWSは全てがAPI!
✦ Infrastructure as Code!
✦ コマンド1つで、アプリケーションのビルド、

インフラの構築、デプロイまでが実現できる世界
Single Command Deploy
ThoughtWorks, Inc.
Technology Radar
March 2012
ここまでイントロ
回線があればDemo
✦ 前提条件
✦ インターネット接続回線があって
✦ AWSアカウントを持っていて
✦ EC2キーペアの発行・登録が終わっていて
✦ S3のバケットが1つ作ってあって
✦ アクセスキーを↓規定の場所に記述してある

~/.aws/credentials
✦ http://dev.classmethod.jp/cloud/aws/exclusive-
aws-credentials-location/
$ ### チェックアウト###
$ git clone git@github.com:classmethod-aws/berserker.git ~/tmp/
sis-demo
$ cd ~/tmp/sis-demo
$ git checkout refs/tags/sis-demo
$ #### ここは各環境で異なるところ ###
$ cp env/_sample.gradle env/personal.gradle
$ sed -i '' -e 's/templateBucket:.*$/templateBucket: "cf-
templates-1r72h3gknbax2-ap-northeast-1",/' env/personal.gradle
$ sed -i '' -e 's/KeyName:.*$/KeyName: "miyamoto-kp1",/' env/
personal.gradle
$ diff env/_sample.gradle env/personal.gradle
$ ### デプロイ・HTTPアクセス・撤収 ###
$ ./gradlew -is awsFullDeploy
$ curl -s ...
$ ./gradlew -is awsFullUndeploy
Spring Boot
最近のJavaフレームワーク
✦ Play Framework
✦ Dropwizard
✦ Ninja framework
✦ Spring Boot
✦ アプリケーションサーバ

(コンテナ)準備不要の、スタンドアローンアプリ。
✦ Javaプロセスを1つ立ち上げればHTTPサーバが動く。
Spring Bootの主な特徴
✦ 簡単起動
✦ $ java -jar your-app.jar
✦ クラスパス設定やコンテナ準備不要。
✦ 設定の自動化
✦ classpath内のクラスの有無によって自動設定
✦ 設定のカスタマイズはアノテーションで
✦ Spring Bootを使ってみよう
✦ http://dev.classmethod.jp/server-side/spring-boot/
20150828 JSUG Spring in Summer 2015 - Spring BootアプリケーションをAmazon Elastic Beanstalkに一発でデプロイしてみよう
Flyway ∼ DBの進化的設計
✦ Jiemamy is dead
✦ スキーマにバージョンを付与
✦ 前バージョンからの差分SQLを自作する
✦ どこまで適用したかは、実際のDB上に管理テーブルを作って記録
✦ 未適用の差分SQLを順次適用することによるマイグレーション
✦ ただし、自動化されたロールバックは不可能
✦ Flyway with Spring Boot でDBマイグレーションを自動化する
✦ http://dev.classmethod.jp/server-side/flyway-with-spring-boot/
20150828 JSUG Spring in Summer 2015 - Spring BootアプリケーションをAmazon Elastic Beanstalkに一発でデプロイしてみよう
Docker
1プロセスのための環境
✦ 一般的にサーバ上では様々なプロセスが起動
✦ Applicationの実行には直接関係無いものも多数
✦ Applicationプロセスとしてはザックリと、これだけあ
れば充分じゃない?
✦ プロセスが稼働する基盤
✦ プロセスが読み書きする状態(filesystem)
✦ 他のプロセスは見えなくて良い。
✦ 他のプロセス用のファイルも見えなくていい。
Docker for Spring Boot
✦ 最小限のファイルシステムにJavaをインストー
ルし、your-app.jar を取り込んだDockerイメー
ジを作成
✦ イメージからDockerコンテナ(プロセス環境)
を作成し、その中で java プロセスを起動
✦ Docker と Spring Boot は相性が良い。
Dockerfileの例
FROM java:openjdk-8-jdk

EXPOSE 8080

WORKDIR /opt/berserker/

ADD logback.xml /opt/berserker/logback.xml

ADD berserker-x.xx.jar /opt/berserker/



CMD /usr/bin/java 

-DJDBC_CONNECTION_STRING=$JDBC_CONNECTION_STRING 

...

-Dspring.profiles.active=$SPRING_PROFILES_ACTIVE 

-Dlogging.config=/opt/berserker/logback.xml 

-Dserver.port=8080 

-jar berserker-x.xx.jar
OpenJDK 8 インストール済みの
ファイルシステムイメージ
アプリケーション本体jarの組み込み
起動コマンド
20150828 JSUG Spring in Summer 2015 - Spring BootアプリケーションをAmazon Elastic Beanstalkに一発でデプロイしてみよう
Amazon

Elastic Beanstalk
AWSの基礎知識
✦ ネットワーク:Amazon VPC
✦ データベース・サーバ:Amazon RDS
✦ アプリケーション・サーバ:Amazon EC2
基本的な構成 (1)
Single-AZ構成
✦ 可用性が足りない
✦ サービスを止めずにメンテナンスできない
✦ スケーラビリティが足りない
✦ 付加が増えても垂直にしかスケールできない
サーバは落ちるものだし、水平スケール出来るのが望ましい
可用性が欲しい・スケーラビリティが欲しい
基本的な構成 (2)
Multi-AZ構成
✦ AZ( AWSのデータセンター)が1つ
丸ごとぶっ飛んでも、サービスが継続
できる
✦ 負荷が増えたら水平にスケールできる
✦ ただし、アプリケーション・サーバを
ステートレスに保たなければならない
✦ データをファイルシステムに書かない
✦ RDBやS3に書き出す
Elastic Beanstalk
✦ このようなWebシステムの基本構成を自動構築
✦ 開発者はApplication Bundle(Beanstalkの作
法に従ったファイルを含有したZIPファイル)を
作成し、AWSに食わせる
✦ これだけで、アプリの動作環境が構築完了する
Application Bundle
✦ App一式を含むZIPファイル
✦ Spring Bootアプリケーション(jar)
✦ logback.xml(ログ設定)
✦ Dockerfile(前述)
✦ これをZIPで固めてAmazon S3にアップロード
CloudFormation
✦ Beanstalkの守備範囲
✦ アプリケーションサーバシステム
✦ ELB, EC2 (AutoScaling) ...
✦ CloudFormationの守備範囲
✦ システム全体を構成する周辺AWSリソース
✦ Beanstalk, VPC, S3, RDS ...
20150828 JSUG Spring in Summer 2015 - Spring BootアプリケーションをAmazon Elastic Beanstalkに一発でデプロイしてみよう
アプリケーションのデプロイと
システムのデプロイ
–Miyamoto, Daisuke
リポジトリからコードをチェックアウトし、
必要に応じて環境固有の設定をした後、
コマンド1つでシステムの起動・デプロイができるべき
CloudFormation
Template
+
Parameter
Parameter
Stack
Bucket with
Objects
DynamoDB
Table
ELB
Instances Auto Scaling Amazon
CloudFront
基本的システム構成
S3, DynamoDB, EC2,
IAM,AutoScaling,
SecurityGroup,
ELB, CloudFront
Instance Type, クラスタの台数,
SSH接続元IP, キー名, ...等
Template
JSON、ということはインフラを
バージョン管理できる\(^o^)/
インフラの進化的設計
• インフラの構成をTemplateとしてバージョン管理する
• TemplateからStackを作る(構築)
• インフラ構成を追加・編集(そしてバージョン管理)
• 既存Stackを新しいテンプレートで更新する(成長)
Gradle
Gradle
✦ みなさまご存知のジョブ実行基盤
✦ Javaの依存ライブラリ管理∼ビルド、パッケー
ジング
✦ Spring Bootアプリケーションの起動
✦ プラグイン:spring-boot-gradle-plugin
20150828 JSUG Spring in Summer 2015 - Spring BootアプリケーションをAmazon Elastic Beanstalkに一発でデプロイしてみよう
ではこれを…
✦ App Bundleの作成に使えないだろうか?
✦ App BundleのS3 uploadに使えないだろうか?
✦ Beanstalkの環境起動に使えないだろうか?
✦ 全部Yes!!
App Bundle作成
task createBundle(type: Zip,

dependsOn: bootRepackage) {



archiveName = ... // zipファイル名

from "src/main/bundle" // Dockerfile等

from jar.archivePath // jar

}
gradle-aws-plugin
✦ GradleからAWSリソースを操作したい
✦ 参考: https://github.com/classmethod-aws/
gradle-aws-plugin
CloudFormation操作
cloudFormation {

stackName = 'berserker'

conventionMapping.stackParams = {

// (snip)

return stackParams

}

capabilityIam true

templateFile = file('berserker.template')

templateBucket = ...

templateKeyPrefix = ...

}



awsCfnMigrateStack.mustRunAfter uploadBundle

awsCfnMigrateStack.dependsOn awsCfnUploadTemplate
S3へのリソースアップロード
task createBundle(type: Zip, dependsOn: ...) {

// (snip)

}
task uploadBundle(dependsOn: createBundle,

type: AmazonElasticBeanstalkUploadBundleTask) {

file project.createBundle.archivePath

overwrite project.version.endsWith('-SNAPSHOT')

}
Gradle Task Graph
一発タスク
task awsFullDeploy(dependsOn: [

uploadBundle,

awsCfnUploadTemplate,

awsCfnMigrateStackAndWaitComplete

])



task awsFullUndeploy(dependsOn: [

awsCfnDeleteStackAndWaitCompleted

])
Gradle Task
✦ ./gradlew bootRun
✦ ./gradlew awsFullDeploy
✦ ./gradlew awsFullUndeploy
システム
ポータビリティ
Full Described System
✦ システム構築及び運用のコード化・自動化

―― Automated
✦ 自動化しない・できない部分はポエムを書く

―― Documented
✦ システムの構成全てが「記述」されている。
✦ 1つのAWSアカウント内に複数の環境を構築できる。
✦ 例えば本番環境と開発環境等。
✦ 社内で共通のAWSアカウントに展開する。
✦ あらゆるAWSアカウントに環境を構築できる。
✦ 例えば個人検証環境。サンドボックス。
✦ 開発者毎の個人検証用AWSアカウントに展開する。
✦ あらゆるリージョンに環境を構築できる。
✦ と、いいかもね。DRの視点で。
環境依存設定
✦ プロジェクト直下のenvディレクトリに

設定ファイルを置き、それを動的に読み込む
-Penv=prd
✦ env/
✦ .gititnore
✦ _sample.gradle
✦ prd.gradle
✦ dev.gradle
✦ personal.gradle
✦ profile名(AWSのキー)
✦ リージョン名
✦ EC2キーファイルのパス
✦ 各種CFnパラメータ
✦ ローカルDB名、user、pass
✦ ログ設定ファイルのパス
portability
✦ ./gradlew awsFullDeploy -Penv=prd
✦ ./gradlew awsFullDeploy -Penv=dev
✦ ./gradlew awsFullDeploy -Penv=personal
✦ 詳しくは Developers.IO

「プロジェクトに対する環境固有設定の導入」

http://bit.ly/gradle-env-dep-config を参照。
Spring BootアプリケーションをAmazon
Elastic Beanstalkに一発でデプロイしてみよう
まとめ

More Related Content

Viewers also liked

LOD連続講義 第5回「LODの作り方・使い方」
LOD連続講義 第5回「LODの作り方・使い方」LOD連続講義 第5回「LODの作り方・使い方」
LOD連続講義 第5回「LODの作り方・使い方」Fuyuko Matsumura
 
Google App Engine Java 入門
Google App Engine Java 入門Google App Engine Java 入門
Google App Engine Java 入門tantack
 
Web制作会社様向け 知って得するMicrosoft Azureの概要と使い方!
Web制作会社様向け 知って得するMicrosoft Azureの概要と使い方!Web制作会社様向け 知って得するMicrosoft Azureの概要と使い方!
Web制作会社様向け 知って得するMicrosoft Azureの概要と使い方!Azure 相談センター
 
サーバーレスアーキテクチャのすすめ(公開版)
サーバーレスアーキテクチャのすすめ(公開版)サーバーレスアーキテクチャのすすめ(公開版)
サーバーレスアーキテクチャのすすめ(公開版)Keisuke Kadoyama
 
S94 Microsoft Azure セキュリティについて
S94 Microsoft Azure セキュリティについてS94 Microsoft Azure セキュリティについて
S94 Microsoft Azure セキュリティについてMicrosoft Azure Japan
 
機能とコストで考えるAws
機能とコストで考えるAws機能とコストで考えるAws
機能とコストで考えるAwsJunichiro Ueno
 
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。Takakiyo Tanaka
 
ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略GuildWorks
 
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本kazuki kumagai
 
S03 企業内システムと Microsoft Azure の VPN 接続
S03 企業内システムと Microsoft Azure の VPN 接続S03 企業内システムと Microsoft Azure の VPN 接続
S03 企業内システムと Microsoft Azure の VPN 接続Microsoft Azure Japan
 
Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Koichi Sakata
 
Google Compute Engine 入門
Google Compute Engine 入門Google Compute Engine 入門
Google Compute Engine 入門Yuko Oshima
 
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3日本Javaユーザーグループ
 
Java開発の強力な相棒として今すぐ使えるGroovy
Java開発の強力な相棒として今すぐ使えるGroovyJava開発の強力な相棒として今すぐ使えるGroovy
Java開発の強力な相棒として今すぐ使えるGroovyYasuharu Nakano
 
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!Java女子部
 
Spring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のことSpring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のこと心 谷本
 
Database migrations with Flyway and Liquibase
Database migrations with Flyway and LiquibaseDatabase migrations with Flyway and Liquibase
Database migrations with Flyway and LiquibaseLars Östling
 
Google App Engine/Goを触ってみた
Google App Engine/Goを触ってみたGoogle App Engine/Goを触ってみた
Google App Engine/Goを触ってみたMasahiro Matsumoto
 
Microsoft Azure 概要 (2015 年 4 月版)
Microsoft Azure 概要 (2015 年 4 月版)Microsoft Azure 概要 (2015 年 4 月版)
Microsoft Azure 概要 (2015 年 4 月版)Osamu Monoe
 

Viewers also liked (19)

LOD連続講義 第5回「LODの作り方・使い方」
LOD連続講義 第5回「LODの作り方・使い方」LOD連続講義 第5回「LODの作り方・使い方」
LOD連続講義 第5回「LODの作り方・使い方」
 
Google App Engine Java 入門
Google App Engine Java 入門Google App Engine Java 入門
Google App Engine Java 入門
 
Web制作会社様向け 知って得するMicrosoft Azureの概要と使い方!
Web制作会社様向け 知って得するMicrosoft Azureの概要と使い方!Web制作会社様向け 知って得するMicrosoft Azureの概要と使い方!
Web制作会社様向け 知って得するMicrosoft Azureの概要と使い方!
 
サーバーレスアーキテクチャのすすめ(公開版)
サーバーレスアーキテクチャのすすめ(公開版)サーバーレスアーキテクチャのすすめ(公開版)
サーバーレスアーキテクチャのすすめ(公開版)
 
S94 Microsoft Azure セキュリティについて
S94 Microsoft Azure セキュリティについてS94 Microsoft Azure セキュリティについて
S94 Microsoft Azure セキュリティについて
 
機能とコストで考えるAws
機能とコストで考えるAws機能とコストで考えるAws
機能とコストで考えるAws
 
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
 
ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略
 
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
 
S03 企業内システムと Microsoft Azure の VPN 接続
S03 企業内システムと Microsoft Azure の VPN 接続S03 企業内システムと Microsoft Azure の VPN 接続
S03 企業内システムと Microsoft Azure の VPN 接続
 
Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今
 
Google Compute Engine 入門
Google Compute Engine 入門Google Compute Engine 入門
Google Compute Engine 入門
 
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3
 
Java開発の強力な相棒として今すぐ使えるGroovy
Java開発の強力な相棒として今すぐ使えるGroovyJava開発の強力な相棒として今すぐ使えるGroovy
Java開発の強力な相棒として今すぐ使えるGroovy
 
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
 
Spring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のことSpring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のこと
 
Database migrations with Flyway and Liquibase
Database migrations with Flyway and LiquibaseDatabase migrations with Flyway and Liquibase
Database migrations with Flyway and Liquibase
 
Google App Engine/Goを触ってみた
Google App Engine/Goを触ってみたGoogle App Engine/Goを触ってみた
Google App Engine/Goを触ってみた
 
Microsoft Azure 概要 (2015 年 4 月版)
Microsoft Azure 概要 (2015 年 4 月版)Microsoft Azure 概要 (2015 年 4 月版)
Microsoft Azure 概要 (2015 年 4 月版)
 

More from 都元ダイスケ Miyamoto

認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio
認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio
認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio都元ダイスケ Miyamoto
 
アプリケーション動作ログ、
ERRORで出すか? WARNで出すか? #cmdevio2019
アプリケーション動作ログ、
ERRORで出すか? WARNで出すか? #cmdevio2019アプリケーション動作ログ、
ERRORで出すか? WARNで出すか? #cmdevio2019
アプリケーション動作ログ、
ERRORで出すか? WARNで出すか? #cmdevio2019都元ダイスケ Miyamoto
 
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDayマイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay都元ダイスケ Miyamoto
 
クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)
クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)
クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)都元ダイスケ Miyamoto
 
20170312 F.K様向け ライフパートナーM.M様のご提案
20170312 F.K様向け ライフパートナーM.M様のご提案20170312 F.K様向け ライフパートナーM.M様のご提案
20170312 F.K様向け ライフパートナーM.M様のご提案都元ダイスケ Miyamoto
 
Spring Day 2016 - Web API アクセス制御の最適解
Spring Day 2016 - Web API アクセス制御の最適解Spring Day 2016 - Web API アクセス制御の最適解
Spring Day 2016 - Web API アクセス制御の最適解都元ダイスケ Miyamoto
 
マイクロWebアプリケーション - Developers.IO 2016
マイクロWebアプリケーション - Developers.IO 2016マイクロWebアプリケーション - Developers.IO 2016
マイクロWebアプリケーション - Developers.IO 2016都元ダイスケ Miyamoto
 
Single Command Deployのための gradle-aws-plugin講座
Single Command Deployのための gradle-aws-plugin講座Single Command Deployのための gradle-aws-plugin講座
Single Command Deployのための gradle-aws-plugin講座都元ダイスケ Miyamoto
 
20150908 ”時間の流れ” という無限リストを扱うAWS Lambda
20150908 ”時間の流れ” という無限リストを扱うAWS Lambda20150908 ”時間の流れ” という無限リストを扱うAWS Lambda
20150908 ”時間の流れ” という無限リストを扱うAWS Lambda都元ダイスケ Miyamoto
 
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05都元ダイスケ Miyamoto
 
20140315 JAWS DAYS 2014 ACEに聞け! CloudFormation編
20140315 JAWS DAYS 2014 ACEに聞け! CloudFormation編20140315 JAWS DAYS 2014 ACEに聞け! CloudFormation編
20140315 JAWS DAYS 2014 ACEに聞け! CloudFormation編都元ダイスケ Miyamoto
 
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...都元ダイスケ Miyamoto
 
20121206 VOYAGE LT - 名前重要って言うけどさ
20121206 VOYAGE LT - 名前重要って言うけどさ20121206 VOYAGE LT - 名前重要って言うけどさ
20121206 VOYAGE LT - 名前重要って言うけどさ都元ダイスケ Miyamoto
 
20120830 DBリファクタリング読書会第三回
20120830 DBリファクタリング読書会第三回20120830 DBリファクタリング読書会第三回
20120830 DBリファクタリング読書会第三回都元ダイスケ Miyamoto
 
java-ja 第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - Strategy
java-ja 第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - Strategyjava-ja 第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - Strategy
java-ja 第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - Strategy都元ダイスケ Miyamoto
 
DevLOVE Beautiful Development - 第一幕 陽の巻
DevLOVE Beautiful Development - 第一幕 陽の巻DevLOVE Beautiful Development - 第一幕 陽の巻
DevLOVE Beautiful Development - 第一幕 陽の巻都元ダイスケ Miyamoto
 

More from 都元ダイスケ Miyamoto (20)

認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio
認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio
認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio
 
アプリケーション動作ログ、
ERRORで出すか? WARNで出すか? #cmdevio2019
アプリケーション動作ログ、
ERRORで出すか? WARNで出すか? #cmdevio2019アプリケーション動作ログ、
ERRORで出すか? WARNで出すか? #cmdevio2019
アプリケーション動作ログ、
ERRORで出すか? WARNで出すか? #cmdevio2019
 
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDayマイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
 
クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)
クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)
クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)
 
AWSクラウドデータストレージ総論
AWSクラウドデータストレージ総論AWSクラウドデータストレージ総論
AWSクラウドデータストレージ総論
 
20170312 F.K様向け ライフパートナーM.M様のご提案
20170312 F.K様向け ライフパートナーM.M様のご提案20170312 F.K様向け ライフパートナーM.M様のご提案
20170312 F.K様向け ライフパートナーM.M様のご提案
 
Spring Day 2016 - Web API アクセス制御の最適解
Spring Day 2016 - Web API アクセス制御の最適解Spring Day 2016 - Web API アクセス制御の最適解
Spring Day 2016 - Web API アクセス制御の最適解
 
マイクロWebアプリケーション - Developers.IO 2016
マイクロWebアプリケーション - Developers.IO 2016マイクロWebアプリケーション - Developers.IO 2016
マイクロWebアプリケーション - Developers.IO 2016
 
Single Command Deployのための gradle-aws-plugin講座
Single Command Deployのための gradle-aws-plugin講座Single Command Deployのための gradle-aws-plugin講座
Single Command Deployのための gradle-aws-plugin講座
 
20150908 ”時間の流れ” という無限リストを扱うAWS Lambda
20150908 ”時間の流れ” という無限リストを扱うAWS Lambda20150908 ”時間の流れ” という無限リストを扱うAWS Lambda
20150908 ”時間の流れ” という無限リストを扱うAWS Lambda
 
体で覚えるSQS! DEVIO-MTUP11-TOKYO-007
体で覚えるSQS! DEVIO-MTUP11-TOKYO-007体で覚えるSQS! DEVIO-MTUP11-TOKYO-007
体で覚えるSQS! DEVIO-MTUP11-TOKYO-007
 
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
 
20140315 JAWS DAYS 2014 ACEに聞け! CloudFormation編
20140315 JAWS DAYS 2014 ACEに聞け! CloudFormation編20140315 JAWS DAYS 2014 ACEに聞け! CloudFormation編
20140315 JAWS DAYS 2014 ACEに聞け! CloudFormation編
 
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...
 
20130516 cm課外授業8-aws
20130516 cm課外授業8-aws20130516 cm課外授業8-aws
20130516 cm課外授業8-aws
 
20121215 DevLOVE2012 Mahout on AWS
20121215 DevLOVE2012 Mahout on AWS20121215 DevLOVE2012 Mahout on AWS
20121215 DevLOVE2012 Mahout on AWS
 
20121206 VOYAGE LT - 名前重要って言うけどさ
20121206 VOYAGE LT - 名前重要って言うけどさ20121206 VOYAGE LT - 名前重要って言うけどさ
20121206 VOYAGE LT - 名前重要って言うけどさ
 
20120830 DBリファクタリング読書会第三回
20120830 DBリファクタリング読書会第三回20120830 DBリファクタリング読書会第三回
20120830 DBリファクタリング読書会第三回
 
java-ja 第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - Strategy
java-ja 第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - Strategyjava-ja 第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - Strategy
java-ja 第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - Strategy
 
DevLOVE Beautiful Development - 第一幕 陽の巻
DevLOVE Beautiful Development - 第一幕 陽の巻DevLOVE Beautiful Development - 第一幕 陽の巻
DevLOVE Beautiful Development - 第一幕 陽の巻
 

Recently uploaded

チームで開発するための環境を整える
チームで開発するための環境を整えるチームで開発するための環境を整える
チームで開発するための環境を整えるonozaty
 
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜Naomi Yamasaki
 
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG-Audio
 
The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))yoshidakids7
 
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024Hideki Saito
 
00001_test_automation_portfolio_20240313
00001_test_automation_portfolio_2024031300001_test_automation_portfolio_20240313
00001_test_automation_portfolio_20240313ssuserf8ea02
 
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」IGDA Japan SIG-Audio
 
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版Takayuki Nakayama
 
バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析sugiuralab
 
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。iPride Co., Ltd.
 
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りAWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りiPride Co., Ltd.
 
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~honeshabri
 

Recently uploaded (12)

チームで開発するための環境を整える
チームで開発するための環境を整えるチームで開発するための環境を整える
チームで開発するための環境を整える
 
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
 
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
 
The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))
 
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024
 
00001_test_automation_portfolio_20240313
00001_test_automation_portfolio_2024031300001_test_automation_portfolio_20240313
00001_test_automation_portfolio_20240313
 
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
 
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
 
バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析
 
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
 
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りAWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作り
 
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
 

20150828 JSUG Spring in Summer 2015 - Spring BootアプリケーションをAmazon Elastic Beanstalkに一発でデプロイしてみよう