Unit 4: Cloud platforms in industry
Cloud Computing notes · PTU syllabus (UGCA1936)
On this page
Unit summary
Three companies dominate cloud platforms: Amazon, Google and Microsoft. This unit surveys what each offers: Amazon Web Services for infrastructure services, Google App Engine for building web applications on Google's platform, and Microsoft Azure for compute, storage and databases.
After this unit you can
- Describe the compute, storage, communication and additional services of Amazon Web Services
- Explain the architecture, core concepts, life cycle and cost model of Google App Engine
- Explain the core concepts of Microsoft Azure, SQL Azure and the Windows Azure Platform Appliance
- Compare the three platforms and choose one for a given requirement
PTU syllabus topics
- Amazon Web Services: compute
- storage
- communication and additional services
- Google App Engine: architecture and core concepts
- application life cycle and cost model
- Microsoft Azure: core concepts
- SQL Azure and the Windows Azure Platform Appliance
Topic 1
Amazon Web Services: compute services
AWS is the largest IaaS-led cloud, offering services on a pay-as-you-go basis from data centres in many regions.
- Amazon EC2 (Elastic Compute Cloud): virtual servers called instances, launched from an Amazon Machine Image (AMI), in many instance types. You choose the operating system, size and region, and can add auto scaling and elastic load balancing.
- AWS Lambda: runs your code in response to events without managing servers (serverless).
- Elastic Beanstalk: deploys web applications without handling the infrastructure.
Topic 2
Amazon Web Services: storage, communication and additional services
- Amazon S3 (Simple Storage Service): object storage in containers called buckets, designed for very high durability, used for backups, images and static websites.
- Amazon EBS (Elastic Block Store): disk volumes attached to EC2 instances.
- Amazon Glacier: very cheap archive storage for rarely used data.
- Communication services: SQS (simple queue service) passes messages between applications, SNS (simple notification service) sends notifications, and SES (simple email service) sends email.
- Additional services: RDS (managed relational databases), DynamoDB (NoSQL), CloudFront (content delivery network), VPC (private virtual network), IAM (identity and access management) and CloudWatch (monitoring).
| Aspect | Compute | Storage | Communication |
|---|---|---|---|
| Service | EC2, Lambda, Elastic Beanstalk | S3, EBS, Glacier | SQS, SNS, SES |
| What it does | Run servers and code | Store objects, disks and archives | Pass messages, alerts and email |
Example
Hosting a notes website on AWS: the website files go in S3, a small EC2 instance runs the application, RDS stores the data, CloudFront serves pages quickly across India and CloudWatch raises an alert if the server is overloaded. Each service is billed separately by usage.
Topic 3
Google App Engine
Google App Engine (GAE) is a PaaS for building and running web applications on Google's infrastructure, without managing servers. Architecture and core concepts:
- Infrastructure: applications run on Google's scalable data centres and are replicated automatically; App Engine adds or removes instances as traffic changes.
- Runtime environment: applications run in a secure sandbox that limits what code can do, supporting languages such as Python, Java, Go and PHP.
- Datastore: a scalable, schemaless NoSQL store that holds the application's data.
- Application services: ready-made services for caching (Memcache), fetching web pages (URL Fetch), sending mail, image manipulation, background task queues and user authentication.
- 1Develop and test locally
Use the local development server
- 2Deploy
Upload the application to App Engine
- 3Run and scale
App Engine serves requests and adds instances as needed
- 4Monitor
Use the administration dashboard for traffic, errors and logs
- 5Update
Deploy new versions without downtime
Cost model: every application gets a free quota of resources each day; usage beyond it is billed by consumption of instance hours, storage, bandwidth and other services. You can set a daily spending limit to avoid surprise bills.
Topic 4
Microsoft Azure
Microsoft Azure is Microsoft's cloud platform, offering IaaS, PaaS and SaaS. Azure core concepts:
- Compute: Web roles host web applications, worker roles run background processing, and virtual machine roles run your own images.
- Storage: blobs for files, tables for structured NoSQL data and queues for messages between roles.
- Fabric controller: the Azure component that manages servers, deployment and health of every role.
- SQL Azure: a relational database service based on SQL Server. It is managed by Microsoft, so there is no server to install, and it is replicated for availability. Use familiar SQL and tools.
- Windows Azure Platform Appliance: a pre-built combination of Azure software and hardware that lets large customers and service providers run Azure technology in their own data centres, giving cloud benefits with local control.
| Aspect | Amazon Web Services | Google App Engine | Microsoft Azure |
|---|---|---|---|
| Model | Mainly IaaS with many services | PaaS | IaaS and PaaS |
| Compute | EC2, Lambda | Application instances in a sandbox | Web, worker and VM roles |
| Storage and data | S3, EBS, RDS, DynamoDB | Datastore | Blob, table, queue and SQL Azure |
| Billing | Pay as you go | Free quota, then usage | Pay as you go |
Example
Choosing a platform: a team that wants full control of servers and many services picks AWS. A small team building a web app with no server management picks App Engine. A company already using Windows Server and SQL Server picks Azure for easy integration.
Exam tip
Learn one example service for each category on each platform: AWS (EC2, S3, SQS), Google (App Engine, Datastore), Azure (web role, blob, SQL Azure).
Key terms
- EC2
- Amazon's virtual server service
- S3
- Amazon's object storage service
- AMI
- A template used to launch an EC2 instance
- App Engine
- Google's platform for building and running web applications
- Datastore
- App Engine's scalable NoSQL data store
- Web role and worker role
- Azure compute roles for web front ends and background work
- SQL Azure
- Microsoft's managed relational database in the cloud
Quick revision
- AWS: EC2 (compute), S3 and EBS (storage), SQS, SNS and SES (communication).
- App Engine: sandboxed runtime, Datastore, application services; free quota then billing.
- Azure: web, worker and VM roles; blobs, tables and queues; SQL Azure; Platform Appliance.
- App Engine and Azure web and worker roles are PaaS; EC2 is IaaS.
Important exam questions
Practice questions written to the PTU exam pattern for this unit's syllabus: short answers (Section A style) and long answers (Sections B and C style).
Short-answer questions
- Q1.What is Amazon EC2?
- Q2.What is an AMI?
- Q3.Differentiate S3 and EBS.
- Q4.What is the use of SQS?
- Q5.What is Google App Engine?
- Q6.What is the App Engine Datastore?
- Q7.What are web roles and worker roles in Azure?
- Q8.What is SQL Azure?
Long-answer questions
- Q1.Explain the compute, storage, communication and additional services of Amazon Web Services.
- Q2.Explain the architecture and core concepts of Google App Engine.
- Q3.Describe the application life cycle and the cost model of Google App Engine.
- Q4.Explain the core concepts of Microsoft Azure.
- Q5.Write about SQL Azure and the Windows Azure Platform Appliance.
- Q6.Compare AWS, Google App Engine and Microsoft Azure.
Stuck on this unit?
Message SBS on WhatsApp for help with Cloud Computing, or to ask about studying BCA at Synetic.
