Slides for a discussion about Cloud Computing organised by the Isle of Man Branch of the BCS in September 2012. These slides introduce Cloud Computing, delve into some detail on Mcirosoft Azue and Amazon Web Services and pose some questions as to suitability, consideration and risks to be discussed. This talk was presented by Arron Clague from Synapse Consulting and Owen Cutajar from Intelligence Ltd
3. Defining Cloud Computing
Cloud computing is a model for building out
loosely coupled systems which run at scale,
with elastic resourcing properties.
4. Defining Cloud Computing
Service Models
•Infrastructure as a Service (IaaS)
•Platform as a Service (PaaS)
•Software as a Service (SaaS)
Deployment Models
•Private Cloud
•Community Cloud
•Public Cloud
•Hybrid Cloud
5. Elasticity and Scalability
Allocated Load
Not Enough IT-capacities Forecast
Power
IT CAPACITY
Too Much
Power
Actual Load
TIME
6. How the Cloud can help
• Reduce upfront cost (no CapEx)
• Reduce ongoing expenses
• JIT infrastructure if things go well (or not)
• Efficiently test multiple scenarios
• Leverage repeatable “web scale” patterns
7. Some Use Cases
• Mobile backends
• Campaign Support Apps
• Geographically diverse apps
• Examples
1. The New York Times used 100 Amazon EC2 instances and a Hadoop
application to process 4 TB of raw image TIFF data (stored in S3) into 11
million finished PDFs in the space of 24 hours at a computation cost of
about $240 (not including bandwidth).
2. Scale to demand (next slide)
24. Simple Storage Service
• Cloud based file storage
• Simple API to CRUD
• Unlimited capacity
• Excellent for static web content
• Files are URL-accessible
• Move BLOBS from RDS
25. Elastic Compute Cloud (EC2)
• Hardware virtualisation in the cloud
• Various sized servers
• All major operating systems
• Uses Elastic Block Store (EBS) service
• Provision, configure, start and stop
instances through browser or API
• Full operating system access
26. Relational Database Service (RDS)
• Specialised RDBMS hosting
• Supports MySQL, Oracle, SQL Server
• Automated backups
• Live replication for fail-over support
• Transparent to your apps
• DB provisioning from your
browser or through API
27. SimpleDB & DynamoDB
• NOSQL databases
• Simple DB
– Excellent for small amount of structured data
– 10GB limit per table
• DyanamoDB
– Hosted on SSD
– No size or request limitation
28. CloudWatch
• Scalable unified resource monitoring
• Monitor EC2, RDS and any other AWS
resource
• Also monitor your own application
• Create your own alarm conditions
• Flexible notification system via Simple
Notification Service (SNS)
29. Auto Scaling
• Works with CloudWatch
• Automatically provision additional instances
when load increases
• Shutdown instances when load decreases
• Pre-emptive scaling
• Monitoring health of EC2
instances
30. Elastic Load Balancing (ELB)
• Scaled fault-tolerant load balancing
• Works with Auto Scaling and CloudWatch
• Load balances request over a set of EC2 instances
• Can monitor health of EC2 instances and
shutdown non-performance instances
• Can trigger scale-up and
scale-down events
31. Elastic Beanstalk (EBS)
• Platform as a Service (PaaS)
• Bundles up services provided by EC2, S3,
CloudWatch, Auto Scaling and ELB
• Browser based provisioning of production
ready applications
• Supports live hot-swapping
for applications
• Java, .Net, Python, PHP only
32. Simple Notification Service (SNS)
• Scalable fault tolerant messaging
• Public-Subscribe model (push)
• Messages are persisted and can survive
common outage scenarios
• Notifications via
– HTTP
– SMTP
– SMS
– SQS
33. Simple Queue Service (SQS)
• Compliments SNS functionality
• Queue model (FIFO)
• Message publishers and consumers
inside and outside of AWS
• Using SNS and SQS paramount for
applications to ensure
– Scalability
– Reliability
– Resilience
34. Simple Workflow Service (SWF)
• Coordinated synchronous and asynchronous
work in distributed application
• Supports automated and manual (human-
based) tasks
• Like SNS and SQS, using SWF as part of your
application can help build
“web-scale” applications
35. Elastic MapReduce (EMR)
• “Big Data”
• Hosted Apache Hadoop environment
• Uses EC2, S3 and DynamoDB service
• Specify the number and type of EC2 instances
used
• Full control via API
• Examples: Scientific Analysis,
Financial Analysis, Content indexing
36.
37. Discussion Points
• Stateless development is key ?
• Can you abstract away from the
underlying technology – Cloud Foundry ?
• Remember that platforms are still
evolving…
• Rate of change of platforms is high
• Need to factor in existing staff Skill Base