2. Agenda
Cloud Computing Fundamentals
Introduction to Windows Azure
Windows Azure Storage
Azure Management Portal
Azure Storage C++ SDK go through
4. What is Cloud?
The cloud symbol was used to represent networks of computing
equipment in the original ARPANET by as early as 1977,and the CSNET by
1981.
a metaphor for the internet.
cluster of objects that visually appear from a distance as a cloud.
The cloud is actually a bunch of computer servers that store and transmit
data over the Internet.
5. Cloud Computing
Cloud Computing is the transformation of computer
hardware, software and networks into a Utility just like the
your Electric Company, Water Company, or Gas Company.
Delivered on demand, as service.
For you:
Does computing tasks, and/or
Runs applications, and/or
Stores Data
Needs an Internet connection and access rights.
Remotely Hosted
On Demand
Scalable
Multi-Tenant
Ubiquitous
Reliability
Commodified
6. Benefits and Challenges
REDUCED
COSTS FLEXIBILITY
MORE
MOBILITY
EASY TO
IMPLEMENTAGILITY
HIGHLY
AUTOMATED
END USER
PRODUCTIVITY
Benefits
SECURITY
BANDWIDTH
COST SUITABILITY
CHANGE
MANAGEMENT
COST
ASSESSMENT
CONNECTION
SPEED
Challenges
7. Cloud Models
• Public Cloud
• Private Cloud
• Hybrid Cloud
Deployment
Models
• Infrastructure as a Service (IaaS)
• Platform as a Service (PaaS)
• Software as a Service (SaaS)
Service
Models (SPI)
8. Deployment Model (Public Cloud)
Service providers use the internet to make resources, such as applications
(also known as Software-as-a-service) and storage, available to the general
public. Their infrastructure is owned and operated by service provider.
9. Deployment Model (Private Cloud)
Private clouds, deliver IT resources from within the corporate firewall.
Private clouds limit the number of users who have access to applications or
data.
The goal of a private cloud is not sell “as-a-service” offerings to external
customers but instead to gain the benefits of cloud architecture without
giving up the control of maintaining your own data center.
Security and privacy, more control, cost effective, and reliable.
Data Center Server Farm
10. Deployment Model (Hybrid Cloud)
By using a Hybrid approach, companies can maintain control of an
internally managed private cloud while relying on the public cloud as
needed. For instance during peak periods individual applications, or
portions of applications can be migrated to the Public Cloud.
Organizations can use private clouds for sensitive application, while public
clouds for non-sensitive applications.
11. Service Models
IaaS
• Service providers offer
computer, storage and
network component
such as firewalls in the
form of services.
Amazon Web Services (AWS), Cisco
Metapod, Microsoft Azure, Google
Compute Engine
PaaS
• Service provider
provides set of software
and tools hosted on
providers infrastructure.
Developers can develop
and deploy software
solutions on the
platform.
Amazon Web Services (AWS),
Microsoft Azure, Google App Engine
SaaS
• SaaS is a software
distribution model in
which applications are
hosted by service
provider and made
available to customers
over Internet.
Email Services, Google Docs, Microsoft
Office365
13. Basic Difference
Feature IaaS PaaS SaaS
What you get? You get the infrastructure &
pay accordingly. Freedom
to use or install any OS,
software or composition
Here you get what you
demand. Software,
hardware, OS, web
environment. You get the
platform to use & pay
accordingly
Here you don’t have to
worry about anything. A
pre-installed, pre-
configured package as per
your requirement is given
and you only need to pay
accordingly.
Importance The basic layer of
Computing
Top of IaaS It is like a Complete
package of services
Technical Difficulties Technical knowledge
required
You get the Basic setup but
still the knowledge of
subject is required.
No need to worry about
technicalities. The SaaS
provider company handles
everything.
Deals with Virtual Machines, Storage
(Hard Disks), Servers,
Network, Load Balancers etc
Runtimes (like java
runtimes), Databases (like
mySql, Oracle), Web Servers
(tomcat etc)
Applications like email
(Gmail, Yahoo mail etc),
Social Networking sites
(Facebook etc)
15. Microsoft Azure
Microsoft Azure is a cloud computing service created by Microsoft for
building, deploying, and managing applications and services through a
global network of Microsoft-managed data centers
Microsoft Azure
PaaS
(Platform Services)
IaaS
(Infrastructure Services)
Global Data Centers
21. Introduction
Cloud Storage - Anywhere and anytime access
Blobs, Tables, Queues and Files
Highly Durable, Available and Massively Scalable
Easily build “Internet scale” applications
Pay only for what you use
Supports standard network protocols (HTTP, HTTPS etc)
Rich Client Libraries and Tools
SDKs available in multiple language (.Net, C++, Java, Python, etc)
Supports all major Operating System.
Supports microcontroller based IoT devices.
22. Data Replication
Windows Azure Storage
Windows Azure Storage
(Disaster Recovery)
Virtual
Machine
Windows Azure Storage
Windows Azure Storage
(Disaster Recovery)
Virtual
Machine Virtual
Machine
23. Storage Objects
Blob (Binary Large Object)
Provide a simple interface for storing named files along with
metadata for the file
Tables
Provide lightly structured storage with a set of entities that
contain a set of properties
Queues
Provide reliable storage and delivery of messages
Files
Supports text file storage
Can create folders
24. Durability Options
Locally Redundant Storage (LRS)
Stores 3 replicas of the data within a single zone (facility) in a single region
Provides data durability for disk, node and rack failures
Geo Redundant Storage (GRS)
Stores 6 replicas of the data across two regions (3 in each region)
Provides additional durability to protect data against major regional natural disasters
(e.g., tornado, hurricane, fire, etc, destroying a whole region)
Updates across regions are performed asynchronously
Zone Redundant Storage (ZRS)
Stores 3 replicas of the data across multiple zones (facilities) within a single
region or across regions
Provides additional durability to protect data against zone failures (e.g., fire
burning down a facility)
25. Blob Containers
Storage account
An account can have many containers
Container
A container is a set of blobs
Sharing policies are set at the container level
Public READ or Private
Associate metadata with blob container
Metadata is <name, value> pairs
Up to 8KB per container
27. Table Data Model
Table
A storage account can create many tables
.NET classes and LINQ
A table is a set of entities (rows)
An entity is a set of properties (columns)
Two “key” properties that together are the unique ID of the entity in the
table
Partition Key – In Table Storage, you have to decide on the PartitionKey
yourself.
Row Key – uniquely identifies the entity within the partition.
29. Windows Azure Queues
Provide reliable message delivery
Simple, asynchronous work dispatch
Programming semantics ensure that a message can be processed at least once
Queues are highly available, durable and performance efficient
Maximum size is 64K
FIFO in general, but not guaranteed
Pulling an item from the queue doesn’t delete it
It becomes invisible for a visibility timeout
Item must be deleted before timeout or else it becomes visible
31. Windows Azure Files
Azure File storage is a service that offers file shares in the cloud using the
standard Server Message Block (SMB) Protocol.
Since a File storage share is a standard SMB file share, applications running
in Azure can access data in the share via file system I/O APIs.
Create/Delete/Resize Shares
Create/Delete Directories
Create/Read/Update/Delete Files
34. Getting started
Portal: https://portal.azure.com
Account can be created using our existing Gmail, Hotmail, Outlook, or
Yahoo account.
Requires verification on phone.
Free trial account can be created but requires valid credit card details.
Trial account with credit of Rs 12,100 is valid for one month.
38. Getting Started (Linux)
Packages required on Fedora:
libcurl-devel, openssl-devel, libuuid-devel, uuid-devel, gcc-c++, make, cmake,
git, unzip, java-1.7.0-openjdk, libxml++-devel
Download via Git:
git clone https://github.com/Azure/azure-storage-cpp.git
cd azure-storage-cpp
Dependencies
C++ REST SDK
39. C++ REST SDK (Casablanca)
REST(Representational State Transfer): To support HTTP operations
Dependency:
zlib1g-dev, libboost-all-dev, libssl-dev
Minimum versions:
g++: 4.8
libboost: 1.54
libssl: 1.0.0
cmake: 3.0
Download via Git
git clone https://github.com/Microsoft/cpprestsdk.git casablanca
40. Build Casablanca
Following commands build Casablanca in DEBUG mode:
cd casablanca/Release
mkdir build.debug
cd build.debug
cmake .. -DCMAKE_BUILD_TYPE=Debug
Make
For release version specify “-DCMAKE_BUILD_TYPE=Release” on the cmake
line instead.
Build the static libraries instead of the shared libraries by adding -
DBUILD_SHARED_LIBS=0 on the cmake line.
41. Build azure-storage-cpp
Run following commands to build azure-storage-cpp
cd azure-storage-cpp/Microsoft.WindowsAzure.Storage
mkdir build.release
cd build.release
CASABLANCA_DIR=<path to Casablanca> CXX=g++-4.8 cmake .. -
DCMAKE_BUILD_TYPE=<Release/Deug>
Make
42. Modify and run sample application
Modify connection string in following header file to include your storage
account credentials
Microsoft.WindowsAzure.Storage/samples/SamplesCommon/samples_common
.h
Build sample application
cd build.release
CASABLANCA_DIR=<path to Casablanca> CXX=g++-4.8 cmake .. -
DCMAKE_BUILD_TYPE=Release -DBUILD_SAMPLES=ON
Make
Sample application Binaries are available in build.release/Binaries directory
43. Conclusion
Cloud computing enables pay-as-you-go cost model. Thus reduces overall
cost.
Platform as a Service is all about reducing management and operations
overhead.
Azure Storage is the cloud storage solution for modern applications those
rely on durability, availability, and scalability
Azure Storage is accessible from anywhere in the world, from any type of
application, whether it's running in the cloud, on the desktop, on an on-
premises server, or on a mobile or tablet device