SlideShare a Scribd company logo
1 of 16
Download to read offline
For this lab were going to look at a combination of systems to capture different kinds of data streams. We'll
start with the usual AWS IoT system using rules to capture our data but during certain events, as determined
by our rules we'll activate a Direct-To-Kinesis stream to capture realtime information.
Why would you ever do this? AWS IoT has limits in place for the size of each message but also the number of
transactions per second. When streaming realtime telemetry information, if you find you need more than
50TPS you would want to consider going to directly to Kinesis.
Let's setup a Kinesis Shard. Let's setup a single shard to capture our stream when it is activated.
Open the Kinesis dashboard and pick Kinesis Streams.
Click Create Stream.
Let's call this "iotshard", you'll enter just 1 shard.
Lab 9 - Switch to Kinesis during critical events
Step 1
We're going to setup some Lambda functions to handle logging for us so we can keep track of our "thing".
Open the Lambda dashboard.
Click Create a lambda function.
You can use the hello-world blue print.
Let's call this function, "iotLambda2", accept the basics.
You can also enter the code below to turn on some basic logging.
Step 2
Note: We are not creating these function in a VPC for this lab.
Next we need to create another Lambda function to capture our Kinesis stream data.
While in the Lambda dashboard, create a new function.
Use the Kinesis-Process-Record blue print.
Select the Kinesis Stream you created in step 1.
Leave the other options as their defaults.
We are going to call this iotLambda3.
Make sure your role is a Kinesis Role.
On the review screen, make sure you pick "Enable Now" so the event source is active.
Here is the code if you want to copy & paste:
console.log('Loading function');
exports.handler = function(event, context) {
console.log('IoT Kinesis Event:', JSON.stringify(event, null, 2));
event.Records.forEach(function(record) {
// Kinesis data is base64 encoded so decode here
var payload = new Buffer(record.kinesis.data, 'base64').toString('ascii');
console.log('Decoded payload:', payload);
});
context.succeed("Successfully processed " + event.Records.length + " records.");
};
Lastly we need a Lambda function that can publish a change to our shadow state to turn on Kinesis for our
"thing".
Create another new Lambda function, use the hello-world blue print.
We will call this iotShadowUpdate.
The code for this is shown below.
JavaScript
You will need to pick an execution role that has access to the IoT service.
Shadow Update Lambda code is as follows:
var aws = require('aws-sdk');
var iotdata = new aws.IotData({endpoint: 'A3V8IRCN9H4H5T.iot.us-west-2.amazonaws.com'});
exports.handler = function(event, context) {
console.log("Event to trigger Kinesis: " + JSON.stringify(event));
var shadow = {
"state" : {
"desired" : {
"streamState": "on"
}
}
};
var params = {
topic: '$aws/things/thingtest/shadow/update',
payload: JSON.stringify(shadow),
qos: 0
};
iotdata.publish(params, function(err, data){
if(err){
console.log(err);
context.fail(err);
}
else{
console.log("Shadow Updated");
context.succeed(true);
}
});
};
We're now going to setup a couple rules. The first rule will be to track critical data points to our Lambda
function. The second rule will activate if values are outside the norm and will trigger a shadow state update to
our "thing" which tells it to turn on the Kinesis stream. This is done by calling our iotShadowUpdate lambda
function.
For this lab we're be using 2 new topics.
Step 3
JavaScript
Open the AWS IoT Dashboard.
Click create resource and pick a new rule.
Let's call this iotCritical.
We'll select * from our iotCritical topic.
Pick the default action as Lambda.
Pick iotLambda2 that we created earlier.
Let's now create the Kinesis rule.
Click create resource and pick a new rule again.
Let's call this iotKinesis.
We'll select * again from our iotCritical topic.
We want to add a condition this time, temperature > 100.
Pick the default action as Lambda.
Pick the iotShadowUpdate we created earlier.
Step 4
Our script will now connect and send regular AWS IoT messages but one of these will be a high temperature
value that will trigger our state change, once we detect the change we'll stream to Kinesis.
Let's create a new script for this lab. We'll call this "iotCritical.js". This script is going to be using the full AWS
SDK. If you don't have that installed you can run
npm install aws-sdk
We are also using a sleep library to run this script a little slower:
npm install sleep
First, create your bootstrap connection code as follows:
note: You'll need to add your Kinesis stream endpoint.
Step 5
Bash
Bash
var awsIot = require('aws-iot-device-sdk');
var aws = require('aws-sdk');
var sleep = require('sleep');
var device = awsIot.device({
"host": "data.iot.us-west-2.amazonaws.com",
"port": 8883,
"clientId": "1234",
"thingName": "thingtest",
"caPath": "./root-CA.cer",
"certPath": "./certificate.pem.crt",
"keyPath": "./private.pem.key",
"region": "us-west-2"
});
var kinesis = new aws.Kinesis({ acessKeyId: "{ACCESS KEY}", secretAccessKey: "{SECRET KEY}",
var streamState = "off";
var x = 0; // general purpose timers
var t = 1; // master kinesis timer
Next on startup we want to set our current shadow state so that our stream is considered off. Let's define our
shadow state.
var msg = {
"state": {
"reported": {
"streamState": "off"
},
"desired": {
"streamState": "off"
}
}
}
We also want to have some objects ready to modify as we run our test loops:
JavaScript
JavaScript
var normalMsg = {
"temperature": 0,
"seq": 0
};
var kinesisMsg = {
"x": 0,
"y": 0,
"z": 0,
"id": 0
}
Next we're going to add the function to handle our shadow changes, when we see a delta and it contains the
"on" state we will trigger our Kinesis stream.
device.on('message', function(topic, message) {
console.log('message', topic, message.toString());
if (topic == "$aws/things/thingtest/shadow/update/delta") {
var shadow = JSON.parse(message);
streamState = shadow.state.streamState;
// report back our state change
msg.state.reported.streamState = streamState;
device.publish('$aws/things/thingtest/shadow/update', JSON.stringify(msg));
if (streamState == 'on') {
//startStream();
setTimeout(function() {
stream();
}, 2500);
}
}
// Start our main loop
if (topic == '$aws/things/thingtest/shadow/update/accepted') {
// Let's loop slowly with regular messages
normalMsg.temperature = 75;
normalMsg.seq = x;
device.publish('iotCritical', JSON.stringify(normalMsg));
console.log("Our current stream state is " + streamState);
console.log("Sent regular message " + x + " at temp: " + normalMsg.temperature )
sleep.sleep(1); // seconds
}
if (topic == 'iotCritical') {
JavaScript
JavaScript
if (x<100) {
x++;
normalMsg.temperature = 75;
normalMsg.seq = x;
// on our 10th message we'll pass the threshold just once and see if our
if (x==10) normalMsg.temperature = 110;
setTimeout(function() {
device.publish('iotCritical', JSON.stringify(normalMsg));
}, 500);
console.log("Our current stream state is " + streamState);
console.log("Sent regular message " + x + " at temp: " + normalMsg.tempe
//sleep.sleep(1); // seconds
}
else {
console.log('Done!');
}
}
});
The above is pretty simple. We're first checking our streaming state and after that we're using the callback
functionailty to trigger a slower loop to keep sending messages to AWS IoT.
Once the critical temp is sent (see the line setting our high temp on the 10th message) we see the shadow
change to turn on our Kinesis stream.
Let's now add the stream() function which just blasts data to Kinesis:
var stream = function() {
console.log('Starting Kinesis Stream ...');
for(t=1;t<50;t++) {
// Let's publish our telemtry data
kinesisMsg.id = t;
kinesisMsg.x = t;
kinesisMsg.y = Math.random() * (5000 - 1) + 1;
kinesisMsg.z = kinesisMsg.y/t;
kinesis.putRecord({
StreamName : "iotshard",
Data : JSON.stringify(kinesisMsg),
PartitionKey : "id"
}, function(err, data) {
if (err) {
console.log(err, err.stack); // an error occurred
} else {
console.log("Sent stream message to Kinesis: " + JSON.string
}
});
}
}
Finally we setup our gateway device object as usual and subscribe to the relevant topics:
device.on('connect', function() {
console.log('Connected!');
setTimeout(function() {
device.subscribe('$aws/things/thingtest/shadow/update/delta');
device.subscribe('$aws/things/thingtest/shadow/update/accepted');
device.subscribe('iotCritical');
device.publish('$aws/things/thingtest/shadow/update', JSON.stringify(msg));
console.log("Set our thing shadow.");
console.log('Waiting ...');
}, 2500);
});
FULL SOURCE
// Lab 9
// Watch our shadow state for kinesis triggers.
JavaScript
JavaScript
JavaScript
var awsIot = require('aws-iot-device-sdk');
var aws = require('aws-sdk');
var sleep = require('sleep');
var device = awsIot.device({
"host": "data.iot.us-west-2.amazonaws.com",
"port": 8883,
"clientId": "1234",
"thingName": "thingtest",
"caPath": "./root-CA.cer",
"certPath": "./certificate.pem.crt",
"keyPath": "./private.pem.key",
"region": "us-west-2"
});
var kinesis = new aws.Kinesis({ acessKeyId: "{Your Access Key}", secretAccessKey: "{Your Sec
var streamState = "off";
var x = 0;
var t = 1;
var msg = {
"state": {
"reported": {
"streamState": "off"
},
"desired": {
"streamState": "off"
}
}
}
var normalMsg = {
"temperature": 0,
"seq": 0
};
var kinesisMsg = {
"x": 0,
"y": 0,
"z": 0,
"id": 0
}
device.on('message', function(topic, message) {
console.log('message', topic, message.toString());
if (topic == "$aws/things/thingtest/shadow/update/delta") {
var shadow = JSON.parse(message);
streamState = shadow.state.streamState;
// report back our state change
msg.state.reported.streamState = streamState;
device.publish('$aws/things/thingtest/shadow/update', JSON.stringify(msg));
if (streamState == 'on') {
//startStream();
setTimeout(function() {
stream();
}, 2500);
}
}
// Start our main loop
if (topic == '$aws/things/thingtest/shadow/update/accepted') {
// Let's loop slowly with regular messages
normalMsg.temperature = 75;
normalMsg.seq = x;
device.publish('iotCritical', JSON.stringify(normalMsg));
console.log("Our current stream state is " + streamState);
console.log("Sent regular message " + x + " at temp: " + normalMsg.temperature )
sleep.sleep(1); // seconds
}
if (topic == 'iotCritical') {
if (x<100) {
x++;
normalMsg.temperature = 75;
normalMsg.seq = x;
// on our 25th message we'll pass the threshold just once and see if our
if (x==10) normalMsg.temperature = 110;
setTimeout(function() {
device.publish('iotCritical', JSON.stringify(normalMsg));
}, 500);
console.log("Our current stream state is " + streamState);
console.log("Sent regular message " + x + " at temp: " + normalMsg.tempe
//sleep.sleep(1); // seconds
}
else {
//process.exit();
console.log('Done!');
}
}
});
var stream = function() {
console.log('Starting Kinesis Stream ...');
for(t=1;t<50;t++) {
// Let's publish our telemtry data
kinesisMsg.id = t;
kinesisMsg.x = t;
kinesisMsg.y = Math.random() * (5000 - 1) + 1;
kinesisMsg.z = kinesisMsg.y/t;
kinesis.putRecord({
StreamName : "iotshard",
Data : JSON.stringify(kinesisMsg),
PartitionKey : "id"
}, function(err, data) {
if (err) {
console.log(err, err.stack); // an error occurred
} else {
console.log("Sent stream message to Kinesis: " + JSON.string
}
});
}
}
device.on('connect', function() {
console.log('Connected!');
setTimeout(function() {
device.subscribe('$aws/things/thingtest/shadow/update/delta');
device.subscribe('$aws/things/thingtest/shadow/update/accepted');
device.subscribe('iotCritical');
device.publish('$aws/things/thingtest/shadow/update', JSON.stringify(msg));
console.log("Set our thing shadow.");
console.log('Waiting ...');
}, 2500);
});
You can run this now and you see the switch between AWS IoT and Kinesis.
node iotCritical.js
Bash
AWS IoT 핸즈온 워크샵 - 실습 6. 긴급 데이터를 Kinesis Streams으로 보내기 (김무현 솔루션즈 아키텍트)

More Related Content

What's hot

reModernize-Updating and Consolidating MySQL
reModernize-Updating and Consolidating MySQLreModernize-Updating and Consolidating MySQL
reModernize-Updating and Consolidating MySQLAmazon Web Services
 
Best Practices of IoT in the Cloud
Best Practices of IoT in the CloudBest Practices of IoT in the Cloud
Best Practices of IoT in the CloudAmazon Web Services
 
AWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar SeriesAWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar SeriesAmazon Web Services
 
AWS에서 자바스크립트 활용 - 서비스와 개발 도구 - AWS Summit Seoul 2017
AWS에서 자바스크립트 활용 - 서비스와 개발 도구 - AWS Summit Seoul 2017AWS에서 자바스크립트 활용 - 서비스와 개발 도구 - AWS Summit Seoul 2017
AWS에서 자바스크립트 활용 - 서비스와 개발 도구 - AWS Summit Seoul 2017Amazon Web Services Korea
 
Hands-on Lab: Comparing Redis with Relational
Hands-on Lab: Comparing Redis with RelationalHands-on Lab: Comparing Redis with Relational
Hands-on Lab: Comparing Redis with RelationalAmazon Web Services
 
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017Amazon Web Services Korea
 
(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014
(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014
(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014Amazon Web Services
 
Getting Started with ElastiCache for Redis
Getting Started with ElastiCache for RedisGetting Started with ElastiCache for Redis
Getting Started with ElastiCache for RedisAmazon Web Services
 
5 things you don't know about Amazon Web Services
5 things you don't know about Amazon Web Services5 things you don't know about Amazon Web Services
5 things you don't know about Amazon Web ServicesSimone Brunozzi
 
Amazon Aws Presentation Drupal
Amazon Aws Presentation DrupalAmazon Aws Presentation Drupal
Amazon Aws Presentation Drupalguest856f3a
 
Hands-on Lab - Combaring Redis with Relational
Hands-on Lab - Combaring Redis with RelationalHands-on Lab - Combaring Redis with Relational
Hands-on Lab - Combaring Redis with RelationalAmazon Web Services
 
Containerless in the Cloud with AWS Lambda
Containerless in the Cloud with AWS LambdaContainerless in the Cloud with AWS Lambda
Containerless in the Cloud with AWS LambdaRyan Cuprak
 
(SEC315) NEW LAUNCH: Get Deep Visibility into Resource Configurations | AWS r...
(SEC315) NEW LAUNCH: Get Deep Visibility into Resource Configurations | AWS r...(SEC315) NEW LAUNCH: Get Deep Visibility into Resource Configurations | AWS r...
(SEC315) NEW LAUNCH: Get Deep Visibility into Resource Configurations | AWS r...Amazon Web Services
 
IoT Apps with AWS IoT and Websockets
IoT Apps with AWS IoT and Websockets IoT Apps with AWS IoT and Websockets
IoT Apps with AWS IoT and Websockets Amazon Web Services
 
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container DayECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container DayAmazon Web Services Korea
 
AWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as CodeAWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as CodeAmazon Web Services
 
Notes for AWS IoT
Notes for AWS IoTNotes for AWS IoT
Notes for AWS IoT承翰 蔡
 
Hands-on Lab: re-Modernize - Updating and Consolidating MySQL
Hands-on Lab: re-Modernize - Updating and Consolidating MySQLHands-on Lab: re-Modernize - Updating and Consolidating MySQL
Hands-on Lab: re-Modernize - Updating and Consolidating MySQLAmazon Web Services
 

What's hot (20)

reModernize-Updating and Consolidating MySQL
reModernize-Updating and Consolidating MySQLreModernize-Updating and Consolidating MySQL
reModernize-Updating and Consolidating MySQL
 
Best Practices of IoT in the Cloud
Best Practices of IoT in the CloudBest Practices of IoT in the Cloud
Best Practices of IoT in the Cloud
 
AWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar SeriesAWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar Series
 
AWS에서 자바스크립트 활용 - 서비스와 개발 도구 - AWS Summit Seoul 2017
AWS에서 자바스크립트 활용 - 서비스와 개발 도구 - AWS Summit Seoul 2017AWS에서 자바스크립트 활용 - 서비스와 개발 도구 - AWS Summit Seoul 2017
AWS에서 자바스크립트 활용 - 서비스와 개발 도구 - AWS Summit Seoul 2017
 
Hands-on Lab: Comparing Redis with Relational
Hands-on Lab: Comparing Redis with RelationalHands-on Lab: Comparing Redis with Relational
Hands-on Lab: Comparing Redis with Relational
 
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017
 
(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014
(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014
(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014
 
Getting Started with ElastiCache for Redis
Getting Started with ElastiCache for RedisGetting Started with ElastiCache for Redis
Getting Started with ElastiCache for Redis
 
Serverless for Developers
Serverless for DevelopersServerless for Developers
Serverless for Developers
 
5 things you don't know about Amazon Web Services
5 things you don't know about Amazon Web Services5 things you don't know about Amazon Web Services
5 things you don't know about Amazon Web Services
 
Orchestrating the Cloud
Orchestrating the CloudOrchestrating the Cloud
Orchestrating the Cloud
 
Amazon Aws Presentation Drupal
Amazon Aws Presentation DrupalAmazon Aws Presentation Drupal
Amazon Aws Presentation Drupal
 
Hands-on Lab - Combaring Redis with Relational
Hands-on Lab - Combaring Redis with RelationalHands-on Lab - Combaring Redis with Relational
Hands-on Lab - Combaring Redis with Relational
 
Containerless in the Cloud with AWS Lambda
Containerless in the Cloud with AWS LambdaContainerless in the Cloud with AWS Lambda
Containerless in the Cloud with AWS Lambda
 
(SEC315) NEW LAUNCH: Get Deep Visibility into Resource Configurations | AWS r...
(SEC315) NEW LAUNCH: Get Deep Visibility into Resource Configurations | AWS r...(SEC315) NEW LAUNCH: Get Deep Visibility into Resource Configurations | AWS r...
(SEC315) NEW LAUNCH: Get Deep Visibility into Resource Configurations | AWS r...
 
IoT Apps with AWS IoT and Websockets
IoT Apps with AWS IoT and Websockets IoT Apps with AWS IoT and Websockets
IoT Apps with AWS IoT and Websockets
 
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container DayECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
 
AWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as CodeAWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as Code
 
Notes for AWS IoT
Notes for AWS IoTNotes for AWS IoT
Notes for AWS IoT
 
Hands-on Lab: re-Modernize - Updating and Consolidating MySQL
Hands-on Lab: re-Modernize - Updating and Consolidating MySQLHands-on Lab: re-Modernize - Updating and Consolidating MySQL
Hands-on Lab: re-Modernize - Updating and Consolidating MySQL
 

Viewers also liked

[2017 Gaming on AWS] GameLift를 통한 실전 DevOps: 세션형 멀티플레이어 게임의 구현부터 운영까지 Step by...
[2017 Gaming on AWS] GameLift를 통한 실전 DevOps: 세션형 멀티플레이어 게임의 구현부터 운영까지 Step by...[2017 Gaming on AWS] GameLift를 통한 실전 DevOps: 세션형 멀티플레이어 게임의 구현부터 운영까지 Step by...
[2017 Gaming on AWS] GameLift를 통한 실전 DevOps: 세션형 멀티플레이어 게임의 구현부터 운영까지 Step by...Amazon Web Services Korea
 
AWS DevDay 실습 가이드 - Rekognition 기반 Twitter봇
AWS DevDay 실습 가이드 - Rekognition 기반 Twitter봇AWS DevDay 실습 가이드 - Rekognition 기반 Twitter봇
AWS DevDay 실습 가이드 - Rekognition 기반 Twitter봇Amazon Web Services Korea
 
[2017 Gaming on AWS] Gaming Data Lake on AWS
[2017 Gaming on AWS] Gaming Data Lake on AWS[2017 Gaming on AWS] Gaming Data Lake on AWS
[2017 Gaming on AWS] Gaming Data Lake on AWSAmazon Web Services Korea
 
[2017 Gaming on AWS] Serverless로 게임 서비스 구현하기
[2017 Gaming on AWS] Serverless로 게임 서비스 구현하기[2017 Gaming on AWS] Serverless로 게임 서비스 구현하기
[2017 Gaming on AWS] Serverless로 게임 서비스 구현하기Amazon Web Services Korea
 
[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)
[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)
[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)Amazon Web Services Korea
 
[Partner TechShift] 클라우드 사업을 위한 3가지 소프트웨어 딜리버리 전략
[Partner TechShift] 클라우드 사업을 위한 3가지 소프트웨어 딜리버리 전략[Partner TechShift] 클라우드 사업을 위한 3가지 소프트웨어 딜리버리 전략
[Partner TechShift] 클라우드 사업을 위한 3가지 소프트웨어 딜리버리 전략Amazon Web Services Korea
 
Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)
Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)
Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)Amazon Web Services Korea
 
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive [2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive Amazon Web Services Korea
 
Apache MXNet으로 배워보는 딥러닝(Deep Learning) - 김무현 (AWS 솔루션즈아키텍트)
Apache MXNet으로 배워보는 딥러닝(Deep Learning) - 김무현 (AWS 솔루션즈아키텍트)Apache MXNet으로 배워보는 딥러닝(Deep Learning) - 김무현 (AWS 솔루션즈아키텍트)
Apache MXNet으로 배워보는 딥러닝(Deep Learning) - 김무현 (AWS 솔루션즈아키텍트)Amazon Web Services Korea
 
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기Amazon Web Services Korea
 
[Partner TechShift 2017] AWS 마켓플레이스를 통한 글로벌 소프트웨어 판매하기
[Partner TechShift 2017] AWS 마켓플레이스를 통한 글로벌 소프트웨어 판매하기[Partner TechShift 2017] AWS 마켓플레이스를 통한 글로벌 소프트웨어 판매하기
[Partner TechShift 2017] AWS 마켓플레이스를 통한 글로벌 소프트웨어 판매하기Amazon Web Services Korea
 
[Partner TechShift 2017] APN 컨설팅 파트너사와 함께 하는 클라우드 소프트웨어 사업
[Partner TechShift 2017] APN 컨설팅 파트너사와 함께 하는 클라우드 소프트웨어 사업[Partner TechShift 2017] APN 컨설팅 파트너사와 함께 하는 클라우드 소프트웨어 사업
[Partner TechShift 2017] APN 컨설팅 파트너사와 함께 하는 클라우드 소프트웨어 사업Amazon Web Services Korea
 
[Partner TechShift 2017] EXEM의 AWS 마켓플레이스 실전 경험 공유
[Partner TechShift 2017] EXEM의 AWS 마켓플레이스 실전 경험 공유[Partner TechShift 2017] EXEM의 AWS 마켓플레이스 실전 경험 공유
[Partner TechShift 2017] EXEM의 AWS 마켓플레이스 실전 경험 공유Amazon Web Services Korea
 
[Partner TechShift 2017] AWS 마켓플레이스 등록을 위한 테크니컬 체크리스트
[Partner TechShift 2017] AWS 마켓플레이스 등록을 위한 테크니컬 체크리스트[Partner TechShift 2017] AWS 마켓플레이스 등록을 위한 테크니컬 체크리스트
[Partner TechShift 2017] AWS 마켓플레이스 등록을 위한 테크니컬 체크리스트Amazon Web Services Korea
 
[2017 AWS Startup Day] 인프라 관점에서 접근하는 리디스토리 개발기
[2017 AWS Startup Day] 인프라 관점에서 접근하는 리디스토리 개발기[2017 AWS Startup Day] 인프라 관점에서 접근하는 리디스토리 개발기
[2017 AWS Startup Day] 인프라 관점에서 접근하는 리디스토리 개발기Amazon Web Services Korea
 
[2017 AWS Startup Day] 스타트업이 인공지능을 만날 때 : 딥러닝 활용사례와 아키텍쳐
[2017 AWS Startup Day] 스타트업이 인공지능을 만날 때 : 딥러닝 활용사례와 아키텍쳐[2017 AWS Startup Day] 스타트업이 인공지능을 만날 때 : 딥러닝 활용사례와 아키텍쳐
[2017 AWS Startup Day] 스타트업이 인공지능을 만날 때 : 딥러닝 활용사례와 아키텍쳐Amazon Web Services Korea
 
[2017 AWS Startup Day] VC가 바라보는 스타트업의 기술과 개발역량
[2017 AWS Startup Day] VC가 바라보는 스타트업의 기술과 개발역량[2017 AWS Startup Day] VC가 바라보는 스타트업의 기술과 개발역량
[2017 AWS Startup Day] VC가 바라보는 스타트업의 기술과 개발역량Amazon Web Services Korea
 

Viewers also liked (20)

[2017 Gaming on AWS] GameLift를 통한 실전 DevOps: 세션형 멀티플레이어 게임의 구현부터 운영까지 Step by...
[2017 Gaming on AWS] GameLift를 통한 실전 DevOps: 세션형 멀티플레이어 게임의 구현부터 운영까지 Step by...[2017 Gaming on AWS] GameLift를 통한 실전 DevOps: 세션형 멀티플레이어 게임의 구현부터 운영까지 Step by...
[2017 Gaming on AWS] GameLift를 통한 실전 DevOps: 세션형 멀티플레이어 게임의 구현부터 운영까지 Step by...
 
AWS DevDay 실습 가이드 - Rekognition 기반 Twitter봇
AWS DevDay 실습 가이드 - Rekognition 기반 Twitter봇AWS DevDay 실습 가이드 - Rekognition 기반 Twitter봇
AWS DevDay 실습 가이드 - Rekognition 기반 Twitter봇
 
AWS DevDay 실습 가이드 - 서버리스
AWS DevDay 실습 가이드 - 서버리스AWS DevDay 실습 가이드 - 서버리스
AWS DevDay 실습 가이드 - 서버리스
 
AWS DevDay 실습 가이드 - 콘테이너
AWS DevDay 실습 가이드 - 콘테이너AWS DevDay 실습 가이드 - 콘테이너
AWS DevDay 실습 가이드 - 콘테이너
 
[2017 Gaming on AWS] Gaming Data Lake on AWS
[2017 Gaming on AWS] Gaming Data Lake on AWS[2017 Gaming on AWS] Gaming Data Lake on AWS
[2017 Gaming on AWS] Gaming Data Lake on AWS
 
[2017 Gaming on AWS] Serverless로 게임 서비스 구현하기
[2017 Gaming on AWS] Serverless로 게임 서비스 구현하기[2017 Gaming on AWS] Serverless로 게임 서비스 구현하기
[2017 Gaming on AWS] Serverless로 게임 서비스 구현하기
 
[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)
[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)
[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)
 
[Partner TechShift] 클라우드 사업을 위한 3가지 소프트웨어 딜리버리 전략
[Partner TechShift] 클라우드 사업을 위한 3가지 소프트웨어 딜리버리 전략[Partner TechShift] 클라우드 사업을 위한 3가지 소프트웨어 딜리버리 전략
[Partner TechShift] 클라우드 사업을 위한 3가지 소프트웨어 딜리버리 전략
 
Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)
Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)
Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)
 
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive [2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
 
Apache MXNet으로 배워보는 딥러닝(Deep Learning) - 김무현 (AWS 솔루션즈아키텍트)
Apache MXNet으로 배워보는 딥러닝(Deep Learning) - 김무현 (AWS 솔루션즈아키텍트)Apache MXNet으로 배워보는 딥러닝(Deep Learning) - 김무현 (AWS 솔루션즈아키텍트)
Apache MXNet으로 배워보는 딥러닝(Deep Learning) - 김무현 (AWS 솔루션즈아키텍트)
 
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
 
[Partner TechShift 2017] AWS 마켓플레이스를 통한 글로벌 소프트웨어 판매하기
[Partner TechShift 2017] AWS 마켓플레이스를 통한 글로벌 소프트웨어 판매하기[Partner TechShift 2017] AWS 마켓플레이스를 통한 글로벌 소프트웨어 판매하기
[Partner TechShift 2017] AWS 마켓플레이스를 통한 글로벌 소프트웨어 판매하기
 
[Partner TechShift 2017] APN 컨설팅 파트너사와 함께 하는 클라우드 소프트웨어 사업
[Partner TechShift 2017] APN 컨설팅 파트너사와 함께 하는 클라우드 소프트웨어 사업[Partner TechShift 2017] APN 컨설팅 파트너사와 함께 하는 클라우드 소프트웨어 사업
[Partner TechShift 2017] APN 컨설팅 파트너사와 함께 하는 클라우드 소프트웨어 사업
 
[Partner TechShift 2017] EXEM의 AWS 마켓플레이스 실전 경험 공유
[Partner TechShift 2017] EXEM의 AWS 마켓플레이스 실전 경험 공유[Partner TechShift 2017] EXEM의 AWS 마켓플레이스 실전 경험 공유
[Partner TechShift 2017] EXEM의 AWS 마켓플레이스 실전 경험 공유
 
[Partner TechShift 2017] AWS 마켓플레이스 등록을 위한 테크니컬 체크리스트
[Partner TechShift 2017] AWS 마켓플레이스 등록을 위한 테크니컬 체크리스트[Partner TechShift 2017] AWS 마켓플레이스 등록을 위한 테크니컬 체크리스트
[Partner TechShift 2017] AWS 마켓플레이스 등록을 위한 테크니컬 체크리스트
 
[2017 AWS Startup Day] 인프라 관점에서 접근하는 리디스토리 개발기
[2017 AWS Startup Day] 인프라 관점에서 접근하는 리디스토리 개발기[2017 AWS Startup Day] 인프라 관점에서 접근하는 리디스토리 개발기
[2017 AWS Startup Day] 인프라 관점에서 접근하는 리디스토리 개발기
 
[2017 AWS Startup Day] 스타트업이 인공지능을 만날 때 : 딥러닝 활용사례와 아키텍쳐
[2017 AWS Startup Day] 스타트업이 인공지능을 만날 때 : 딥러닝 활용사례와 아키텍쳐[2017 AWS Startup Day] 스타트업이 인공지능을 만날 때 : 딥러닝 활용사례와 아키텍쳐
[2017 AWS Startup Day] 스타트업이 인공지능을 만날 때 : 딥러닝 활용사례와 아키텍쳐
 
2017 스타트업을 위한 AWS 브로셔
2017 스타트업을 위한 AWS 브로셔2017 스타트업을 위한 AWS 브로셔
2017 스타트업을 위한 AWS 브로셔
 
[2017 AWS Startup Day] VC가 바라보는 스타트업의 기술과 개발역량
[2017 AWS Startup Day] VC가 바라보는 스타트업의 기술과 개발역량[2017 AWS Startup Day] VC가 바라보는 스타트업의 기술과 개발역량
[2017 AWS Startup Day] VC가 바라보는 스타트업의 기술과 개발역량
 

Similar to AWS IoT 핸즈온 워크샵 - 실습 6. 긴급 데이터를 Kinesis Streams으로 보내기 (김무현 솔루션즈 아키텍트)

Node Summit 2018 - Optimize your Lambda functions
Node Summit 2018 - Optimize your Lambda functionsNode Summit 2018 - Optimize your Lambda functions
Node Summit 2018 - Optimize your Lambda functionsMatt Lavin
 
AWS re:Invent 2016: IoT Visualizations and Analytics (IOT306)
AWS re:Invent 2016: IoT Visualizations and Analytics (IOT306)AWS re:Invent 2016: IoT Visualizations and Analytics (IOT306)
AWS re:Invent 2016: IoT Visualizations and Analytics (IOT306)Amazon Web Services
 
以Device Shadows與Rules Engine串聯實體世界
以Device Shadows與Rules Engine串聯實體世界以Device Shadows與Rules Engine串聯實體世界
以Device Shadows與Rules Engine串聯實體世界Amazon Web Services
 
AWS re:Invent 2016: NEW LAUNCH! Lambda Everywhere (IOT309)
AWS re:Invent 2016: NEW LAUNCH! Lambda Everywhere (IOT309)AWS re:Invent 2016: NEW LAUNCH! Lambda Everywhere (IOT309)
AWS re:Invent 2016: NEW LAUNCH! Lambda Everywhere (IOT309)Amazon Web Services
 
Programming the Physical World with Device Shadows and Rules Engine
Programming the Physical World with Device Shadows and Rules EngineProgramming the Physical World with Device Shadows and Rules Engine
Programming the Physical World with Device Shadows and Rules EngineAmazon Web Services
 
Programming the Physical World with Device Shadows and Rules Engine
Programming the Physical World with Device Shadows and Rules EngineProgramming the Physical World with Device Shadows and Rules Engine
Programming the Physical World with Device Shadows and Rules EngineAmazon Web Services
 
Programming the Physical World with Device Shadows and Rules Engine
Programming the Physical World with Device Shadows and Rules EngineProgramming the Physical World with Device Shadows and Rules Engine
Programming the Physical World with Device Shadows and Rules EngineAmazon Web Services
 
Hands-on with AWS IoT
Hands-on with AWS IoTHands-on with AWS IoT
Hands-on with AWS IoTJulien SIMON
 
AWS IoTで家庭内IoTをやってみた【JAWS DAYS 2016】
AWS IoTで家庭内IoTをやってみた【JAWS DAYS 2016】AWS IoTで家庭内IoTをやってみた【JAWS DAYS 2016】
AWS IoTで家庭内IoTをやってみた【JAWS DAYS 2016】tsuchimon
 
(MBL312) NEW! AWS IoT: Programming a Physical World w/ Shadows & Rules
(MBL312) NEW! AWS IoT: Programming a Physical World w/ Shadows & Rules(MBL312) NEW! AWS IoT: Programming a Physical World w/ Shadows & Rules
(MBL312) NEW! AWS IoT: Programming a Physical World w/ Shadows & RulesAmazon Web Services
 
AWS IoT Core Workshop (IOT305-R1) - AWS re:Invent 2018
AWS IoT Core Workshop (IOT305-R1) - AWS re:Invent 2018AWS IoT Core Workshop (IOT305-R1) - AWS re:Invent 2018
AWS IoT Core Workshop (IOT305-R1) - AWS re:Invent 2018Amazon Web Services
 
Scalable and Fault-Tolerant Apps with AWS
Scalable and Fault-Tolerant Apps with AWSScalable and Fault-Tolerant Apps with AWS
Scalable and Fault-Tolerant Apps with AWSFernando Rodriguez
 
Reply Webinar Online - Mastering AWS - IoT Foundations
Reply Webinar Online - Mastering AWS - IoT FoundationsReply Webinar Online - Mastering AWS - IoT Foundations
Reply Webinar Online - Mastering AWS - IoT FoundationsAndrea Mercanti
 
Fundamental Node.js (Workshop bersama Front-end Developer GITS Indonesia, War...
Fundamental Node.js (Workshop bersama Front-end Developer GITS Indonesia, War...Fundamental Node.js (Workshop bersama Front-end Developer GITS Indonesia, War...
Fundamental Node.js (Workshop bersama Front-end Developer GITS Indonesia, War...GITS Indonesia
 
Masterclass Webinar: Application Services and Dynamic Dashboard
Masterclass Webinar: Application Services and Dynamic DashboardMasterclass Webinar: Application Services and Dynamic Dashboard
Masterclass Webinar: Application Services and Dynamic DashboardAmazon Web Services
 

Similar to AWS IoT 핸즈온 워크샵 - 실습 6. 긴급 데이터를 Kinesis Streams으로 보내기 (김무현 솔루션즈 아키텍트) (20)

Node Summit 2018 - Optimize your Lambda functions
Node Summit 2018 - Optimize your Lambda functionsNode Summit 2018 - Optimize your Lambda functions
Node Summit 2018 - Optimize your Lambda functions
 
AWS re:Invent 2016: IoT Visualizations and Analytics (IOT306)
AWS re:Invent 2016: IoT Visualizations and Analytics (IOT306)AWS re:Invent 2016: IoT Visualizations and Analytics (IOT306)
AWS re:Invent 2016: IoT Visualizations and Analytics (IOT306)
 
以Device Shadows與Rules Engine串聯實體世界
以Device Shadows與Rules Engine串聯實體世界以Device Shadows與Rules Engine串聯實體世界
以Device Shadows與Rules Engine串聯實體世界
 
AWS re:Invent 2016: NEW LAUNCH! Lambda Everywhere (IOT309)
AWS re:Invent 2016: NEW LAUNCH! Lambda Everywhere (IOT309)AWS re:Invent 2016: NEW LAUNCH! Lambda Everywhere (IOT309)
AWS re:Invent 2016: NEW LAUNCH! Lambda Everywhere (IOT309)
 
AWS IoT Deep Dive
AWS IoT Deep DiveAWS IoT Deep Dive
AWS IoT Deep Dive
 
Programming the Physical World with Device Shadows and Rules Engine
Programming the Physical World with Device Shadows and Rules EngineProgramming the Physical World with Device Shadows and Rules Engine
Programming the Physical World with Device Shadows and Rules Engine
 
Programming the Physical World with Device Shadows and Rules Engine
Programming the Physical World with Device Shadows and Rules EngineProgramming the Physical World with Device Shadows and Rules Engine
Programming the Physical World with Device Shadows and Rules Engine
 
Deep Dive on AWS IoT
Deep Dive on AWS IoTDeep Dive on AWS IoT
Deep Dive on AWS IoT
 
Programming the Physical World with Device Shadows and Rules Engine
Programming the Physical World with Device Shadows and Rules EngineProgramming the Physical World with Device Shadows and Rules Engine
Programming the Physical World with Device Shadows and Rules Engine
 
Hands-on with AWS IoT
Hands-on with AWS IoTHands-on with AWS IoT
Hands-on with AWS IoT
 
Deep Dive on AWS IoT
Deep Dive on AWS IoTDeep Dive on AWS IoT
Deep Dive on AWS IoT
 
AWS IoTで家庭内IoTをやってみた【JAWS DAYS 2016】
AWS IoTで家庭内IoTをやってみた【JAWS DAYS 2016】AWS IoTで家庭内IoTをやってみた【JAWS DAYS 2016】
AWS IoTで家庭内IoTをやってみた【JAWS DAYS 2016】
 
(MBL312) NEW! AWS IoT: Programming a Physical World w/ Shadows & Rules
(MBL312) NEW! AWS IoT: Programming a Physical World w/ Shadows & Rules(MBL312) NEW! AWS IoT: Programming a Physical World w/ Shadows & Rules
(MBL312) NEW! AWS IoT: Programming a Physical World w/ Shadows & Rules
 
AWS IoT Core Workshop (IOT305-R1) - AWS re:Invent 2018
AWS IoT Core Workshop (IOT305-R1) - AWS re:Invent 2018AWS IoT Core Workshop (IOT305-R1) - AWS re:Invent 2018
AWS IoT Core Workshop (IOT305-R1) - AWS re:Invent 2018
 
SRV408 Deep Dive on AWS IoT
SRV408 Deep Dive on AWS IoTSRV408 Deep Dive on AWS IoT
SRV408 Deep Dive on AWS IoT
 
Scalable and Fault-Tolerant Apps with AWS
Scalable and Fault-Tolerant Apps with AWSScalable and Fault-Tolerant Apps with AWS
Scalable and Fault-Tolerant Apps with AWS
 
Reply Webinar Online - Mastering AWS - IoT Foundations
Reply Webinar Online - Mastering AWS - IoT FoundationsReply Webinar Online - Mastering AWS - IoT Foundations
Reply Webinar Online - Mastering AWS - IoT Foundations
 
Fundamental Node.js (Workshop bersama Front-end Developer GITS Indonesia, War...
Fundamental Node.js (Workshop bersama Front-end Developer GITS Indonesia, War...Fundamental Node.js (Workshop bersama Front-end Developer GITS Indonesia, War...
Fundamental Node.js (Workshop bersama Front-end Developer GITS Indonesia, War...
 
Lambdas puzzler - Peter Lawrey
Lambdas puzzler - Peter LawreyLambdas puzzler - Peter Lawrey
Lambdas puzzler - Peter Lawrey
 
Masterclass Webinar: Application Services and Dynamic Dashboard
Masterclass Webinar: Application Services and Dynamic DashboardMasterclass Webinar: Application Services and Dynamic Dashboard
Masterclass Webinar: Application Services and Dynamic Dashboard
 

More from Amazon Web Services Korea

AWS Modern Infra with Storage Roadshow 2023 - Day 2
AWS Modern Infra with Storage Roadshow 2023 - Day 2AWS Modern Infra with Storage Roadshow 2023 - Day 2
AWS Modern Infra with Storage Roadshow 2023 - Day 2Amazon Web Services Korea
 
AWS Modern Infra with Storage Roadshow 2023 - Day 1
AWS Modern Infra with Storage Roadshow 2023 - Day 1AWS Modern Infra with Storage Roadshow 2023 - Day 1
AWS Modern Infra with Storage Roadshow 2023 - Day 1Amazon Web Services Korea
 
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...Amazon Web Services Korea
 
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...Amazon Web Services Korea
 
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...Amazon Web Services Korea
 
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...Amazon Web Services Korea
 
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...Amazon Web Services Korea
 
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...Amazon Web Services Korea
 
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...Amazon Web Services Korea
 
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...Amazon Web Services Korea
 
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...Amazon Web Services Korea
 
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...Amazon Web Services Korea
 
From Insights to Action, How to build and maintain a Data Driven Organization...
From Insights to Action, How to build and maintain a Data Driven Organization...From Insights to Action, How to build and maintain a Data Driven Organization...
From Insights to Action, How to build and maintain a Data Driven Organization...Amazon Web Services Korea
 
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...Amazon Web Services Korea
 
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...Amazon Web Services Korea
 
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...Amazon Web Services Korea
 
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...Amazon Web Services Korea
 
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...Amazon Web Services Korea
 
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...Amazon Web Services Korea
 
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...Amazon Web Services Korea
 

More from Amazon Web Services Korea (20)

AWS Modern Infra with Storage Roadshow 2023 - Day 2
AWS Modern Infra with Storage Roadshow 2023 - Day 2AWS Modern Infra with Storage Roadshow 2023 - Day 2
AWS Modern Infra with Storage Roadshow 2023 - Day 2
 
AWS Modern Infra with Storage Roadshow 2023 - Day 1
AWS Modern Infra with Storage Roadshow 2023 - Day 1AWS Modern Infra with Storage Roadshow 2023 - Day 1
AWS Modern Infra with Storage Roadshow 2023 - Day 1
 
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
 
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
 
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
 
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
 
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
 
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
 
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
 
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
 
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
 
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
 
From Insights to Action, How to build and maintain a Data Driven Organization...
From Insights to Action, How to build and maintain a Data Driven Organization...From Insights to Action, How to build and maintain a Data Driven Organization...
From Insights to Action, How to build and maintain a Data Driven Organization...
 
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
 
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
 
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
 
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
 
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
 
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
 
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
 

Recently uploaded

What Are The Must-Know Tips For First-Time Jet Skiers In Aruba
What Are The Must-Know Tips For First-Time Jet Skiers In ArubaWhat Are The Must-Know Tips For First-Time Jet Skiers In Aruba
What Are The Must-Know Tips For First-Time Jet Skiers In ArubaDelphi Watersports
 
Discover the Magic of Sicily: Your Travel Guide
Discover the Magic of Sicily: Your Travel GuideDiscover the Magic of Sicily: Your Travel Guide
Discover the Magic of Sicily: Your Travel GuideTime for Sicily
 
Ziro Music Festival Arunachal Pradesh-Unexplored and Most Expensive music fes...
Ziro Music Festival Arunachal Pradesh-Unexplored and Most Expensive music fes...Ziro Music Festival Arunachal Pradesh-Unexplored and Most Expensive music fes...
Ziro Music Festival Arunachal Pradesh-Unexplored and Most Expensive music fes...asishbacklink
 
What Are Some Tips For A Safe White River Rafting Experience
What Are Some Tips For A Safe White River Rafting ExperienceWhat Are Some Tips For A Safe White River Rafting Experience
What Are Some Tips For A Safe White River Rafting ExperienceTahoe Whitewater Tours
 
Sizzling Summer Adventures Unforgettable Tours Under the Sun
Sizzling Summer Adventures Unforgettable Tours Under the SunSizzling Summer Adventures Unforgettable Tours Under the Sun
Sizzling Summer Adventures Unforgettable Tours Under the SunSnowshoe Tahoe
 
5 beautyfull places visiting in uttrakhand
5 beautyfull places visiting in uttrakhand5 beautyfull places visiting in uttrakhand
5 beautyfull places visiting in uttrakhandaradhya3287
 
Melanie Smith Tourism, Wellbeing and Happiness
Melanie Smith Tourism, Wellbeing and HappinessMelanie Smith Tourism, Wellbeing and Happiness
Melanie Smith Tourism, Wellbeing and HappinessEDGAR TARRÉS FALCÓ
 
The Genuine Student Requirement for Australian Student Visas
The Genuine Student Requirement for Australian Student VisasThe Genuine Student Requirement for Australian Student Visas
The Genuine Student Requirement for Australian Student VisasAmit Kakkar
 
_Unforgettable Chandigarh to Himachal Pradesh Tour Package.pdf
_Unforgettable Chandigarh to Himachal Pradesh Tour Package.pdf_Unforgettable Chandigarh to Himachal Pradesh Tour Package.pdf
_Unforgettable Chandigarh to Himachal Pradesh Tour Package.pdfNewChandigarhTravels
 
What Safety Precautions Are Recommended For Na Pali Snorkeling Adventure
What Safety Precautions Are Recommended For Na Pali Snorkeling AdventureWhat Safety Precautions Are Recommended For Na Pali Snorkeling Adventure
What Safety Precautions Are Recommended For Na Pali Snorkeling AdventureHanalei Charters
 
László Puczkó Wellbeing Tourism and Economy
László Puczkó Wellbeing Tourism and EconomyLászló Puczkó Wellbeing Tourism and Economy
László Puczkó Wellbeing Tourism and EconomyEDGAR TARRÉS FALCÓ
 
Backpacking in Bhutan: A Thrilling Adventure
Backpacking in Bhutan: A Thrilling AdventureBackpacking in Bhutan: A Thrilling Adventure
Backpacking in Bhutan: A Thrilling AdventureKunal Kunal
 
What Unwritten Rules Of Surfing Etiquette Are Crucial For Beginners To Grasp
What Unwritten Rules Of Surfing Etiquette Are Crucial For Beginners To GraspWhat Unwritten Rules Of Surfing Etiquette Are Crucial For Beginners To Grasp
What Unwritten Rules Of Surfing Etiquette Are Crucial For Beginners To GraspHanalei Surf School
 
Access to Secretarial and Administrative Support in Serviced Apartments.pptx
Access to Secretarial and Administrative Support in Serviced Apartments.pptxAccess to Secretarial and Administrative Support in Serviced Apartments.pptx
Access to Secretarial and Administrative Support in Serviced Apartments.pptxPAJASA Apartments
 
Busy Season Mastery Simple Strategies to Optimize Your Lodging Business!.pptx
Busy Season Mastery Simple Strategies to Optimize Your Lodging Business!.pptxBusy Season Mastery Simple Strategies to Optimize Your Lodging Business!.pptx
Busy Season Mastery Simple Strategies to Optimize Your Lodging Business!.pptxRezStream
 
Visit the Famous Temples of Dev Bhoomi by Uttarakhand tour Package
Visit the Famous Temples of Dev Bhoomi by Uttarakhand tour PackageVisit the Famous Temples of Dev Bhoomi by Uttarakhand tour Package
Visit the Famous Temples of Dev Bhoomi by Uttarakhand tour PackageDhruv Sharma
 
Canada PR - Eligibility, Steps to apply.pptx
Canada PR - Eligibility, Steps to apply.pptxCanada PR - Eligibility, Steps to apply.pptx
Canada PR - Eligibility, Steps to apply.pptxY-Axis Overseas Careers
 

Recently uploaded (18)

What Are The Must-Know Tips For First-Time Jet Skiers In Aruba
What Are The Must-Know Tips For First-Time Jet Skiers In ArubaWhat Are The Must-Know Tips For First-Time Jet Skiers In Aruba
What Are The Must-Know Tips For First-Time Jet Skiers In Aruba
 
Discover the Magic of Sicily: Your Travel Guide
Discover the Magic of Sicily: Your Travel GuideDiscover the Magic of Sicily: Your Travel Guide
Discover the Magic of Sicily: Your Travel Guide
 
Ziro Music Festival Arunachal Pradesh-Unexplored and Most Expensive music fes...
Ziro Music Festival Arunachal Pradesh-Unexplored and Most Expensive music fes...Ziro Music Festival Arunachal Pradesh-Unexplored and Most Expensive music fes...
Ziro Music Festival Arunachal Pradesh-Unexplored and Most Expensive music fes...
 
What Are Some Tips For A Safe White River Rafting Experience
What Are Some Tips For A Safe White River Rafting ExperienceWhat Are Some Tips For A Safe White River Rafting Experience
What Are Some Tips For A Safe White River Rafting Experience
 
Sizzling Summer Adventures Unforgettable Tours Under the Sun
Sizzling Summer Adventures Unforgettable Tours Under the SunSizzling Summer Adventures Unforgettable Tours Under the Sun
Sizzling Summer Adventures Unforgettable Tours Under the Sun
 
5 beautyfull places visiting in uttrakhand
5 beautyfull places visiting in uttrakhand5 beautyfull places visiting in uttrakhand
5 beautyfull places visiting in uttrakhand
 
Melanie Smith Tourism, Wellbeing and Happiness
Melanie Smith Tourism, Wellbeing and HappinessMelanie Smith Tourism, Wellbeing and Happiness
Melanie Smith Tourism, Wellbeing and Happiness
 
The Genuine Student Requirement for Australian Student Visas
The Genuine Student Requirement for Australian Student VisasThe Genuine Student Requirement for Australian Student Visas
The Genuine Student Requirement for Australian Student Visas
 
_Unforgettable Chandigarh to Himachal Pradesh Tour Package.pdf
_Unforgettable Chandigarh to Himachal Pradesh Tour Package.pdf_Unforgettable Chandigarh to Himachal Pradesh Tour Package.pdf
_Unforgettable Chandigarh to Himachal Pradesh Tour Package.pdf
 
What Safety Precautions Are Recommended For Na Pali Snorkeling Adventure
What Safety Precautions Are Recommended For Na Pali Snorkeling AdventureWhat Safety Precautions Are Recommended For Na Pali Snorkeling Adventure
What Safety Precautions Are Recommended For Na Pali Snorkeling Adventure
 
László Puczkó Wellbeing Tourism and Economy
László Puczkó Wellbeing Tourism and EconomyLászló Puczkó Wellbeing Tourism and Economy
László Puczkó Wellbeing Tourism and Economy
 
Backpacking in Bhutan: A Thrilling Adventure
Backpacking in Bhutan: A Thrilling AdventureBackpacking in Bhutan: A Thrilling Adventure
Backpacking in Bhutan: A Thrilling Adventure
 
Why Is Whitewater Rafting The Ultimate Water Adventure
Why Is Whitewater Rafting The Ultimate Water AdventureWhy Is Whitewater Rafting The Ultimate Water Adventure
Why Is Whitewater Rafting The Ultimate Water Adventure
 
What Unwritten Rules Of Surfing Etiquette Are Crucial For Beginners To Grasp
What Unwritten Rules Of Surfing Etiquette Are Crucial For Beginners To GraspWhat Unwritten Rules Of Surfing Etiquette Are Crucial For Beginners To Grasp
What Unwritten Rules Of Surfing Etiquette Are Crucial For Beginners To Grasp
 
Access to Secretarial and Administrative Support in Serviced Apartments.pptx
Access to Secretarial and Administrative Support in Serviced Apartments.pptxAccess to Secretarial and Administrative Support in Serviced Apartments.pptx
Access to Secretarial and Administrative Support in Serviced Apartments.pptx
 
Busy Season Mastery Simple Strategies to Optimize Your Lodging Business!.pptx
Busy Season Mastery Simple Strategies to Optimize Your Lodging Business!.pptxBusy Season Mastery Simple Strategies to Optimize Your Lodging Business!.pptx
Busy Season Mastery Simple Strategies to Optimize Your Lodging Business!.pptx
 
Visit the Famous Temples of Dev Bhoomi by Uttarakhand tour Package
Visit the Famous Temples of Dev Bhoomi by Uttarakhand tour PackageVisit the Famous Temples of Dev Bhoomi by Uttarakhand tour Package
Visit the Famous Temples of Dev Bhoomi by Uttarakhand tour Package
 
Canada PR - Eligibility, Steps to apply.pptx
Canada PR - Eligibility, Steps to apply.pptxCanada PR - Eligibility, Steps to apply.pptx
Canada PR - Eligibility, Steps to apply.pptx
 

AWS IoT 핸즈온 워크샵 - 실습 6. 긴급 데이터를 Kinesis Streams으로 보내기 (김무현 솔루션즈 아키텍트)

  • 1. For this lab were going to look at a combination of systems to capture different kinds of data streams. We'll start with the usual AWS IoT system using rules to capture our data but during certain events, as determined by our rules we'll activate a Direct-To-Kinesis stream to capture realtime information. Why would you ever do this? AWS IoT has limits in place for the size of each message but also the number of transactions per second. When streaming realtime telemetry information, if you find you need more than 50TPS you would want to consider going to directly to Kinesis. Let's setup a Kinesis Shard. Let's setup a single shard to capture our stream when it is activated. Open the Kinesis dashboard and pick Kinesis Streams. Click Create Stream. Let's call this "iotshard", you'll enter just 1 shard. Lab 9 - Switch to Kinesis during critical events Step 1
  • 2. We're going to setup some Lambda functions to handle logging for us so we can keep track of our "thing". Open the Lambda dashboard. Click Create a lambda function. You can use the hello-world blue print. Let's call this function, "iotLambda2", accept the basics. You can also enter the code below to turn on some basic logging. Step 2
  • 3. Note: We are not creating these function in a VPC for this lab. Next we need to create another Lambda function to capture our Kinesis stream data. While in the Lambda dashboard, create a new function. Use the Kinesis-Process-Record blue print. Select the Kinesis Stream you created in step 1. Leave the other options as their defaults. We are going to call this iotLambda3. Make sure your role is a Kinesis Role. On the review screen, make sure you pick "Enable Now" so the event source is active.
  • 4. Here is the code if you want to copy & paste: console.log('Loading function'); exports.handler = function(event, context) { console.log('IoT Kinesis Event:', JSON.stringify(event, null, 2)); event.Records.forEach(function(record) { // Kinesis data is base64 encoded so decode here var payload = new Buffer(record.kinesis.data, 'base64').toString('ascii'); console.log('Decoded payload:', payload); }); context.succeed("Successfully processed " + event.Records.length + " records."); }; Lastly we need a Lambda function that can publish a change to our shadow state to turn on Kinesis for our "thing". Create another new Lambda function, use the hello-world blue print. We will call this iotShadowUpdate. The code for this is shown below. JavaScript
  • 5. You will need to pick an execution role that has access to the IoT service. Shadow Update Lambda code is as follows:
  • 6. var aws = require('aws-sdk'); var iotdata = new aws.IotData({endpoint: 'A3V8IRCN9H4H5T.iot.us-west-2.amazonaws.com'}); exports.handler = function(event, context) { console.log("Event to trigger Kinesis: " + JSON.stringify(event)); var shadow = { "state" : { "desired" : { "streamState": "on" } } }; var params = { topic: '$aws/things/thingtest/shadow/update', payload: JSON.stringify(shadow), qos: 0 }; iotdata.publish(params, function(err, data){ if(err){ console.log(err); context.fail(err); } else{ console.log("Shadow Updated"); context.succeed(true); } }); }; We're now going to setup a couple rules. The first rule will be to track critical data points to our Lambda function. The second rule will activate if values are outside the norm and will trigger a shadow state update to our "thing" which tells it to turn on the Kinesis stream. This is done by calling our iotShadowUpdate lambda function. For this lab we're be using 2 new topics. Step 3 JavaScript
  • 7. Open the AWS IoT Dashboard. Click create resource and pick a new rule. Let's call this iotCritical. We'll select * from our iotCritical topic. Pick the default action as Lambda. Pick iotLambda2 that we created earlier. Let's now create the Kinesis rule. Click create resource and pick a new rule again. Let's call this iotKinesis. We'll select * again from our iotCritical topic. We want to add a condition this time, temperature > 100. Pick the default action as Lambda. Pick the iotShadowUpdate we created earlier. Step 4
  • 8. Our script will now connect and send regular AWS IoT messages but one of these will be a high temperature value that will trigger our state change, once we detect the change we'll stream to Kinesis. Let's create a new script for this lab. We'll call this "iotCritical.js". This script is going to be using the full AWS SDK. If you don't have that installed you can run npm install aws-sdk We are also using a sleep library to run this script a little slower: npm install sleep First, create your bootstrap connection code as follows: note: You'll need to add your Kinesis stream endpoint. Step 5 Bash Bash
  • 9. var awsIot = require('aws-iot-device-sdk'); var aws = require('aws-sdk'); var sleep = require('sleep'); var device = awsIot.device({ "host": "data.iot.us-west-2.amazonaws.com", "port": 8883, "clientId": "1234", "thingName": "thingtest", "caPath": "./root-CA.cer", "certPath": "./certificate.pem.crt", "keyPath": "./private.pem.key", "region": "us-west-2" }); var kinesis = new aws.Kinesis({ acessKeyId: "{ACCESS KEY}", secretAccessKey: "{SECRET KEY}", var streamState = "off"; var x = 0; // general purpose timers var t = 1; // master kinesis timer Next on startup we want to set our current shadow state so that our stream is considered off. Let's define our shadow state. var msg = { "state": { "reported": { "streamState": "off" }, "desired": { "streamState": "off" } } } We also want to have some objects ready to modify as we run our test loops: JavaScript JavaScript
  • 10. var normalMsg = { "temperature": 0, "seq": 0 }; var kinesisMsg = { "x": 0, "y": 0, "z": 0, "id": 0 } Next we're going to add the function to handle our shadow changes, when we see a delta and it contains the "on" state we will trigger our Kinesis stream. device.on('message', function(topic, message) { console.log('message', topic, message.toString()); if (topic == "$aws/things/thingtest/shadow/update/delta") { var shadow = JSON.parse(message); streamState = shadow.state.streamState; // report back our state change msg.state.reported.streamState = streamState; device.publish('$aws/things/thingtest/shadow/update', JSON.stringify(msg)); if (streamState == 'on') { //startStream(); setTimeout(function() { stream(); }, 2500); } } // Start our main loop if (topic == '$aws/things/thingtest/shadow/update/accepted') { // Let's loop slowly with regular messages normalMsg.temperature = 75; normalMsg.seq = x; device.publish('iotCritical', JSON.stringify(normalMsg)); console.log("Our current stream state is " + streamState); console.log("Sent regular message " + x + " at temp: " + normalMsg.temperature ) sleep.sleep(1); // seconds } if (topic == 'iotCritical') { JavaScript JavaScript
  • 11. if (x<100) { x++; normalMsg.temperature = 75; normalMsg.seq = x; // on our 10th message we'll pass the threshold just once and see if our if (x==10) normalMsg.temperature = 110; setTimeout(function() { device.publish('iotCritical', JSON.stringify(normalMsg)); }, 500); console.log("Our current stream state is " + streamState); console.log("Sent regular message " + x + " at temp: " + normalMsg.tempe //sleep.sleep(1); // seconds } else { console.log('Done!'); } } }); The above is pretty simple. We're first checking our streaming state and after that we're using the callback functionailty to trigger a slower loop to keep sending messages to AWS IoT. Once the critical temp is sent (see the line setting our high temp on the 10th message) we see the shadow change to turn on our Kinesis stream. Let's now add the stream() function which just blasts data to Kinesis:
  • 12. var stream = function() { console.log('Starting Kinesis Stream ...'); for(t=1;t<50;t++) { // Let's publish our telemtry data kinesisMsg.id = t; kinesisMsg.x = t; kinesisMsg.y = Math.random() * (5000 - 1) + 1; kinesisMsg.z = kinesisMsg.y/t; kinesis.putRecord({ StreamName : "iotshard", Data : JSON.stringify(kinesisMsg), PartitionKey : "id" }, function(err, data) { if (err) { console.log(err, err.stack); // an error occurred } else { console.log("Sent stream message to Kinesis: " + JSON.string } }); } } Finally we setup our gateway device object as usual and subscribe to the relevant topics: device.on('connect', function() { console.log('Connected!'); setTimeout(function() { device.subscribe('$aws/things/thingtest/shadow/update/delta'); device.subscribe('$aws/things/thingtest/shadow/update/accepted'); device.subscribe('iotCritical'); device.publish('$aws/things/thingtest/shadow/update', JSON.stringify(msg)); console.log("Set our thing shadow."); console.log('Waiting ...'); }, 2500); }); FULL SOURCE // Lab 9 // Watch our shadow state for kinesis triggers. JavaScript JavaScript JavaScript
  • 13. var awsIot = require('aws-iot-device-sdk'); var aws = require('aws-sdk'); var sleep = require('sleep'); var device = awsIot.device({ "host": "data.iot.us-west-2.amazonaws.com", "port": 8883, "clientId": "1234", "thingName": "thingtest", "caPath": "./root-CA.cer", "certPath": "./certificate.pem.crt", "keyPath": "./private.pem.key", "region": "us-west-2" }); var kinesis = new aws.Kinesis({ acessKeyId: "{Your Access Key}", secretAccessKey: "{Your Sec var streamState = "off"; var x = 0; var t = 1; var msg = { "state": { "reported": { "streamState": "off" }, "desired": { "streamState": "off" } } } var normalMsg = { "temperature": 0, "seq": 0 }; var kinesisMsg = { "x": 0, "y": 0, "z": 0, "id": 0 }
  • 14. device.on('message', function(topic, message) { console.log('message', topic, message.toString()); if (topic == "$aws/things/thingtest/shadow/update/delta") { var shadow = JSON.parse(message); streamState = shadow.state.streamState; // report back our state change msg.state.reported.streamState = streamState; device.publish('$aws/things/thingtest/shadow/update', JSON.stringify(msg)); if (streamState == 'on') { //startStream(); setTimeout(function() { stream(); }, 2500); } } // Start our main loop if (topic == '$aws/things/thingtest/shadow/update/accepted') { // Let's loop slowly with regular messages normalMsg.temperature = 75; normalMsg.seq = x; device.publish('iotCritical', JSON.stringify(normalMsg)); console.log("Our current stream state is " + streamState); console.log("Sent regular message " + x + " at temp: " + normalMsg.temperature ) sleep.sleep(1); // seconds } if (topic == 'iotCritical') { if (x<100) { x++; normalMsg.temperature = 75; normalMsg.seq = x; // on our 25th message we'll pass the threshold just once and see if our if (x==10) normalMsg.temperature = 110; setTimeout(function() { device.publish('iotCritical', JSON.stringify(normalMsg)); }, 500); console.log("Our current stream state is " + streamState); console.log("Sent regular message " + x + " at temp: " + normalMsg.tempe //sleep.sleep(1); // seconds } else { //process.exit(); console.log('Done!');
  • 15. } } }); var stream = function() { console.log('Starting Kinesis Stream ...'); for(t=1;t<50;t++) { // Let's publish our telemtry data kinesisMsg.id = t; kinesisMsg.x = t; kinesisMsg.y = Math.random() * (5000 - 1) + 1; kinesisMsg.z = kinesisMsg.y/t; kinesis.putRecord({ StreamName : "iotshard", Data : JSON.stringify(kinesisMsg), PartitionKey : "id" }, function(err, data) { if (err) { console.log(err, err.stack); // an error occurred } else { console.log("Sent stream message to Kinesis: " + JSON.string } }); } } device.on('connect', function() { console.log('Connected!'); setTimeout(function() { device.subscribe('$aws/things/thingtest/shadow/update/delta'); device.subscribe('$aws/things/thingtest/shadow/update/accepted'); device.subscribe('iotCritical'); device.publish('$aws/things/thingtest/shadow/update', JSON.stringify(msg)); console.log("Set our thing shadow."); console.log('Waiting ...'); }, 2500); }); You can run this now and you see the switch between AWS IoT and Kinesis. node iotCritical.js Bash