Cloud Computing - Challenges & Opportunities


Published on

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

1 Comment
1 Like
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Cloud Computing - Challenges & Opportunities

  1. 1. Cloud Computing Challenges and Opportunities ofMoving to Cloud Based Computing Arron Clague Owen Cutajar Bsc(Hons) MBCS Intelligence Ltd Synapse Consulting Email : Email : Twitter : OwenC Twitter : arroncx Skype: owencutajar
  2. 2. Defining Cloud Computing
  3. 3. Defining Cloud ComputingCloud computing is a model for building outloosely coupled systems which run at scale,with elastic resourcing properties.
  4. 4. Defining Cloud ComputingService 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. 5. Elasticity and Scalability Allocated Load Not Enough IT-capacities Forecast PowerIT CAPACITY Too Much Power Actual Load TIME
  6. 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. 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)
  8. 8. Scale to demand-Financial Services
  9. 9. Current playing field • Microsoft Azure • Amazon Web Services • Google Cloud Platform• VMware vCloud/vFabric/Cloud Foundry
  10. 10. Azure Deep Dive
  11. 11. Windows Azure provides a ‘pay-as-you-go’ scale out application platform Intelligent Network Load Balancer Stateless Web and/or Application Servers Stateless ‘Worker’ Machines State Key/Value Partitioned Shared Queues Tier Datastores RDBMS Filesystem
  12. 12. Representational State Transfer
  13. 13. Windows Azure Enterprise
  14. 14. Service BusClient Service
  15. 15. VMware vFabric
  16. 16. AWS Service Overview
  17. 17. AWS Global Infrastructure
  18. 18. 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
  19. 19. 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
  20. 20. 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
  21. 21. 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
  22. 22. 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)
  23. 23. 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
  24. 24. 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
  25. 25. 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
  26. 26. 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
  27. 27. 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
  28. 28. 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
  29. 29. 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
  30. 30. 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