Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and...

65
Cloud Computing 1

Transcript of Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and...

Page 1: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

Cloud Computing

1

Page 2: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

“Cloud computing is simply a buzzword used to repackage grid computing

and utility computing, both of which have existed for decades.”

“Cloud computing is simply a buzzword used to repackage grid computing

and utility computing, both of which have existed for decades.”

whatis.comDefinition of Cloud Computing

2

Page 3: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

Cloud Computing

• Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.

• This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models.

3

Page 4: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

4

Page 5: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

History

• “Cloud“ used as a metaphor for the Internet, based on the cloud drawing used in the past to represent the telephone network; later to depict the Internet in computer network diagrams as an abstraction of the underlying infrastructure it represents.

• Details abstracted from end-users, who no longer have need for expertise in, or control over, the technology infrastructure "in the cloud" that supports them.

5

Page 6: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

Evolution of cloud computing

6

Page 7: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

Comparison

Cloud computing shares characteristics with:• Mainframe computer• Autonomic computing• Client–server• Grid computing• Peer-to-peer

7

Page 8: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

8

Foundational Elementsof Cloud Computing

• Virtualization• Grid technology• Service Oriented

Architectures• Distributed Computing• Broadband Networks• Browser as a platform• Free and Open Source

Software

• Autonomic Systems • Web 2.0• Web application

frameworks• Service Level Agreements

Primary Technologies Other Technologies

Page 9: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

9

The Traditional Server Concept

Web Server

Windows

IIS

App Server

Linux

Glassfish

DB Server

Linux

MySQL

EMail

Windows

Exchange

Page 10: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

Traditional Server Concept Explained

• Servers considered as a whole unit that includes the hardware, the OS, the storage, and the applications.

• Often referred to by their function i.e. the Exchange server, the SQL server, the File server, etc.

• If the File server fills up, or the Exchange server becomes overtaxed: must add in a new server.

10

Page 11: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

11

Traditional Server Concept Contd.

• Unless there are multiple servers, if a service experiences a hardware failure, the service is down.

• Can implement clusters of servers to make them more fault tolerant.

• Even clusters have limits on their scalability, and not all applications work in a clustered environment.

Page 12: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

Pros and Cons

• Pros– Easy to conceptualize– Fairly easy to deploy– Easy to backup– Virtually any

application/service can be run from this type of setup

• Cons– Expensive to acquire and

maintain hardware– Not very scalable– Difficult to replicate– Redundancy is difficult to

implement– Vulnerable to hardware

outages– In many cases, processor

is under-utilized

12

Page 13: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

13

And if something goes wrong ...

Web Server

Windows

IIS

App Server

DOWN!

DB Server

Linux

MySQL

EMail

Windows

Exchange

Page 14: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

14

The Virtual Server Concept

Virtual Machine Monitor (VMM) layer between Guest OS and hardware

Page 15: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

15

Close-up* adapted from a diagram in VMware white paper, Virtualization Overview

x86 Architecture

VMM (Virtual Machine Monitor)

Server1

Guest OS

Server2

Guest OS

Clustering

Service Console

Intercepts hardware requests

Page 16: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

16

The Virtual Server Concept

• Virtual servers seek to encapsulate the server software away from the hardware– This includes the OS, the applications, and the

storage for that server.• A virtual server can be serviced by one or more

hosts, and one host may house more than one virtual server.

Page 17: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

17

Virtual Server Concept Contd.

• Virtual servers can still be referred to by their function i.e. email server, database server, etc.

• If the environment built correctly, virtual servers will not be affected by the loss of a host.

• Hosts may be removed and introduced almost at will to accommodate maintenance.

Page 18: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

18

Virtual Server Concept Contd.

• Can be scaled out easily.– If the resources supporting a virtual server are being taxed

too much, admin can adjust the amount of resources allocated to that virtual server

• Server templates can be created in a virtual environment to be used to create multiple, identical virtual servers

• Virtual servers themselves can be migrated from host to host almost at will.

Page 19: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

19

Pros and Cons• Pros

