Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
4 views9 pages

Mod 5

Microsoft Azure is a cloud computing platform that offers services for application development and management through a global network. It includes features like Azure Fabric for resource management, various storage options, and support for virtual machines called roles. Additionally, it integrates with emerging cloud platforms like Eucalyptus and Nimbus, providing a comprehensive infrastructure for cloud computing solutions.

Uploaded by

ashgarshaikh53
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views9 pages

Mod 5

Microsoft Azure is a cloud computing platform that offers services for application development and management through a global network. It includes features like Azure Fabric for resource management, various storage options, and support for virtual machines called roles. Additionally, it integrates with emerging cloud platforms like Eucalyptus and Nimbus, providing a comprehensive infrastructure for cloud computing solutions.

Uploaded by

ashgarshaikh53
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Microsoft Azure Programming Support

Microsoft Azure is a cloud computing platform by Microsoft that offers a wide range of services for
developing, deploying, and managing applications through a global network of data centers. It
provides both compute and storage capabilities, managed by a central control system known as the
Azure Fabric.

1. Azure Fabric and Control Environment

Azure Fabric consists of virtualized hardware and a sophisticated control layer that provides
dynamic resource allocation and fault tolerance. It supports DNS resolution, service monitoring, and
automated service management. Developers can define services using XML templates, and monitor
applications using event logs, performance counters, and debug traces, which are stored in Azure
storage. Azure supports only trace-based debugging (not real-time).

Monitoring and Logging

Azure allows developers to monitor services in real-time using various diagnostic data. This includes
event logs, debug/trace outputs, performance counters, IIS logs, and crash dumps. These logs
can be saved into Azure Storage for future analysis. However, it’s important to note that Azure does
not support live debugging of running applications — instead, developers use trace logs to identify
and fix issues.
3. Compute Capabilities – Roles

Azure applications use virtual machines (VMs) called roles to connect to the internet and run
compute tasks. There are two major role types:
Web Role: A compute VM configured to host web applications using IIS.
Worker Role: A background processor for tasks that don't need direct HTTP access, such as
data processing or scheduling jobs.
These VMs are referred to as appliances, and they support HTTP(S) and TCP protocols. Azure
ensures high availability by load-balancing multiple instances of these roles.

4. Role Lifecycle Methods

Each role in Azure supports three essential methods:


OnStart(): Called during initialization; it prepares the role for operation and keeps it in a
"busy" state until ready.
Run(): Contains the main execution logic for the role.
OnStop(): Handles cleanup and graceful shutdown of the role.
These methods allow developers to manage the application lifecycle effectively in the cloud
environment.

5. Storage Services in Azure

Azure provides rich storage options using a combination of Blobs, Tables, Queues, and Drives:

Blobs: Used for storing large binary or text files, similar to Amazon S3. Organized as
Accounts → Containers → Blobs. Blobs are of two types:
Block Blobs: Suitable for streaming data, up to 200 GB.
Page Blobs: Allow random read/write access, up to 1 TB.
All storage types use REST APIs, and data is replicated three times for fault tolerance.

7. Azure Tables

Azure Tables offer a NoSQL-like storage for structured data. Each table contains entities (rows)
with properties (columns). Every entity must have a PartitionKey and a RowKey:

RowKey ensures uniqueness.


PartitionKey helps in data locality and performance optimization.

Tables are highly scalable and support up to 255 properties per entity, with each entity storing up to
1 MB. For large data values, links to blob storage can be used.

SQLAzure – Relational Database as a Service


SQLAzure provides a scalable, fully-managed relational database service in the cloud, based on
SQL Server. It supports SQL, REST, and SOAP interfaces and offers:

Authority: Unique DNS name (e.g., mydomain.data.database.windows.net)

Containers: Storage for user data

Entities: Individual data items with user-defined properties

Containers can be homogeneous (like tables) or heterogeneous (no fixed schema). SQLAzure
ensures high availability, data security, and integration with Visual Studio for easier application
development.
6.5 Emerging Cloud Software Environments

With the rise of cloud computing, several open-source and academic initiatives have developed
platforms to provide IaaS (Infrastructure-as-a-Service) capabilities. These emerging software
environments include Eucalyptus, Nimbus, OpenNebula, Sector/Sphere, OpenStack, and Aneka.
Here, we focus on Eucalyptus and Nimbus, two significant early open-source cloud platforms.
1. Eucalyptus Cloud Platform
Eucalyptus (Elastic Utility Computing Architecture for Linking Your Programs to Useful Systems) was
originally developed at the University of California, Santa Barbara. It is designed to bring Amazon-
like cloud capabilities to academic clusters and supercomputers. Eucalyptus offers an EC2-
compatible interface, allowing seamless interaction with AWS-style cloud services.

a) Architecture

CLC (Cloud Controller): Manages overall cloud operations and handles user requests via API

CC (Cluster Controller): Controls VM scheduling and network management within a cluster.

SC (Storage Controller): Manages persistent block storage volumes for virtual machines.

NC (Node Controller): Hosts and runs virtual machine instances on physical machines.

Walrus: Provides S3-compatible storage for storing VM images and user data.

his system allows users to manage VM images, monitor resources, and interact through web
interfaces and APIs.
b) VM Image Management
Eucalyptus’s image management mimics Amazon EC2. Users can create and register their own VM
images by bundling a root file system, kernel, and RAM disk, then uploading it to a user-defined
Walrus bucket. These custom virtual appliances can then be deployed across the cloud

infrastructure. Eucalyptus exists in both open-source and commercial versions.


2. Nimbus Cloud Platform

