Application Runtime and Frameworks
Application Runtime and Frameworks:
An application runtime is the software environment where applications run and are hosted in
the cloud. It supports programming languages like Java (JRE), Python (Python Interpreter),
and Ruby (Ruby Interpreter).
A framework is a collection of tools, libraries, and rules that helps developers build
applications faster and easier.
Examples:
Spring – Java framework
Django – Python framework
Laravel – PHP framework
Google App Engine (GAE)
Google App Engine is a Platform-as-a-Service (PaaS) offered by Google. It includes both
application runtime environments and support for frameworks.
Key Features of Google App Engine:
1. Runtimes
GAE provides pre-configured runtime environments for popular languages like Python,
Java, PHP, Node.js, Go, etc.
You can deploy code without managing servers or infrastructure.
2. Sandbox Environment
Apps run in a secure sandbox, isolated from other apps and the underlying operating system.
It by preventing direct access to system files or unauthorized processes. Apps can send and
receive data using HTTP requests.
Your Code → Deploy → GAE creates Runtime Container → Handles Requests → Executes
Code → Sends Response → Scales Automatically
3. Web Framework Support
GAE supports a wide range of web development frameworks, webapp2 for Python and It
other frameworks written in pure Python such as Django, CherryPy, Pylon, webPy and
WebPy2.
4. Data store
It provide No SQL for data storage services.
5. Authentication
The GAE can integrated with google account for user authentication.
6. URL Fetch Services
The URL fetch services allow applications to access resources on the internet.
7. Email Services
The Email services allows application to send email messages programmatically.
8. Image manipulating service
This service allows applications to resize, crop, rotate, flip and enhance images.
Eg: Blobstore.
9. Memcache
Used to store temporary data in memory for faster access, without needing permanent
storage.
Examples of use: Google Maps API, Weather API, Dictionary API.
10. Task Queues
Allows background processing by breaking work into small tasks, and placing them in a task
queue to be handled later.
11. Scheduled Task Services
The Google App Engine provide service for scheduling task that can be triggered at specific
or regular interval of time.eg: Cron Job.
Windows Azure Web Sites
The Windows Azure Web Sites is a cloud service that helps you host web applications
easily. It is a type of Platform as a Service (PaaS), which means you don’t need to manage
hardware or servers.
There are two hosting options:
In the shared option, your website runs on a server that is shared with websites
from other users.
In the standard option, your website runs on your own virtual machines (VMs),
giving you more control and better performance.
It supports multiple programming languages, such as ASP.NET, PHP, Node.js, and
Python.
Queuing Services
Cloud queuing services let different parts of an app to communicate without being directly
connected. This technique is called de-coupling. It supports asynchronous processing and acts
as temporary storage during high traffic.
These services handle small messages (a few KB), allow sending and receiving at the same
time, and store messages for a few days to weeks.
Amazon Simple Queue Service
Amazon Simple Queue Service (SQS) is a cloud-based message queue from Amazon. It
allows apps to send, store, and receive messages without connecting directly.
Supports messages up to 256 KB.
Allows multiple senders and receivers.
Locks messages while they are being processed to prevent duplication.
Does not guarantee messages will be delivered in FIFO (First In, First Out) order.
If FIFO is needed, apps can add sequence numbers to sort messages after receiving
them from a queue.
Google Task Queues
Google Task Queues let apps do background work like sending emails or processing data.
Each task has a URL to run the work and optional data.
There are two types:
Push Queue – Sends tasks automatically at a set speed.
Pull Queue – App picks tasks and finishes them within a time limit.
It helps apps work smoothly and separately from the main process.
Windows Azure Queue Service
Windows Azure Queue Service is a message queue from Microsoft.
It stores many messages that can be accessed from anywhere via authenticated calls
using HTTP or HTTPS.
A single message size can be up to 64 KB in size.
Email Services:
Cloud based email services allows hosted application to send emails.
Amazon Simple Email Service (SES)
Amazon SES is a cloud-based email-sending service from Amazon.
It is used to send bulk emails (like marketing) and transactional emails (like order
confirmations).
It is outbound-only, meaning it only sends emails, not receive.
SES uses content filters to help keep emails out of spam folders and improve delivery.
You can use SES through the web console, SMTP, or the SES API.
Google Email Service (App Engine Mail Service)
Google Email Service is part of Google App Engine.
It allows apps to send emails on behalf of app admins or Google account users.
Apps can also receive emails, which are delivered to the app as HTTP requests.
The Mail service is used to send messages directly from within the app.
Notification Services
Cloud-based notification services or push messaging services allows apps send push
messages to internet connected smart devices like phones and tablets. It is bases on publish
subscribe models (one send many receive). Whenever new content available it push the
information to consumer. And keep consumer more engaged.
Google Cloud Messaging (GCM)
GCM lets Android apps send and receive messages from servers. It’s used to notify apps
about new data and supports messages up to 4 KB. It also works with Chrome apps and
extensions to deliver cloud messages.
Windows Azure Notification Hubs
It is a push notification service (PNS) from Microsoft. It provides a common interface to
send notifications to all major mobile platforms like Android, iOS, and Windows.
The platform’s notification system (PNS) works with the Notification Hub. Each hub uses
credentials to connect to the PNS and send push notifications to applications.
Media Services
Cloud providers offer media services for manipulating or Transcoding media such as images,
videos and audios etc.
Amazon Elastic Transcoder
Amazon Elastic Transcoder is a cloud service that converts video files to different formats
for phones, tablets, and computers.
Uses presets (readymade settings) to make conversion easy
Can process multiple videos at once using pipelines. It is video processing path.
Stores input/output videos in Amazon S3
To convert, you choose:
o Input and output locations
o A preset (like mobile or HD)
o Optional settings (like thumbnails or video speed)
Google Image Manipulation Service
It is a Part of Google App Engine, used to edit images (resize, crop, rotate, flip, enhance).
Accepts images from App Engine, Blobstore, or Cloud Storage.
Supports many formats like JPEG, PNG, GIF, BMP, TIFF.
Returns images in JPEG, PNG, or WEBP format after processing.
Windows Azure Media Services
A service from Microsoft for working with media content.
It supports various media tasks like encoding, format conversion, content protection,
and streaming.
To use Azure Media Services, you create a job to process media (such as convert,
encode, or encrypt).
Each job has tasks with input, output, and settings.
The final media can be downloaded or streamed.