– Resource pooling– Highly redundant– Highly available– Rapidly deploy new servers– Easy to deploy– Reconfigurable while

services are running– Optimizes physical

resources by doing more with less

• Cons– Slightly harder to

conceptualize– Slightly more costly

(must buy hardware, OS, Apps, and now the abstraction layer)

Page 20: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

The Cloud’s “Snowball Effect”

• Maturation of Virtualization Technology• Virtualization enables Compute Clouds• Compute Clouds create demand for Storage Clouds• Storage + Compute Clouds create Cloud

Infrastructure• Cloud Infrastructure enables Cloud Platforms &

Applications• Multiple Cloud types lead to Cloud Aggregators• Niche requirements enable Cloud Extenders

20

Page 21: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

Characteristics

• Cost claimed to be reduced. • Reliability improved if multiple redundant sites used.• Performance monitored, and consistent and loosely

coupled architectures constructed using web services as the system interface.

• Security could improve due to centralization of data, increased security-focused resources, etc.

• Maintenance is easier: do not need to be installed on each user's computer.

21

Page 22: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

Layers

Client Computer hardware and/or computer software relying

on cloud computing for application delivery.Application Application services (SaaS).Platform Platform services (PaaS).Infrastructure Infrastructure services (IaaS).Server Computer hardware, software products specifically

designed for delivery of cloud services.

22

Page 23: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

Service Model Architectures

Cloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

23

Page 24: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

Cloud Service Delivery Models

24

• IaaS: Infrastructure as a Service– provisions computing resources within provider's infrastructure

upon which they can deploy and run arbitrary software, including OS and applications.

• PaaS: Platform as a Service– can create custom applications using programming tools

supported by the provider and deploy them onto the provider's cloud infrastructure.

• SaaS: Software as Service– use provider’s applications running on provider's cloud

infrastructure.

Page 25: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

25

Three Features of Mature SaaS Applications

• Scalable– Handle growing amounts of work in a graceful manner

• Multi-tenancy– One application instance may be serving hundreds of companies– Opposite of multi-instance where each customer is provisioned

their own server running one instance• Metadata driven configurability

– Instead of customizing the application for a customer (requiring code changes), one allows the user to configure the application through metadata

25

Page 26: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

26

SaaS Maturity Levels

• Level 1: Ad-Hoc/Custom• Level 2: Configurable• Level 3: Configurable,

Multi-Tenant-Efficient• Level 4: Scalable,

Configurable, Multi-Tenant-Efficient

26Source: Microsoft MSDN Architecture Center

Page 27: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

Platform-as-a-Service (PaaS)

• Definition– Platform providing all the facilities necessary to

support the complete process of building and delivering web applications and services, all available over the Internet

– Entirely virtualized platform that includes one or more servers, operating systems and specific applications

27

Page 28: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

PaaS Example: Google App Engine

• Service that allows user to deploy user’s Web applications on Google's very scalable architecture

• Providing user with a sandbox for user’s Java and python application that can be referenced over the Internet

• Providing Java and Python APIs for persistently storing and managing data (using the Google Query Language or GQL)

28

Page 29: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

Infrastructure-as-a-Service (IaaS)

• Definition– Provision model in which an organization outsources the equipment used to support operations, including storage, hardware, servers and networking components.– Also known as Hardware as a Service (HaaS).– Service provider owns the equipment; responsible for

housing, running and maintaining it.– Client typically pays on a per-use basis.

29

Page 30: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

IaaS Contd.

30

Page 31: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

Characteristics of Infrastructure-as-a-Service

(IaaS)

• Utility computing and billing model• Automation of administrative tasks• Dynamic scaling• Desktop virtualization• Policy-based services• Internet connectivity

31

Page 32: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

SaaS

PaaS

IaaS

Amazon Google Microsoft Salesforce

Service Delivery Model Examples

32

Page 33: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

4 Cloud Deployment Models

• Private cloud – enterprise owned or leased

• Community cloud– shared infrastructure for specific community

• Public cloud– Sold to the public, mega-scale infrastructure

• Hybrid cloud– composition of two or more clouds

33

Page 34: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

Common Cloud Characteristics

