SlideShare a Scribd company logo
1 of 87
Download to read offline
Masterclass
Application Services and Dynamic
Dashboard
Ryan Shuttleworth – Technical Evangelist
@ryanAWS
A technical deep dive beyond the basics
Help educate you on how to get the best from AWS technologies
Show you how things work and how to get things done
Broaden your knowledge in ~45 mins
Masterclass
A grand title for a demonstration system that ties together services
Show you how to use services like SNS and SQS to carry AWS events
Use S3 as a web server to host dynamically generated content
Why? Show you some tips and tricks you can use in your projects
Application Services &
Dynamic Dashboard
So what are we going
to run through?
Services &
topics
EC2
Instances to run our
application code
SNS
To publish events from our
instances
Autoscaling
To generate events as our
application scales up & down
SQS
To persist the event messages
for processing
S3
To store and serve content
we create
CloudFormation
To build our system as a
managed stack
DynamoDB
To store all events from
application
IAM
To control the creation and
management of resources
To do
what? Mimic an application that implements auto-
scaling
Trap, transport and store the scaling events
produced
Use a simple technique to produce pseudo-
dynamic content from S3
To do
what? Mimic an application that implements auto-
scaling
Trap, transport and store the scaling events
produced
Use a simple technique to produce pseudo-
dynamic content from S3
An exercise beyond compute and storage!
There’s a movie you can
view:
http://youtu.be/lb9qPhxIVNI
I’ll show this link again at the end
This demo is just an illustration of
what you can do with these services
Built in
this way…
Built in
this way…
Auto scaling Group
An arbitrary
application that we
can scale up and
down
Auto scaling Group
SNS notification
from auto scaling
group SNS event body as
JSON
SQS queue to
persist event
Built in
this way…
Messages produced
when instances are
started or
terminated
Auto scaling Group
SNS notification
from auto scaling
group SNS event body as
JSON
SQS queue to
persist event
DynamoDB table
holding instance details
Monitoring
instance
Auto scaling Group
Built in
this way…
Auto scaling Group
SNS notification
from auto scaling
group SNS event body as
JSON
SQS queue to
persist event
DynamoDB table
holding instance details
S3 bucket holding
dashboard web content
Auto scaling Group
Monitoring
instance
Built in
this way…
EC2 Instance Contents
DynamoDB table
holding instance details
Monitoring
instance
Python script
Read SQS queue and
generate data for S3
Static site
HTML, Javascript, css
reading data file
Built in
this way…
SNS & SQS
Essential glue between applications
Simple Notification Service
Reliable
Redundant storage
Scalable
Unlimited number of messages
Simple
CreateTopic, Subscribe, Publish
Flexible
HTTP, Email, SQS
Secure
Topic policies
Integrated
EC2, CloudWatch, Auto Scaling
A subscription by an SQS
queue for messages
published on this topic
A CloudWatch alarm
that will publish to
an SNS topic
Simple Queue Service
Reliable
Queues store messages across
availability zones
Scalable
Designed for unlimited services
reading unlimited number of
messages
Simple
CreateQueue, SendMessage,
ReceiveMessage, DeleteMessage
Inexpensive
Low per request fees
Secure
Authentication
Performance
Excellent throughput
Python
Application A
Python
Application A
>>> import boto
>>> conn = boto.connect_sqs()
>>> q = conn.create_queue('myqueue')
Python
Application A
>>> import boto
>>> conn = boto.connect_sqs()
>>> q = conn.create_queue('myqueue')
>>> from boto.sqs.message import Message
>>> m = Message()
>>> m.set_body('This is my first message.')
>>> status = q.write(m)
Python
Application A
Python
Application B
>>> import boto
>>> conn = boto.connect_sqs()
>>> q = conn.create_queue('myqueue')
>>> from boto.sqs.message import Message
>>> m = Message()
>>> m.set_body('This is my first message.')
>>> status = q.write(m)
>>> m = q.read(60)
>>> m.get_body()
Message not visible
to other
applications for 60
seconds
Python
Application A
Python
Application B
X
>>> import boto
>>> conn = boto.connect_sqs()
>>> q = conn.create_queue('myqueue')
>>> from boto.sqs.message import Message
>>> m = Message()
>>> m.set_body('This is my first message.')
>>> status = q.write(m)
>>> m = q.read(60)
>>> m.get_body()
>>> q.delete_message(m)
Message not visible
to other
applications for 60
seconds
The core trick…
Auto-scaling SNS SQS
Event notifications
Persistence of event data
The core trick…
Auto-scaling SNS SQS
Event notifications
Persistence of event data
You can do this from anything to anything
as-create-launch-config
--image-id <ami id>
--instance-type t1.micro
--group <security group>
--launch-config my-launch-cfg
Create a Auto Scaling launch configuration:
as-create-auto-scaling-group my-as-group
--availability-zones <az list>
--launch-configuration my-launch-cfg
--max-size 20
--min-size 1
Create a Auto Scaling group:
Amazon Resource Name
as-put-notification-configuration my-as-group
--topic-arn <arn-from-SNS-topic>
--notification-types
autoscaling:EC2_INSTANCE_LAUNCH,
autoscaling:EC2_INSTANCE_TERMINATE
as-put-notification-configuration my-as-group
--topic-arn <arn-from-SNS-topic>
--notification-types
autoscaling:EC2_INSTANCE_LAUNCH,
autoscaling:EC2_INSTANCE_TERMINATE
autoscaling:EC2_INSTANCE_LAUNCH
autoscaling:EC2_INSTANCE_LAUNCH_ERROR
autoscaling:EC2_INSTANCE_TERMINATE
autoscaling:EC2_INSTANCE_TERMINATE_ERROR
A subscription by an SQS
queue for messages
published on this topic
{
"Type" : "Notification",
"MessageId" : <message id>,
"TopicArn" : <arn>,
"Subject" : "Auto Scaling: termination for group "SNS-Dashboard-ASG"",
"Message" : ”…",
"Timestamp" : "2013-05-21T09:13:09.555Z",
"SignatureVersion" : "1",
"Signature" : ”…",
"SigningCertURL" : "https://sns.us-east-
1.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem",
"UnsubscribeURL" : "https://sns.us-east-
1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-
1:241861486983:SNS-Dashboard-ASNotifications-7GU41DCQW8HC:ed30bf6e-582c-4fd2-8e07-
28f7d1ac6278"
}
{
"Type" : "Notification",
"MessageId" : <message id>,
"TopicArn" : <arn>,
"Subject" : "Auto Scaling: termination for group "SNS-Dashboard-ASG"",
"Message" : ”…",
"Timestamp" : "2013-05-21T09:13:09.555Z",
"SignatureVersion" : "1",
"Signature" : ”…",
"SigningCertURL" : "https://sns.us-east-
1.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem",
"UnsubscribeURL" : "https://sns.us-east-
1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-
1:241861486983:SNS-Dashboard-ASNotifications-7GU41DCQW8HC:ed30bf6e-582c-4fd2-8e07-
28f7d1ac6278"
}
{"StatusCode":"InProgress","Service":"AWS Auto Scaling","AutoScalingGroupName":"SNS-Dashboard-
ApplicationServerGroup-K61R5797WCMA","Description":"Terminating EC2 instance: i-8bb679eb","ActivityId":"dfc1181b-
0df8-47dc-aa8d-
79e13b8a33d1","Event":"autoscaling:EC2_INSTANCE_TERMINATE","Details":{},"AutoScalingGroupARN":"arn:aws:autoscali
ng:us-east-1:241861486983:autoScalingGroup:77ef2778-ded1-451a-a630-6a35c8e67916:autoScalingGroupName/SNS-Dashboard-
ApplicationServerGroup-K61R5797WCMA","Progress":50,"Time":"2013-05-
21T09:13:09.442Z","AccountId":"241861486983","RequestId":"dfc1181b-0df8-47dc-aa8d-
79e13b8a33d1","StatusMessage":"","EndTime":"2013-05-21T09:13:09.442Z","EC2InstanceId":"i-
8bb679eb","StartTime":"2013-05-21T09:12:20.323Z","Cause":"At 2013-05-21T09:12:02Z a user request explicitly set group
desired capacity changing the desired capacity from 5 to 1. At 2013-05-21T09:12:19Z an instance was taken out of service in
response to a difference between desired and actual capacity, shrinking the capacity from 5 to 1. At 2013-05-21T09:12:19Z
instance i-8fdbafed was selected for termination. At 2013-05-21T09:12:19Z instance i-8ddbafef was selected for termination. At
2013-05-21T09:12:20Z instance i-8bb679eb was selected for termination. At 2013-05-21T09:12:20Z instance i-85b778e5 was
selected for termination."}
http://bootstrapping-
assets.s3.amazonaws.com/as-register-
instances.template
Template available:
Subscription
Notification
Topic
SQS Queue
Auto Scaling
Group
Subscription
Notification
Topic
SQS Queue
Auto Scaling
Group
"NotificationConfiguration" : {
"TopicARN" : { …"ASNotifications"
},
"NotificationTypes”
[ "autoscaling:EC2_INSTANCE_LAUNCH”,
"autoscaling:EC2_INSTANCE_TERMINATE" ]
},
Adding a notification to a
topic for Auto Scaling group
events
Subscription
Notification
Topic
SQS Queue
Auto Scaling
Group
"ASNotifications" : {
"Type" : "AWS::SNS::Topic",
"Properties" : {
"Subscription" : [ {
"Endpoint" : { … ASNotificationsQueue …},
"Protocol" : "sqs"
} ]
}
},
"NotificationConfiguration" : {
"TopicARN" : { …"ASNotifications"
},
"NotificationTypes”
[ "autoscaling:EC2_INSTANCE_LAUNCH”,
"autoscaling:EC2_INSTANCE_TERMINATE" ]
},
Subscription to topic from an
SQS queue
We now have events in SQS
Let’s do something with them…
Auto scaling Group
SNS notification
from auto scaling
group SNS event body as
JSON
SQS queue to
persist event
Built in
this way…
Messages produced
when instances are
started or
terminated
Auto scaling Group
SNS notification
from auto scaling
group SNS event body as
JSON
SQS queue to
persist event
DynamoDB table
holding instance details
Monitoring
instance
Auto scaling Group
Built in
this way…
Auto scaling Group
SNS notification
from auto scaling
group SNS event body as
JSON
SQS queue to
persist event
DynamoDB table
holding instance details
S3 bucket holding
dashboard web content
Auto scaling Group
Monitoring
instance
Built in
this way…
EC2 Instance Contents
DynamoDB table
holding instance details
Monitoring
instance
Python script
Read SQS queue and
generate data for S3
Static site
HTML, Javascript, css
reading data file
Built in
this way…
Read messages
from SQS queue
Write data to
DynamoDB table
Form JSON file
from updated
results
Write file to S3
for javascript to
interpret
http://bootstrapping-
assets.s3.amazonaws.com/as-node-manager.py
Script available
1.
Read SQS Queue
# Connect to SQS and open queue
sqs = boto.connect_sqs()
queue = sqs.get_queue(sqs_queue_name)
queue.set_message_class(RawMessage)
while True:
rs = queue.get_messages(num_messages=10)
for raw_message in rs:
# Parse JSON message
envelope = json.loads(raw_message.get_body())
message = json.loads(envelope['Message'])
# Trap the EC2_INSTANCE_LAUNCH event
if message['Event'] == 'autoscaling:EC2_INSTANCE_LAUNCH':
save_instance(message['EC2InstanceId'], ddb_table_name)
# Trap the EC2_INSTANCE_TERMINATE event
elif message['Event'] == 'autoscaling:EC2_INSTANCE_TERMINATE':
delete_instance(message['EC2InstanceId'], ddb_table_name)
# Delete the message from the queue and continue polling
queue.delete_message(raw_message)
# Connect to SQS and open queue
sqs = boto.connect_sqs()
queue = sqs.get_queue(sqs_queue_name)
queue.set_message_class(RawMessage)
while True:
rs = queue.get_messages(num_messages=10)
for raw_message in rs:
# Parse JSON message
envelope = json.loads(raw_message.get_body())
message = json.loads(envelope['Message'])
# Trap the EC2_INSTANCE_LAUNCH event
if message['Event'] == 'autoscaling:EC2_INSTANCE_LAUNCH':
save_instance(message['EC2InstanceId'], ddb_table_name)
# Trap the EC2_INSTANCE_TERMINATE event
elif message['Event'] == 'autoscaling:EC2_INSTANCE_TERMINATE':
delete_instance(message['EC2InstanceId'], ddb_table_name)
# Delete the message from the queue and continue polling
queue.delete_message(raw_message)
# Connect to SQS and open queue
sqs = boto.connect_sqs()
queue = sqs.get_queue(sqs_queue_name)
queue.set_message_class(RawMessage)
while True:
rs = queue.get_messages(num_messages=10)
for raw_message in rs:
# Parse JSON message
envelope = json.loads(raw_message.get_body())
message = json.loads(envelope['Message'])
# Trap the EC2_INSTANCE_LAUNCH event
if message['Event'] == 'autoscaling:EC2_INSTANCE_LAUNCH':
save_instance(message['EC2InstanceId'], ddb_table_name)
# Trap the EC2_INSTANCE_TERMINATE event
elif message['Event'] == 'autoscaling:EC2_INSTANCE_TERMINATE':
delete_instance(message['EC2InstanceId'], ddb_table_name)
# Delete the message from the queue and continue polling
queue.delete_message(raw_message)
# Connect to SQS and open queue
sqs = boto.connect_sqs()
queue = sqs.get_queue(sqs_queue_name)
queue.set_message_class(RawMessage)
while True:
rs = queue.get_messages(num_messages=10)
for raw_message in rs:
# Parse JSON message
envelope = json.loads(raw_message.get_body())
message = json.loads(envelope['Message'])
# Trap the EC2_INSTANCE_LAUNCH event
if message['Event'] == 'autoscaling:EC2_INSTANCE_LAUNCH':
save_instance(message['EC2InstanceId'], ddb_table_name)
# Trap the EC2_INSTANCE_TERMINATE event
elif message['Event'] == 'autoscaling:EC2_INSTANCE_TERMINATE':
delete_instance(message['EC2InstanceId'], ddb_table_name)
# Delete the message from the queue and continue polling
queue.delete_message(raw_message)
2.
Write to DynamoDB
def save_instance(instance_id, ddb_table_name):
instance = get_instance(instance_id)
# Connect to DynamodB (using key from env) and get table
ddb = boto.connect_dynamodb()
table = ddb.get_table(ddb_table_name)
# Create a new record for this instance
item = table.new_item(
hash_key=instance.id,
attrs = {
'pub_hostname': instance.public_dns_name,
'pub_ip': instance.ip_address,
'priv_hostname': instance.private_dns_name,
'priv_ip': instance.private_ip_address,
'ami_id': instance.image_id,
'region': instance.region.name,
'availability_zone' : instance.placement,
'terminated': 'false'
}
)
# Save the item to DynamoDB
item.put()
def save_instance(instance_id, ddb_table_name):
instance = get_instance(instance_id)
# Connect to DynamodB (using key from env) and get table
ddb = boto.connect_dynamodb()
table = ddb.get_table(ddb_table_name)
# Create a new record for this instance
item = table.new_item(
hash_key=instance.id,
attrs = {
'pub_hostname': instance.public_dns_name,
'pub_ip': instance.ip_address,
'priv_hostname': instance.private_dns_name,
'priv_ip': instance.private_ip_address,
'ami_id': instance.image_id,
'region': instance.region.name,
'availability_zone' : instance.placement,
'terminated': 'false'
}
)
# Save the item to DynamoDB
item.put()
def save_instance(instance_id, ddb_table_name):
instance = get_instance(instance_id)
# Connect to DynamodB (using key from env) and get table
ddb = boto.connect_dynamodb()
table = ddb.get_table(ddb_table_name)
# Create a new record for this instance
item = table.new_item(
hash_key=instance.id,
attrs = {
'pub_hostname': instance.public_dns_name,
'pub_ip': instance.ip_address,
'priv_hostname': instance.private_dns_name,
'priv_ip': instance.private_ip_address,
'ami_id': instance.image_id,
'region': instance.region.name,
'availability_zone' : instance.placement,
'terminated': 'false'
}
)
# Save the item to DynamoDB
item.put()
Item ‘fields’
Item key
def save_instance(instance_id, ddb_table_name):
instance = get_instance(instance_id)
# Connect to DynamodB (using key from env) and get table
ddb = boto.connect_dynamodb()
table = ddb.get_table(ddb_table_name)
# Create a new record for this instance
item = table.new_item(
hash_key=instance.id,
attrs = {
'pub_hostname': instance.public_dns_name,
'pub_ip': instance.ip_address,
'priv_hostname': instance.private_dns_name,
'priv_ip': instance.private_ip_address,
'ami_id': instance.image_id,
'region': instance.region.name,
'availability_zone' : instance.placement,
'terminated': 'false'
}
)
# Save the item to DynamoDB
item.put()
63
def delete_instance(instance_id, ddb_table_name):
# Connect to DynamodB and get table
ddb = boto.connect_dynamodb()
table = ddb.get_table(ddb_table_name)
# Get the item to soft delete
item = table.get_item(instance_id)
# Update the terminated flag
item['terminated'] = 'true'
# Save the item to DynamoDB
item.put()
def delete_instance(instance_id, ddb_table_name):
# Connect to DynamodB and get table
ddb = boto.connect_dynamodb()
table = ddb.get_table(ddb_table_name)
# Get the item to soft delete
item = table.get_item(instance_id)
# Update the terminated flag
item['terminated'] = 'true'
# Save the item to DynamoDB
item.put()
def delete_instance(instance_id, ddb_table_name):
# Connect to DynamodB and get table
ddb = boto.connect_dynamodb()
table = ddb.get_table(ddb_table_name)
# Get the item to soft delete
item = table.get_item(instance_id)
# Update the terminated flag
item['terminated'] = 'true'
# Save the item to DynamoDB
item.put()
67
3.
Write to S3
def write_instances_to_s3(instances_json, s3_output_bucket, s3_output_key):
# Connect to S3 and get the output bucket
s3 = boto.connect_s3()
output_bucket = s3.get_bucket(s3_output_bucket)
# Create a key to store the instances_json text
k = Key(output_bucket)
k.key = s3_output_key
k.set_metadata("Content-Type", "text/plain")
k.set_contents_from_string(instances_json)
def write_instances_to_s3(instances_json, s3_output_bucket, s3_output_key):
# Connect to S3 and get the output bucket
s3 = boto.connect_s3()
output_bucket = s3.get_bucket(s3_output_bucket)
# Create a key to store the instances_json text
k = Key(output_bucket)
k.key = s3_output_key
k.set_metadata("Content-Type", "text/plain")
k.set_contents_from_string(instances_json)
{
"instances":[
{
"id":"i-5525c932",
"terminated":"true",
"ami_id":"ami-7341831a",
"availability_zone":"us-east-1d",
"region":"RegionInfo:us-east-1",
"pub_ip":"107.21.167.7",
"pub_hostname":"ec2-107-21-167-7.compute-1.amazonaws.com",
"priv_ip":"10.201.2.233",
"priv_hostname":"domU-12-31-39-13-01-1B.compute-1.internal"
},
{
"id":"i-bb6a86dc",
"terminated":"false",
"ami_id":"ami-7341831a",
"availability_zone":"us-east-1a",
"region":"RegionInfo:us-east-1",
"pub_ip":"174.129.82.128",
"pub_hostname":"ec2-174-129-82-128.compute-1.amazonaws.com",
"priv_ip":"10.242.211.185",
"priv_hostname":"ip-10-242-211-185.ec2.internal"
}
]
}
…and now we have data in S3
we can build a web view…
Instances.txt
S3 bucket
From
monitoring
app
HTML/CSS/JS
Instances.txt
S3 bucket
From
monitoring
app
HTML/CSS/JS
Web page
load from
S3
Periodic refresh
Instances.txt
S3 bucket
From
monitoring
app
HTML/CSS/JS
Web page
load from
S3
jQuery get
instance
data from
S3
Periodic refresh
S3 Bucket
css
img
js
index.html
instances.txt
S3 Bucket
css
img
js
index.html
instances.txt JSON data
jQuery.getJSON()
jQuery.getJSON()
Javascript functions in index
page hosted in S3
Built around an AJAX ‘get’ of
instances JSON in S3
some jQuery
table
selectors/modifie
rs
+
Want to try this yourself?
View the video tutorial here:
http://youtu.be/lb9qPhxIVNI
And grab the CloudFormation template here:
http://bootstrapping-assets.s3.amazonaws.com/as-
register-instances.template
1. Create security groups
2. Create a notification of type SQS
3. Create SQS queue
4. Create auto-scaling launch configs & groups
5. Add auto-scaling notifications to SQS SNS notification
6. Create S3 bucket
7. Create DynamoDB table
8. Start instances
9. Bootstrap monitoring application
Summary
Pub/Sub models with SNS S3 & pseudo dynamic content
More than compute & storage
Reliable delivery with SQS DynamoDB for high performance
Summary
Pub/Sub models with SNS S3 & pseudo dynamic content
More than compute & storage
Reliable delivery with SQS
Given you some ideas?
Introduced you to some handy services?
Helped you with some CloudFormation?
DynamoDB for high performance
Summary
View the video:
http://youtu.be/lb9qPhxIVNI
Find out more:
aws.amazon.com

More Related Content

What's hot

(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...
(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...
(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...Amazon Web Services
 
(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT
(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT
(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoTAmazon Web Services
 
Amazon CloudWatch Logs and AWS Lambda: A Match Made in Heaven
Amazon CloudWatch Logs and AWS Lambda: A Match Made in HeavenAmazon CloudWatch Logs and AWS Lambda: A Match Made in Heaven
Amazon CloudWatch Logs and AWS Lambda: A Match Made in HeavenAmazon Web Services
 
Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS
Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS
Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS Amazon Web Services
 
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...Edureka!
 
AWS re:Invent 2016: IoT Blueprints: Optimizing Supply for Smart Agriculture f...
AWS re:Invent 2016: IoT Blueprints: Optimizing Supply for Smart Agriculture f...AWS re:Invent 2016: IoT Blueprints: Optimizing Supply for Smart Agriculture f...
AWS re:Invent 2016: IoT Blueprints: Optimizing Supply for Smart Agriculture f...Amazon Web Services
 
AWS re:Invent 2016: Understanding IoT Data: How to Leverage Amazon Kinesis in...
AWS re:Invent 2016: Understanding IoT Data: How to Leverage Amazon Kinesis in...AWS re:Invent 2016: Understanding IoT Data: How to Leverage Amazon Kinesis in...
AWS re:Invent 2016: Understanding IoT Data: How to Leverage Amazon Kinesis in...Amazon Web Services
 
Using AWS CloudTrail and AWS Config to Enhance Governance and Compliance of A...
Using AWS CloudTrail and AWS Config to Enhance Governance and Compliance of A...Using AWS CloudTrail and AWS Config to Enhance Governance and Compliance of A...
Using AWS CloudTrail and AWS Config to Enhance Governance and Compliance of A...Amazon Web Services
 
IoT End-to-End Security Overview
IoT End-to-End Security OverviewIoT End-to-End Security Overview
IoT End-to-End Security OverviewAmazon Web Services
 
Getting Started with AWS IoT - September 2016 Webinar Series
Getting Started with AWS IoT - September 2016 Webinar SeriesGetting Started with AWS IoT - September 2016 Webinar Series
Getting Started with AWS IoT - September 2016 Webinar SeriesAmazon Web Services
 
Amazon CloudWatch Logs and AWS Lambda: A Match Made in Heaven | AWS Public Se...
Amazon CloudWatch Logs and AWS Lambda: A Match Made in Heaven | AWS Public Se...Amazon CloudWatch Logs and AWS Lambda: A Match Made in Heaven | AWS Public Se...
Amazon CloudWatch Logs and AWS Lambda: A Match Made in Heaven | AWS Public Se...Amazon Web Services
 
Processamento em tempo real usando AWS - padrões e casos de uso
Processamento em tempo real usando AWS - padrões e casos de usoProcessamento em tempo real usando AWS - padrões e casos de uso
Processamento em tempo real usando AWS - padrões e casos de usoAmazon Web Services LATAM
 
IoT Hack Day: AWS Pop-up Loft Hack Series Sponsored by Intel
IoT Hack Day: AWS Pop-up Loft Hack Series Sponsored by IntelIoT Hack Day: AWS Pop-up Loft Hack Series Sponsored by Intel
IoT Hack Day: AWS Pop-up Loft Hack Series Sponsored by IntelAmazon Web Services
 
AWS October Webinar Series - Introducing Amazon Kinesis Firehose
AWS October Webinar Series - Introducing Amazon Kinesis FirehoseAWS October Webinar Series - Introducing Amazon Kinesis Firehose
AWS October Webinar Series - Introducing Amazon Kinesis FirehoseAmazon Web Services
 
AWS Services Overview - September 2016 Webinar Series
AWS Services Overview - September 2016 Webinar SeriesAWS Services Overview - September 2016 Webinar Series
AWS Services Overview - September 2016 Webinar SeriesAmazon Web Services
 
Using CloudTrail to Enhance Compliance and Governance of S3 - AWS Online Tech...
Using CloudTrail to Enhance Compliance and Governance of S3 - AWS Online Tech...Using CloudTrail to Enhance Compliance and Governance of S3 - AWS Online Tech...
Using CloudTrail to Enhance Compliance and Governance of S3 - AWS Online Tech...Amazon Web Services
 
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016Amazon Web Services Korea
 
AWS IoT 핸즈온 워크샵 - 실습 3. AWS IoT Thing Shadow (김무현 솔루션즈 아키텍트)
AWS IoT 핸즈온 워크샵 - 실습 3. AWS IoT Thing Shadow (김무현 솔루션즈 아키텍트)AWS IoT 핸즈온 워크샵 - 실습 3. AWS IoT Thing Shadow (김무현 솔루션즈 아키텍트)
AWS IoT 핸즈온 워크샵 - 실습 3. AWS IoT Thing Shadow (김무현 솔루션즈 아키텍트)Amazon Web Services Korea
 
Transparency and Auditing on AWS
Transparency and Auditing on AWSTransparency and Auditing on AWS
Transparency and Auditing on AWSAmazon Web Services
 

What's hot (20)

(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...
(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...
(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...
 
(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT
(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT
(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT
 
Amazon CloudWatch Logs and AWS Lambda: A Match Made in Heaven
Amazon CloudWatch Logs and AWS Lambda: A Match Made in HeavenAmazon CloudWatch Logs and AWS Lambda: A Match Made in Heaven
Amazon CloudWatch Logs and AWS Lambda: A Match Made in Heaven
 
Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS
Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS
Deep Dive: Developing, Deploying & Operating Mobile Apps with AWS
 
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
 
AWS re:Invent 2016: IoT Blueprints: Optimizing Supply for Smart Agriculture f...
AWS re:Invent 2016: IoT Blueprints: Optimizing Supply for Smart Agriculture f...AWS re:Invent 2016: IoT Blueprints: Optimizing Supply for Smart Agriculture f...
AWS re:Invent 2016: IoT Blueprints: Optimizing Supply for Smart Agriculture f...
 
AWS re:Invent 2016: Understanding IoT Data: How to Leverage Amazon Kinesis in...
AWS re:Invent 2016: Understanding IoT Data: How to Leverage Amazon Kinesis in...AWS re:Invent 2016: Understanding IoT Data: How to Leverage Amazon Kinesis in...
AWS re:Invent 2016: Understanding IoT Data: How to Leverage Amazon Kinesis in...
 
Using AWS CloudTrail and AWS Config to Enhance Governance and Compliance of A...
Using AWS CloudTrail and AWS Config to Enhance Governance and Compliance of A...Using AWS CloudTrail and AWS Config to Enhance Governance and Compliance of A...
Using AWS CloudTrail and AWS Config to Enhance Governance and Compliance of A...
 
SRV408 Deep Dive on AWS IoT
SRV408 Deep Dive on AWS IoTSRV408 Deep Dive on AWS IoT
SRV408 Deep Dive on AWS IoT
 
IoT End-to-End Security Overview
IoT End-to-End Security OverviewIoT End-to-End Security Overview
IoT End-to-End Security Overview
 
Getting Started with AWS IoT - September 2016 Webinar Series
Getting Started with AWS IoT - September 2016 Webinar SeriesGetting Started with AWS IoT - September 2016 Webinar Series
Getting Started with AWS IoT - September 2016 Webinar Series
 
Amazon CloudWatch Logs and AWS Lambda: A Match Made in Heaven | AWS Public Se...
Amazon CloudWatch Logs and AWS Lambda: A Match Made in Heaven | AWS Public Se...Amazon CloudWatch Logs and AWS Lambda: A Match Made in Heaven | AWS Public Se...
Amazon CloudWatch Logs and AWS Lambda: A Match Made in Heaven | AWS Public Se...
 
Processamento em tempo real usando AWS - padrões e casos de uso
Processamento em tempo real usando AWS - padrões e casos de usoProcessamento em tempo real usando AWS - padrões e casos de uso
Processamento em tempo real usando AWS - padrões e casos de uso
 
IoT Hack Day: AWS Pop-up Loft Hack Series Sponsored by Intel
IoT Hack Day: AWS Pop-up Loft Hack Series Sponsored by IntelIoT Hack Day: AWS Pop-up Loft Hack Series Sponsored by Intel
IoT Hack Day: AWS Pop-up Loft Hack Series Sponsored by Intel
 
AWS October Webinar Series - Introducing Amazon Kinesis Firehose
AWS October Webinar Series - Introducing Amazon Kinesis FirehoseAWS October Webinar Series - Introducing Amazon Kinesis Firehose
AWS October Webinar Series - Introducing Amazon Kinesis Firehose
 
AWS Services Overview - September 2016 Webinar Series
AWS Services Overview - September 2016 Webinar SeriesAWS Services Overview - September 2016 Webinar Series
AWS Services Overview - September 2016 Webinar Series
 
Using CloudTrail to Enhance Compliance and Governance of S3 - AWS Online Tech...
Using CloudTrail to Enhance Compliance and Governance of S3 - AWS Online Tech...Using CloudTrail to Enhance Compliance and Governance of S3 - AWS Online Tech...
Using CloudTrail to Enhance Compliance and Governance of S3 - AWS Online Tech...
 
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
 
AWS IoT 핸즈온 워크샵 - 실습 3. AWS IoT Thing Shadow (김무현 솔루션즈 아키텍트)
AWS IoT 핸즈온 워크샵 - 실습 3. AWS IoT Thing Shadow (김무현 솔루션즈 아키텍트)AWS IoT 핸즈온 워크샵 - 실습 3. AWS IoT Thing Shadow (김무현 솔루션즈 아키텍트)
AWS IoT 핸즈온 워크샵 - 실습 3. AWS IoT Thing Shadow (김무현 솔루션즈 아키텍트)
 
Transparency and Auditing on AWS
Transparency and Auditing on AWSTransparency and Auditing on AWS
Transparency and Auditing on AWS
 

Viewers also liked

SMP_Dashboard
SMP_DashboardSMP_Dashboard
SMP_DashboardJoy Gomez
 
Strategic Initiative Optimization and Strategic Relationship Optimization
Strategic Initiative Optimization and Strategic Relationship OptimizationStrategic Initiative Optimization and Strategic Relationship Optimization
Strategic Initiative Optimization and Strategic Relationship Optimizationarnoldconsultants
 
Guide to Business Planning
Guide to Business PlanningGuide to Business Planning
Guide to Business PlanningSayeed Alam
 
How to Lead a Strategic Initiative
How to Lead a Strategic InitiativeHow to Lead a Strategic Initiative
How to Lead a Strategic InitiativeForum Corporation
 
Halifax Health ED Management Dashboard
Halifax Health ED Management DashboardHalifax Health ED Management Dashboard
Halifax Health ED Management DashboardLauren Peters
 
Getting started with amazon redshift - Toronto
Getting started with amazon redshift - TorontoGetting started with amazon redshift - Toronto
Getting started with amazon redshift - TorontoAmazon Web Services
 
Double Redundancy with AWS Direct Connect - Pop-up Loft Tel Aviv
Double Redundancy with AWS Direct Connect - Pop-up Loft Tel AvivDouble Redundancy with AWS Direct Connect - Pop-up Loft Tel Aviv
Double Redundancy with AWS Direct Connect - Pop-up Loft Tel AvivAmazon Web Services
 
AWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter Kemps
AWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter KempsAWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter Kemps
AWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter KempsAmazon Web Services
 
Building a "Cloud Ready" IT Team
Building a "Cloud Ready" IT TeamBuilding a "Cloud Ready" IT Team
Building a "Cloud Ready" IT TeamAmazon Web Services
 
Unlocking the Value of your Data Featuring AWS Enterprise Use Cases
Unlocking the Value of your Data Featuring AWS Enterprise Use CasesUnlocking the Value of your Data Featuring AWS Enterprise Use Cases
Unlocking the Value of your Data Featuring AWS Enterprise Use CasesAmazon Web Services
 
DAT203 Optimizing Your MongoDB Database on AWS - AWS re: Invent 2012
DAT203 Optimizing Your MongoDB Database on AWS - AWS re: Invent 2012DAT203 Optimizing Your MongoDB Database on AWS - AWS re: Invent 2012
DAT203 Optimizing Your MongoDB Database on AWS - AWS re: Invent 2012Amazon Web Services
 
AWS Summit Auckland 2014 | Moving to the Cloud. What does it Mean to your Bus...
AWS Summit Auckland 2014 | Moving to the Cloud. What does it Mean to your Bus...AWS Summit Auckland 2014 | Moving to the Cloud. What does it Mean to your Bus...
AWS Summit Auckland 2014 | Moving to the Cloud. What does it Mean to your Bus...Amazon Web Services
 
(DVO205) Monitoring Evolution: Flying Blind to Flying by Instrument
(DVO205) Monitoring Evolution: Flying Blind to Flying by Instrument(DVO205) Monitoring Evolution: Flying Blind to Flying by Instrument
(DVO205) Monitoring Evolution: Flying Blind to Flying by InstrumentAmazon Web Services
 
Enterprise Management for the AWS Cloud (DMG209) | AWS re:Invent 2013
Enterprise Management for the AWS Cloud (DMG209) | AWS re:Invent 2013Enterprise Management for the AWS Cloud (DMG209) | AWS re:Invent 2013
Enterprise Management for the AWS Cloud (DMG209) | AWS re:Invent 2013Amazon Web Services
 

Viewers also liked (20)

Service dashboard
Service dashboardService dashboard
Service dashboard
 
SMP_Dashboard
SMP_DashboardSMP_Dashboard
SMP_Dashboard
 
Strategic Initiative Optimization and Strategic Relationship Optimization
Strategic Initiative Optimization and Strategic Relationship OptimizationStrategic Initiative Optimization and Strategic Relationship Optimization
Strategic Initiative Optimization and Strategic Relationship Optimization
 
Guide to Business Planning
Guide to Business PlanningGuide to Business Planning
Guide to Business Planning
 
How to Lead a Strategic Initiative
How to Lead a Strategic InitiativeHow to Lead a Strategic Initiative
How to Lead a Strategic Initiative
 
Halifax Health ED Management Dashboard
Halifax Health ED Management DashboardHalifax Health ED Management Dashboard
Halifax Health ED Management Dashboard
 
Getting started with amazon redshift - Toronto
Getting started with amazon redshift - TorontoGetting started with amazon redshift - Toronto
Getting started with amazon redshift - Toronto
 
Security Day - Intro
Security Day - IntroSecurity Day - Intro
Security Day - Intro
 
Double Redundancy with AWS Direct Connect - Pop-up Loft Tel Aviv
Double Redundancy with AWS Direct Connect - Pop-up Loft Tel AvivDouble Redundancy with AWS Direct Connect - Pop-up Loft Tel Aviv
Double Redundancy with AWS Direct Connect - Pop-up Loft Tel Aviv
 
AWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter Kemps
AWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter KempsAWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter Kemps
AWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter Kemps
 
Scalability and Availability
Scalability and AvailabilityScalability and Availability
Scalability and Availability
 
Building a "Cloud Ready" IT Team
Building a "Cloud Ready" IT TeamBuilding a "Cloud Ready" IT Team
Building a "Cloud Ready" IT Team
 
Unlocking the Value of your Data Featuring AWS Enterprise Use Cases
Unlocking the Value of your Data Featuring AWS Enterprise Use CasesUnlocking the Value of your Data Featuring AWS Enterprise Use Cases
Unlocking the Value of your Data Featuring AWS Enterprise Use Cases
 
Analytics in the Cloud
Analytics in the CloudAnalytics in the Cloud
Analytics in the Cloud
 
DAT203 Optimizing Your MongoDB Database on AWS - AWS re: Invent 2012
DAT203 Optimizing Your MongoDB Database on AWS - AWS re: Invent 2012DAT203 Optimizing Your MongoDB Database on AWS - AWS re: Invent 2012
DAT203 Optimizing Your MongoDB Database on AWS - AWS re: Invent 2012
 
AWS Summit Auckland 2014 | Moving to the Cloud. What does it Mean to your Bus...
AWS Summit Auckland 2014 | Moving to the Cloud. What does it Mean to your Bus...AWS Summit Auckland 2014 | Moving to the Cloud. What does it Mean to your Bus...
AWS Summit Auckland 2014 | Moving to the Cloud. What does it Mean to your Bus...
 
(DVO205) Monitoring Evolution: Flying Blind to Flying by Instrument
(DVO205) Monitoring Evolution: Flying Blind to Flying by Instrument(DVO205) Monitoring Evolution: Flying Blind to Flying by Instrument
(DVO205) Monitoring Evolution: Flying Blind to Flying by Instrument
 
Understanding AWS Security
Understanding AWS SecurityUnderstanding AWS Security
Understanding AWS Security
 
Enterprise Management for the AWS Cloud (DMG209) | AWS re:Invent 2013
Enterprise Management for the AWS Cloud (DMG209) | AWS re:Invent 2013Enterprise Management for the AWS Cloud (DMG209) | AWS re:Invent 2013
Enterprise Management for the AWS Cloud (DMG209) | AWS re:Invent 2013
 
Stg205 amazon s3
Stg205 amazon s3Stg205 amazon s3
Stg205 amazon s3
 

Similar to Masterclass Application Services and Dynamic Dashboard

善用分析與推播訊息增加及留住用戶
善用分析與推播訊息增加及留住用戶善用分析與推播訊息增加及留住用戶
善用分析與推播訊息增加及留住用戶Amazon Web Services
 
Getting started with aws io t.compressed.compressed
Getting started with aws io t.compressed.compressedGetting started with aws io t.compressed.compressed
Getting started with aws io t.compressed.compressedAmazon Web Services
 
Intro To Serverless Application Architecture: Collision 2018
Intro To Serverless Application Architecture: Collision 2018Intro To Serverless Application Architecture: Collision 2018
Intro To Serverless Application Architecture: Collision 2018Amazon Web Services
 
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션Amazon Web Services Korea
 
Voxxed Athens 2018 - Serverless by Design
Voxxed Athens 2018 - Serverless by DesignVoxxed Athens 2018 - Serverless by Design
Voxxed Athens 2018 - Serverless by DesignVoxxed Athens
 
AWS Webcast - What is Cloud Computing?
AWS Webcast - What is Cloud Computing?AWS Webcast - What is Cloud Computing?
AWS Webcast - What is Cloud Computing?Amazon Web Services
 
Lessons learned before AWS - AWS Startup Tour - SV - 2010 - Dr. Werner Vogels
Lessons learned before AWS - AWS Startup Tour - SV - 2010 - Dr. Werner VogelsLessons learned before AWS - AWS Startup Tour - SV - 2010 - Dr. Werner Vogels
Lessons learned before AWS - AWS Startup Tour - SV - 2010 - Dr. Werner VogelsAmazon Web Services
 
Managing the Life Cycle of IT Products
Managing the Life Cycle of IT ProductsManaging the Life Cycle of IT Products
Managing the Life Cycle of IT ProductsAmazon Web Services
 
Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)
Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)
Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)Amazon Web Services
 
Grow and Retain Users with Analytics and Push Notifications
Grow and Retain Users with Analytics and Push NotificationsGrow and Retain Users with Analytics and Push Notifications
Grow and Retain Users with Analytics and Push NotificationsAmazon Web Services
 
ThingMonk 2016 - Concursus Event sourcing for the IOT By Tareq Abedrabbo & Do...
ThingMonk 2016 - Concursus Event sourcing for the IOT By Tareq Abedrabbo & Do...ThingMonk 2016 - Concursus Event sourcing for the IOT By Tareq Abedrabbo & Do...
ThingMonk 2016 - Concursus Event sourcing for the IOT By Tareq Abedrabbo & Do...OpenCredo
 
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015Amazon Web Services Korea
 
AWS Cloud Practitioner.PDF
AWS Cloud Practitioner.PDFAWS Cloud Practitioner.PDF
AWS Cloud Practitioner.PDFssuser82123d
 
AWS-Certified-Cloud-Practitioner wiz.pdf
AWS-Certified-Cloud-Practitioner wiz.pdfAWS-Certified-Cloud-Practitioner wiz.pdf
AWS-Certified-Cloud-Practitioner wiz.pdfManiBharathi833999
 
SecOps 2021 Today: Using AWS Services to Deliver SecOps - SID304 - re:Invent ...
SecOps 2021 Today: Using AWS Services to Deliver SecOps - SID304 - re:Invent ...SecOps 2021 Today: Using AWS Services to Deliver SecOps - SID304 - re:Invent ...
SecOps 2021 Today: Using AWS Services to Deliver SecOps - SID304 - re:Invent ...Amazon Web Services
 
Serverless Analytics and Monitoring For Your Cloud App
Serverless Analytics and Monitoring For Your Cloud AppServerless Analytics and Monitoring For Your Cloud App
Serverless Analytics and Monitoring For Your Cloud AppAtlassian
 
ENT314 Automate Best Practices and Operational Health for Your AWS Resources
ENT314 Automate Best Practices and Operational Health for Your AWS ResourcesENT314 Automate Best Practices and Operational Health for Your AWS Resources
ENT314 Automate Best Practices and Operational Health for Your AWS ResourcesAmazon Web Services
 

Similar to Masterclass Application Services and Dynamic Dashboard (20)

善用分析與推播訊息增加及留住用戶
善用分析與推播訊息增加及留住用戶善用分析與推播訊息增加及留住用戶
善用分析與推播訊息增加及留住用戶
 
Introduction to AWS IoT
Introduction to AWS IoTIntroduction to AWS IoT
Introduction to AWS IoT
 
Getting started with aws io t.compressed.compressed
Getting started with aws io t.compressed.compressedGetting started with aws io t.compressed.compressed
Getting started with aws io t.compressed.compressed
 
Intro To Serverless Application Architecture: Collision 2018
Intro To Serverless Application Architecture: Collision 2018Intro To Serverless Application Architecture: Collision 2018
Intro To Serverless Application Architecture: Collision 2018
 
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
 
Voxxed Athens 2018 - Serverless by Design
Voxxed Athens 2018 - Serverless by DesignVoxxed Athens 2018 - Serverless by Design
Voxxed Athens 2018 - Serverless by Design
 
AWS Webcast - What is Cloud Computing?
AWS Webcast - What is Cloud Computing?AWS Webcast - What is Cloud Computing?
AWS Webcast - What is Cloud Computing?
 
Lessons learned before AWS - AWS Startup Tour - SV - 2010 - Dr. Werner Vogels
Lessons learned before AWS - AWS Startup Tour - SV - 2010 - Dr. Werner VogelsLessons learned before AWS - AWS Startup Tour - SV - 2010 - Dr. Werner Vogels
Lessons learned before AWS - AWS Startup Tour - SV - 2010 - Dr. Werner Vogels
 
Managing the Life Cycle of IT Products
Managing the Life Cycle of IT ProductsManaging the Life Cycle of IT Products
Managing the Life Cycle of IT Products
 
Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)
Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)
Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)
 
Grow and Retain Users with Analytics and Push Notifications
Grow and Retain Users with Analytics and Push NotificationsGrow and Retain Users with Analytics and Push Notifications
Grow and Retain Users with Analytics and Push Notifications
 
ThingMonk 2016 - Concursus Event sourcing for the IOT By Tareq Abedrabbo & Do...
ThingMonk 2016 - Concursus Event sourcing for the IOT By Tareq Abedrabbo & Do...ThingMonk 2016 - Concursus Event sourcing for the IOT By Tareq Abedrabbo & Do...
ThingMonk 2016 - Concursus Event sourcing for the IOT By Tareq Abedrabbo & Do...
 
SEC301 Security @ (Cloud) Scale
SEC301 Security @ (Cloud) ScaleSEC301 Security @ (Cloud) Scale
SEC301 Security @ (Cloud) Scale
 
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
 
WhizCard-CLF-C01-06-09-2022.pdf
WhizCard-CLF-C01-06-09-2022.pdfWhizCard-CLF-C01-06-09-2022.pdf
WhizCard-CLF-C01-06-09-2022.pdf
 
AWS Cloud Practitioner.PDF
AWS Cloud Practitioner.PDFAWS Cloud Practitioner.PDF
AWS Cloud Practitioner.PDF
 
AWS-Certified-Cloud-Practitioner wiz.pdf
AWS-Certified-Cloud-Practitioner wiz.pdfAWS-Certified-Cloud-Practitioner wiz.pdf
AWS-Certified-Cloud-Practitioner wiz.pdf
 
SecOps 2021 Today: Using AWS Services to Deliver SecOps - SID304 - re:Invent ...
SecOps 2021 Today: Using AWS Services to Deliver SecOps - SID304 - re:Invent ...SecOps 2021 Today: Using AWS Services to Deliver SecOps - SID304 - re:Invent ...
SecOps 2021 Today: Using AWS Services to Deliver SecOps - SID304 - re:Invent ...
 
Serverless Analytics and Monitoring For Your Cloud App
Serverless Analytics and Monitoring For Your Cloud AppServerless Analytics and Monitoring For Your Cloud App
Serverless Analytics and Monitoring For Your Cloud App
 
ENT314 Automate Best Practices and Operational Health for Your AWS Resources
ENT314 Automate Best Practices and Operational Health for Your AWS ResourcesENT314 Automate Best Practices and Operational Health for Your AWS Resources
ENT314 Automate Best Practices and Operational Health for Your AWS Resources
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Recently uploaded

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 

Recently uploaded (20)

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 

Masterclass Application Services and Dynamic Dashboard

  • 1. Masterclass Application Services and Dynamic Dashboard Ryan Shuttleworth – Technical Evangelist @ryanAWS
  • 2. A technical deep dive beyond the basics Help educate you on how to get the best from AWS technologies Show you how things work and how to get things done Broaden your knowledge in ~45 mins Masterclass
  • 3. A grand title for a demonstration system that ties together services Show you how to use services like SNS and SQS to carry AWS events Use S3 as a web server to host dynamically generated content Why? Show you some tips and tricks you can use in your projects Application Services & Dynamic Dashboard
  • 4. So what are we going to run through?
  • 5. Services & topics EC2 Instances to run our application code SNS To publish events from our instances Autoscaling To generate events as our application scales up & down SQS To persist the event messages for processing S3 To store and serve content we create CloudFormation To build our system as a managed stack DynamoDB To store all events from application IAM To control the creation and management of resources
  • 6. To do what? Mimic an application that implements auto- scaling Trap, transport and store the scaling events produced Use a simple technique to produce pseudo- dynamic content from S3
  • 7. To do what? Mimic an application that implements auto- scaling Trap, transport and store the scaling events produced Use a simple technique to produce pseudo- dynamic content from S3 An exercise beyond compute and storage!
  • 8. There’s a movie you can view: http://youtu.be/lb9qPhxIVNI I’ll show this link again at the end
  • 9. This demo is just an illustration of what you can do with these services
  • 11. Built in this way… Auto scaling Group An arbitrary application that we can scale up and down
  • 12. Auto scaling Group SNS notification from auto scaling group SNS event body as JSON SQS queue to persist event Built in this way… Messages produced when instances are started or terminated
  • 13. Auto scaling Group SNS notification from auto scaling group SNS event body as JSON SQS queue to persist event DynamoDB table holding instance details Monitoring instance Auto scaling Group Built in this way…
  • 14. Auto scaling Group SNS notification from auto scaling group SNS event body as JSON SQS queue to persist event DynamoDB table holding instance details S3 bucket holding dashboard web content Auto scaling Group Monitoring instance Built in this way…
  • 15. EC2 Instance Contents DynamoDB table holding instance details Monitoring instance Python script Read SQS queue and generate data for S3 Static site HTML, Javascript, css reading data file Built in this way…
  • 16.
  • 17. SNS & SQS Essential glue between applications
  • 18. Simple Notification Service Reliable Redundant storage Scalable Unlimited number of messages Simple CreateTopic, Subscribe, Publish Flexible HTTP, Email, SQS Secure Topic policies Integrated EC2, CloudWatch, Auto Scaling
  • 19.
  • 20.
  • 21. A subscription by an SQS queue for messages published on this topic
  • 22.
  • 23.
  • 24.
  • 25. A CloudWatch alarm that will publish to an SNS topic
  • 26. Simple Queue Service Reliable Queues store messages across availability zones Scalable Designed for unlimited services reading unlimited number of messages Simple CreateQueue, SendMessage, ReceiveMessage, DeleteMessage Inexpensive Low per request fees Secure Authentication Performance Excellent throughput
  • 28. Python Application A >>> import boto >>> conn = boto.connect_sqs() >>> q = conn.create_queue('myqueue')
  • 29. Python Application A >>> import boto >>> conn = boto.connect_sqs() >>> q = conn.create_queue('myqueue') >>> from boto.sqs.message import Message >>> m = Message() >>> m.set_body('This is my first message.') >>> status = q.write(m)
  • 30. Python Application A Python Application B >>> import boto >>> conn = boto.connect_sqs() >>> q = conn.create_queue('myqueue') >>> from boto.sqs.message import Message >>> m = Message() >>> m.set_body('This is my first message.') >>> status = q.write(m) >>> m = q.read(60) >>> m.get_body() Message not visible to other applications for 60 seconds
  • 31. Python Application A Python Application B X >>> import boto >>> conn = boto.connect_sqs() >>> q = conn.create_queue('myqueue') >>> from boto.sqs.message import Message >>> m = Message() >>> m.set_body('This is my first message.') >>> status = q.write(m) >>> m = q.read(60) >>> m.get_body() >>> q.delete_message(m) Message not visible to other applications for 60 seconds
  • 32. The core trick… Auto-scaling SNS SQS Event notifications Persistence of event data
  • 33. The core trick… Auto-scaling SNS SQS Event notifications Persistence of event data You can do this from anything to anything
  • 34. as-create-launch-config --image-id <ami id> --instance-type t1.micro --group <security group> --launch-config my-launch-cfg Create a Auto Scaling launch configuration:
  • 35. as-create-auto-scaling-group my-as-group --availability-zones <az list> --launch-configuration my-launch-cfg --max-size 20 --min-size 1 Create a Auto Scaling group:
  • 39. A subscription by an SQS queue for messages published on this topic
  • 40. { "Type" : "Notification", "MessageId" : <message id>, "TopicArn" : <arn>, "Subject" : "Auto Scaling: termination for group "SNS-Dashboard-ASG"", "Message" : ”…", "Timestamp" : "2013-05-21T09:13:09.555Z", "SignatureVersion" : "1", "Signature" : ”…", "SigningCertURL" : "https://sns.us-east- 1.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem", "UnsubscribeURL" : "https://sns.us-east- 1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east- 1:241861486983:SNS-Dashboard-ASNotifications-7GU41DCQW8HC:ed30bf6e-582c-4fd2-8e07- 28f7d1ac6278" }
  • 41. { "Type" : "Notification", "MessageId" : <message id>, "TopicArn" : <arn>, "Subject" : "Auto Scaling: termination for group "SNS-Dashboard-ASG"", "Message" : ”…", "Timestamp" : "2013-05-21T09:13:09.555Z", "SignatureVersion" : "1", "Signature" : ”…", "SigningCertURL" : "https://sns.us-east- 1.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem", "UnsubscribeURL" : "https://sns.us-east- 1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east- 1:241861486983:SNS-Dashboard-ASNotifications-7GU41DCQW8HC:ed30bf6e-582c-4fd2-8e07- 28f7d1ac6278" } {"StatusCode":"InProgress","Service":"AWS Auto Scaling","AutoScalingGroupName":"SNS-Dashboard- ApplicationServerGroup-K61R5797WCMA","Description":"Terminating EC2 instance: i-8bb679eb","ActivityId":"dfc1181b- 0df8-47dc-aa8d- 79e13b8a33d1","Event":"autoscaling:EC2_INSTANCE_TERMINATE","Details":{},"AutoScalingGroupARN":"arn:aws:autoscali ng:us-east-1:241861486983:autoScalingGroup:77ef2778-ded1-451a-a630-6a35c8e67916:autoScalingGroupName/SNS-Dashboard- ApplicationServerGroup-K61R5797WCMA","Progress":50,"Time":"2013-05- 21T09:13:09.442Z","AccountId":"241861486983","RequestId":"dfc1181b-0df8-47dc-aa8d- 79e13b8a33d1","StatusMessage":"","EndTime":"2013-05-21T09:13:09.442Z","EC2InstanceId":"i- 8bb679eb","StartTime":"2013-05-21T09:12:20.323Z","Cause":"At 2013-05-21T09:12:02Z a user request explicitly set group desired capacity changing the desired capacity from 5 to 1. At 2013-05-21T09:12:19Z an instance was taken out of service in response to a difference between desired and actual capacity, shrinking the capacity from 5 to 1. At 2013-05-21T09:12:19Z instance i-8fdbafed was selected for termination. At 2013-05-21T09:12:19Z instance i-8ddbafef was selected for termination. At 2013-05-21T09:12:20Z instance i-8bb679eb was selected for termination. At 2013-05-21T09:12:20Z instance i-85b778e5 was selected for termination."}
  • 44. Subscription Notification Topic SQS Queue Auto Scaling Group "NotificationConfiguration" : { "TopicARN" : { …"ASNotifications" }, "NotificationTypes” [ "autoscaling:EC2_INSTANCE_LAUNCH”, "autoscaling:EC2_INSTANCE_TERMINATE" ] }, Adding a notification to a topic for Auto Scaling group events
  • 45. Subscription Notification Topic SQS Queue Auto Scaling Group "ASNotifications" : { "Type" : "AWS::SNS::Topic", "Properties" : { "Subscription" : [ { "Endpoint" : { … ASNotificationsQueue …}, "Protocol" : "sqs" } ] } }, "NotificationConfiguration" : { "TopicARN" : { …"ASNotifications" }, "NotificationTypes” [ "autoscaling:EC2_INSTANCE_LAUNCH”, "autoscaling:EC2_INSTANCE_TERMINATE" ] }, Subscription to topic from an SQS queue
  • 46. We now have events in SQS Let’s do something with them…
  • 47. Auto scaling Group SNS notification from auto scaling group SNS event body as JSON SQS queue to persist event Built in this way… Messages produced when instances are started or terminated
  • 48. Auto scaling Group SNS notification from auto scaling group SNS event body as JSON SQS queue to persist event DynamoDB table holding instance details Monitoring instance Auto scaling Group Built in this way…
  • 49. Auto scaling Group SNS notification from auto scaling group SNS event body as JSON SQS queue to persist event DynamoDB table holding instance details S3 bucket holding dashboard web content Auto scaling Group Monitoring instance Built in this way…
  • 50. EC2 Instance Contents DynamoDB table holding instance details Monitoring instance Python script Read SQS queue and generate data for S3 Static site HTML, Javascript, css reading data file Built in this way…
  • 51. Read messages from SQS queue Write data to DynamoDB table Form JSON file from updated results Write file to S3 for javascript to interpret
  • 54. # Connect to SQS and open queue sqs = boto.connect_sqs() queue = sqs.get_queue(sqs_queue_name) queue.set_message_class(RawMessage) while True: rs = queue.get_messages(num_messages=10) for raw_message in rs: # Parse JSON message envelope = json.loads(raw_message.get_body()) message = json.loads(envelope['Message']) # Trap the EC2_INSTANCE_LAUNCH event if message['Event'] == 'autoscaling:EC2_INSTANCE_LAUNCH': save_instance(message['EC2InstanceId'], ddb_table_name) # Trap the EC2_INSTANCE_TERMINATE event elif message['Event'] == 'autoscaling:EC2_INSTANCE_TERMINATE': delete_instance(message['EC2InstanceId'], ddb_table_name) # Delete the message from the queue and continue polling queue.delete_message(raw_message)
  • 55. # Connect to SQS and open queue sqs = boto.connect_sqs() queue = sqs.get_queue(sqs_queue_name) queue.set_message_class(RawMessage) while True: rs = queue.get_messages(num_messages=10) for raw_message in rs: # Parse JSON message envelope = json.loads(raw_message.get_body()) message = json.loads(envelope['Message']) # Trap the EC2_INSTANCE_LAUNCH event if message['Event'] == 'autoscaling:EC2_INSTANCE_LAUNCH': save_instance(message['EC2InstanceId'], ddb_table_name) # Trap the EC2_INSTANCE_TERMINATE event elif message['Event'] == 'autoscaling:EC2_INSTANCE_TERMINATE': delete_instance(message['EC2InstanceId'], ddb_table_name) # Delete the message from the queue and continue polling queue.delete_message(raw_message)
  • 56. # Connect to SQS and open queue sqs = boto.connect_sqs() queue = sqs.get_queue(sqs_queue_name) queue.set_message_class(RawMessage) while True: rs = queue.get_messages(num_messages=10) for raw_message in rs: # Parse JSON message envelope = json.loads(raw_message.get_body()) message = json.loads(envelope['Message']) # Trap the EC2_INSTANCE_LAUNCH event if message['Event'] == 'autoscaling:EC2_INSTANCE_LAUNCH': save_instance(message['EC2InstanceId'], ddb_table_name) # Trap the EC2_INSTANCE_TERMINATE event elif message['Event'] == 'autoscaling:EC2_INSTANCE_TERMINATE': delete_instance(message['EC2InstanceId'], ddb_table_name) # Delete the message from the queue and continue polling queue.delete_message(raw_message)
  • 57. # Connect to SQS and open queue sqs = boto.connect_sqs() queue = sqs.get_queue(sqs_queue_name) queue.set_message_class(RawMessage) while True: rs = queue.get_messages(num_messages=10) for raw_message in rs: # Parse JSON message envelope = json.loads(raw_message.get_body()) message = json.loads(envelope['Message']) # Trap the EC2_INSTANCE_LAUNCH event if message['Event'] == 'autoscaling:EC2_INSTANCE_LAUNCH': save_instance(message['EC2InstanceId'], ddb_table_name) # Trap the EC2_INSTANCE_TERMINATE event elif message['Event'] == 'autoscaling:EC2_INSTANCE_TERMINATE': delete_instance(message['EC2InstanceId'], ddb_table_name) # Delete the message from the queue and continue polling queue.delete_message(raw_message)
  • 59. def save_instance(instance_id, ddb_table_name): instance = get_instance(instance_id) # Connect to DynamodB (using key from env) and get table ddb = boto.connect_dynamodb() table = ddb.get_table(ddb_table_name) # Create a new record for this instance item = table.new_item( hash_key=instance.id, attrs = { 'pub_hostname': instance.public_dns_name, 'pub_ip': instance.ip_address, 'priv_hostname': instance.private_dns_name, 'priv_ip': instance.private_ip_address, 'ami_id': instance.image_id, 'region': instance.region.name, 'availability_zone' : instance.placement, 'terminated': 'false' } ) # Save the item to DynamoDB item.put()
  • 60. def save_instance(instance_id, ddb_table_name): instance = get_instance(instance_id) # Connect to DynamodB (using key from env) and get table ddb = boto.connect_dynamodb() table = ddb.get_table(ddb_table_name) # Create a new record for this instance item = table.new_item( hash_key=instance.id, attrs = { 'pub_hostname': instance.public_dns_name, 'pub_ip': instance.ip_address, 'priv_hostname': instance.private_dns_name, 'priv_ip': instance.private_ip_address, 'ami_id': instance.image_id, 'region': instance.region.name, 'availability_zone' : instance.placement, 'terminated': 'false' } ) # Save the item to DynamoDB item.put()
  • 61. def save_instance(instance_id, ddb_table_name): instance = get_instance(instance_id) # Connect to DynamodB (using key from env) and get table ddb = boto.connect_dynamodb() table = ddb.get_table(ddb_table_name) # Create a new record for this instance item = table.new_item( hash_key=instance.id, attrs = { 'pub_hostname': instance.public_dns_name, 'pub_ip': instance.ip_address, 'priv_hostname': instance.private_dns_name, 'priv_ip': instance.private_ip_address, 'ami_id': instance.image_id, 'region': instance.region.name, 'availability_zone' : instance.placement, 'terminated': 'false' } ) # Save the item to DynamoDB item.put() Item ‘fields’ Item key
  • 62. def save_instance(instance_id, ddb_table_name): instance = get_instance(instance_id) # Connect to DynamodB (using key from env) and get table ddb = boto.connect_dynamodb() table = ddb.get_table(ddb_table_name) # Create a new record for this instance item = table.new_item( hash_key=instance.id, attrs = { 'pub_hostname': instance.public_dns_name, 'pub_ip': instance.ip_address, 'priv_hostname': instance.private_dns_name, 'priv_ip': instance.private_ip_address, 'ami_id': instance.image_id, 'region': instance.region.name, 'availability_zone' : instance.placement, 'terminated': 'false' } ) # Save the item to DynamoDB item.put()
  • 63. 63
  • 64. def delete_instance(instance_id, ddb_table_name): # Connect to DynamodB and get table ddb = boto.connect_dynamodb() table = ddb.get_table(ddb_table_name) # Get the item to soft delete item = table.get_item(instance_id) # Update the terminated flag item['terminated'] = 'true' # Save the item to DynamoDB item.put()
  • 65. def delete_instance(instance_id, ddb_table_name): # Connect to DynamodB and get table ddb = boto.connect_dynamodb() table = ddb.get_table(ddb_table_name) # Get the item to soft delete item = table.get_item(instance_id) # Update the terminated flag item['terminated'] = 'true' # Save the item to DynamoDB item.put()
  • 66. def delete_instance(instance_id, ddb_table_name): # Connect to DynamodB and get table ddb = boto.connect_dynamodb() table = ddb.get_table(ddb_table_name) # Get the item to soft delete item = table.get_item(instance_id) # Update the terminated flag item['terminated'] = 'true' # Save the item to DynamoDB item.put()
  • 67. 67
  • 69. def write_instances_to_s3(instances_json, s3_output_bucket, s3_output_key): # Connect to S3 and get the output bucket s3 = boto.connect_s3() output_bucket = s3.get_bucket(s3_output_bucket) # Create a key to store the instances_json text k = Key(output_bucket) k.key = s3_output_key k.set_metadata("Content-Type", "text/plain") k.set_contents_from_string(instances_json)
  • 70. def write_instances_to_s3(instances_json, s3_output_bucket, s3_output_key): # Connect to S3 and get the output bucket s3 = boto.connect_s3() output_bucket = s3.get_bucket(s3_output_bucket) # Create a key to store the instances_json text k = Key(output_bucket) k.key = s3_output_key k.set_metadata("Content-Type", "text/plain") k.set_contents_from_string(instances_json)
  • 72. …and now we have data in S3 we can build a web view…
  • 75. Instances.txt S3 bucket From monitoring app HTML/CSS/JS Web page load from S3 jQuery get instance data from S3 Periodic refresh
  • 79. jQuery.getJSON() Javascript functions in index page hosted in S3 Built around an AJAX ‘get’ of instances JSON in S3
  • 81.
  • 82. Want to try this yourself? View the video tutorial here: http://youtu.be/lb9qPhxIVNI And grab the CloudFormation template here: http://bootstrapping-assets.s3.amazonaws.com/as- register-instances.template
  • 83. 1. Create security groups 2. Create a notification of type SQS 3. Create SQS queue 4. Create auto-scaling launch configs & groups 5. Add auto-scaling notifications to SQS SNS notification 6. Create S3 bucket 7. Create DynamoDB table 8. Start instances 9. Bootstrap monitoring application
  • 85. Pub/Sub models with SNS S3 & pseudo dynamic content More than compute & storage Reliable delivery with SQS DynamoDB for high performance Summary
  • 86. Pub/Sub models with SNS S3 & pseudo dynamic content More than compute & storage Reliable delivery with SQS Given you some ideas? Introduced you to some handy services? Helped you with some CloudFormation? DynamoDB for high performance Summary