Nimbus is another open-source project aimed at providing an IaaS cloud platform, primarily used in
academic and research settings. Nimbus enables users to lease remote resources by deploying VMs
configured to meet specific application needs.

a) Architecture

The Nimbus architecture includes:

Virtual Machine Managers (VMMs) using Xen or KVM

Service nodes that interact via HTTP and SSH

Cumulus, a cloud storage system

Nimbus Web, a Django-based web interface for management and user access

The platform supports Libvirt for virtualization and provides custom control over VMs, making it
ideal for research experiments.

b) Storage – Cumulus
Nimbus integrates with Cumulus, a storage cloud system compatible with Amazon S3 REST APIs.
Unlike S3, Cumulus adds features like quota management. It supports clients like boto and s2cmd,
and uses the Jets3t library for interaction.
c) Resource Management Strategies
Nimbus offers two resource management modes:
Resource Pool Mode: The default mode where Nimbus controls a direct pool of VM hosts.
Pilot Mode: Where Nimbus works with an external Local Resource Management System
(LRMS) to allocate VM managers.
Nimbus also supports EC2-compatible APIs, enabling developers to use existing AWS tools with
Nimbus-based clouds.
OpenNebula Architecture – Key Components

OpenNebula is an open-source IaaS toolkit that enables users to transform their existing infrastructure
into a private or hybrid cloud. Its architecture is modular and flexible, supporting integration with
various storage systems, network setups, and hypervisors like KVM, Xen, and VMware.

1. Core Controller
The core is a centralized component responsible for managing the complete lifecycle of virtual
machines (VMs), including networking, storage, and VM image deployment. It handles on-the-fly
environment creation and dynamic resource provisioning.

2. Capacity Manager (Scheduler)


The capacity scheduler governs resource allocation. The default scheduler is a requirement/rank-
based matchmaker, but more complex policies can be developed using a lease model with advance
reservation options for VMs.
3. Access Drivers

Access drivers abstract the underlying infrastructure (like storage, network, and hypervisors) and
expose unified monitoring, virtualization, and storage services. This design makes OpenNebula
platform-independent, supporting tools like VMware, KVM, and Xen.

4. Management Interfaces
OpenNebula provides several interfaces, including:

CLI (Command-Line Interface)

libvirt API (standard VM management API)

Cloud interfaces (for external users)


These enable integration with existing monitoring and accounting systems.

5. Hybrid Cloud Support


To meet peak demands or implement High Availability (HA), OpenNebula supports hybrid cloud
models. It includes drivers to interact with Amazon EC2, Eucalyptus, and ElasticHosts, allowing
users to extend resources to public clouds when needed.

6. Image Repository
OpenNebula has an Image Repository to store and manage VM disk images. It supports multi-user
access control, simplifies image sharing, and allows users to deploy from pre-configured catalogs or
define their own disk images.

7. Advanced Features

To handle dynamic environments, OpenNebula supports features such as:

Live migration of VMs

VM snapshots

Dynamic resource scaling

These capabilities ensure flexibility and reliability in cloud infrastructure.

2. Sector/Sphere

Sector/Sphere is a cloud computing software platform for large-scale distributed storage and
parallel processing, suitable for commodity clusters across data centers.

Sector is a distributed file system (DFS) with fault tolerance via data replication and
network-aware replica placement for enhanced performance.

It uses UDP for control messages (faster than TCP) and UDT (a reliable protocol over UDP)
for high-speed data transfer.

Sphere is a parallel data processing engine tightly integrated with Sector to ensure data
locality and job scheduling efficiency.
It supports UDFs (User Defined Functions) for segment-wise parallel processing directly at
storage nodes.

The architecture includes:

Security Server (authentication),

Master Server (metadata and job


management),

Slave Nodes (storage and processing),

Client APIs and FUSE module for


developers.

It also includes Space, a framework for column-based data tables, supporting a subset of
SQL-like operations such as table creation, key-value updates, and UDFs.

OpenStack Storage (Swift)

Swift is a scalable object storage system designed to handle petabytes of data using
commodity hardware.

Components include:

Proxy Server (handles user requests),

Object, Container, and Account Servers (manage data, metadata, and hierarchy).

Uses a Ring structure to map data names to physical locations and supports:

Zones for failure isolation (server, cabinet, data center),

Partition replication, load balancing, and auditing.

Object metadata is stored in file attributes, enabling simple blob storage, while containers
list objects and accounts list containers.

** Virtual Appliances – Key Points


Virtual appliances are pre-configured VM images that include the complete software
stack (OS, libraries, binaries, config files, scripts) needed to run an application
immediately upon deployment.
They reduce software dependency on the hosting environment and simplify deployment
across diverse systems.

Supported by Virtualization Tools:Compatible with VM monitors like Xen, VMware Player, KVM,
VirtualBox, which are efficient and freely available.

Hardware Support:Supported by modern processors with virtualization extensions from Intel and
AMD.

Integration in Aneka:Aneka integrates VMs with peer-to-peer network virtualization to create self-
configuring virtual clusters using virtual appliances.

Deployment Ease:These appliances allow for homogeneous configurations to be deployed across


heterogeneous, wide-area distributed systems.

Portability:VM conversion tools and ongoing standardization support appliance portability across
different VMM platforms.

Overlay Networks:Virtual appliances can form wide-area overlays that behave like a local network,
even when nodes span multiple domains.

Benefit to Grid Computing:


Offers flexibility, isolation, resource control, and security for grid applications and simplifies
network configuration issues like NAT/firewalls.

You might also like