• Cloud computing often leverages:– Massive scale– Homogeneity– Virtualization– Resilient computing– Low cost software– Geographic distribution– Service orientation– Advanced security technologies

34

Page 35: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

Web-Scale & Large data centersProblems

• Characteristics:– Definitely data-intensive– May also be processing intensive

• Examples:– Crawling, indexing, searching, mining the Web– “Post-genomics” life sciences research– Other scientific data (physics, astronomers, etc.)– Sensor networks– Web 2.0 applications

35

Page 36: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

How much data?

• Wayback Machine has 3 PB + 100 TB/month (2009) • Google processes 20 PB a day (2008)• “all words ever spoken by human beings” ~ 5 EB• NOAA has ~1 PB climate data (2007)• CERN’s LHC generates 15 PB a year (2010)

640K ought to be enough for anybody.

36

Page 37: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

Large Data Centers

• Web-scale problems? Throw more machines at it!• Clear trend: centralization of computing resources in

large data centers• Important Issues:

– Redundancy– Efficiency– Utilization– Management

37

Page 38: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

The “Cloud” = 10X Improvements

• Ease of Use• Scalability• Risk• Reliability• Cost

38

Page 39: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

Ease of Use

• Deploy infrastructure with a mouse or API– Cloud computing providers deliver applications via

the internet, which are accessed from web browsers and desktop and mobile apps

– Do it yourself remotely from anywhere anytime

39

Page 40: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

Scalability

• Dynamic provisioning of resources on a fine-grained, self-service basis near real-time, without users having to engineer for peak loads

• Control your infrastructure with your app

40

Page 41: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

Risk

• Nothing to buy• Cancel immediately• Change instantly, even operating systems• Throw it out• Rebuild it instantly after testing

RISK

41

Page 42: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

Reliability

• Based on enterprise grade hardware• Design for failures:

– Automatically spin up replacements– Use multiple clouds

42

Page 43: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

43

Cost Control

• Cost– Many systems have variable demands

• Batch processing (e.g. New York Times)• Web sites with peaks (e.g. Forbes)• Startups with unknown demand (e.g. the Cash

for Clunkers program)– Reduce risk

• Don't need to buy hardware until you need it

Page 44: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

44

Business Agility

• More than scalability - elasticity!– Ely Lilly in rapidly changing health care business

• Used to take 3 - 4 months to give a department a server cluster, then they would hoard it!

– Using EC2, about 5 minutes!• And they give it back when they are done!

• Scaling back is as important as scaling up

Page 45: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

45

Stick to Business

• Most companies don't WANT to do system administration– Forbes says:

• We are is a publishing company, not a software company

• But beware:– Do you really save much on sys admin?– You don't have the hardware, but you still need to

manage the OS!

Page 46: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

46

Provisioning Service

• Advantages– Rapid reconstitution of services – Enables availability

• Provision in multiple data centers/multiple instances

– Advanced honey net capabilities• Challenges

– Impact of compromising the provisioning service

Page 47: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

47

Data Storage Services

• Advantages– Data fragmentation and dispersal– Automated replication– Provision of data zones (e.g., by country)– Encryption at rest and in transit– Automated data retention

• Challenges– Isolation management / data multi-tenancy– Storage controller

• Single point of failure / compromise?– Exposure of data to foreign governments

Page 48: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

48

Cloud Processing Infrastructure

• Advantages– Ability to secure masters and push out secure

images• Challenges

– Application multi-tenancy– Reliance on hypervisors– Process isolation / Application sandboxes

Page 49: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

49

Cloud Support Services

• Advantages– On demand security controls (e.g., authentication,

logging, firewalls…)• Challenges

– Additional risk when integrated with customer applications

– Needs certification and accreditation as a separate application

– Code updates

Page 50: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

50

Cloud Network and Perimeter Security

• Advantages– Distributed denial of service protection– VLAN capabilities– Perimeter security (IDS, firewall, authentication)

• Challenges– Virtual zoning with application mobility

Page 51: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

The NIST Cloud Definition Framework

51

CommunityCommunityCloudCloudPrivate CloudPrivate Cloud Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

Based upon original chart created by Alex Dowbor - http://ornot.wordpress.com

Page 52: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

52

Cloud Computing Case Studies

Page 53: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

53

Google Cloud• Started with Google Apps

• Platform as Service later on

• Replace office software– Gmail– Google Docs (word processing and spreadsheets)– Google video for business– Google sites (intranet sites and wikis)

• Google Cloud Connect

• 500,000+ organizations use Google Apps

• GE moved 400,000 desktops from Microsoft Office to Google Apps

Page 54: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

54

Microsoft Azure Services

Page 55: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

55

Windows Azure Applications, Storage, and Roles

Cloud Storage (blob, table, queue)Cloud Storage (blob, table, queue)

Web RoleWeb RoleLBLB

n

Worker RoleWorker Role

m

Source: Microsoft Presentation, A Lap Around Windows Azure, Manuvir Das

Three core components: Compute, Storage and Fabric

Page 56: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

56

Amazon Cloud

• Amazon cloud components– Elastic Compute Cloud (EC2)– Simple Storage Service (S3)– SimpleDB

• New Features– Availability zones

• Place applications in multiple locations for failovers– Elastic IP addresses

• Static IP addresses that can be dynamically remapped to point to different instances (not a DNS change)

Page 57: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

57

Amazon Cloud Users: New York Times and Nasdaq

• Both companies used Amazon’s cloud offering• New York Times

– Used EC2 and S3 to convert 15 million scanned news articles to PDF (4TB data)– Took 100 Linux computers 24 hours (would have taken months on NYT

computers– “It was cheap experimentation, and the learning curve isn't steep.” – Derrick

Gottfrid, Nasdaq• Nasdaq

– Uses S3 to deliver historic stock and fund information– Millions of files showing price changes of entities over 10 minute segments– “The expenses of keeping all that data online [in Nasdaq servers] was too hig

h.” – Claude Courbois, Nasdaq VP– Created lightweight Adobe AIR application to let users view data

Page 58: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

58

Page 59: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

59

Salesforce Cloud

• Started with information management service that could replace traditional business software technology

• Pioneered software-as-a-service market (esp. CRM tools)

• 5,000+ Public Sector and Nonprofit Customers use Salesforce Cloud Computing Solutions

• Moving beyond SaaS into the platform-as-a-service market

Page 60: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

60

Salesforce.com in Government

• President Obama’s Citizen’s Briefing Book – 134,077 Registered Users– 1.4 M Votes – 52,015 Ideas– Peak traffic of 149 hits per second

• US Census Bureau Uses Salesforce.com Cloud Application– Project implemented in under 12 weeks – 2,500+ partnership agents use Salesforce.com for 2010

decennial census – Allows projects to scale from 200 to 2,000 users overnight to

meet peak periods with no capital expenditure

Page 61: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

61

VMware Cloud (vCloud)

• Goal:– “Federate resources between internal IT and

external clouds”– Application portability– Elasticity and scalability, disaster recovery, service

level management• vServices provide APIs and technologies

Page 62: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

62

Case Study: IBM-Google Cloud

• Google and IBM plan to roll out a worldwide network of servers for a cloud computing infrastructure

• Initiatives for universities• Architecture

– Open source• Linux hosts• Xen virtualization (virtual machine monitor)• Apache Hadoop (file system)

– “open-source software for reliable, scalable, distributed computing”

Page 63: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

63

Facebook’s Use of Open Source and Commodity Hardware

• 400 million users + 250,000 new users per day

• 100,000 transactions per second, 10,000+ servers

• Built on open source software– Web and App tier: Apache, PHP, AJAX– Middleware tier: Memcached (Open source caching)– Data tier: MySQL (Open source DB)

• Thousands of DB instances store data in distributed fashion (avoids collisions of many users accessing the same DB)

Page 64: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

64

Are Hybrid Clouds in our Future?

• OpenNebula

• Zimory

• IBM-Juniper Partnership

• VMWare Vcloud

Page 65: Cloud Computing 1. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

Thank You

65Blogote