67
ITEC - TOWARD CLOUD COMPUTING Dan Brint: [email protected] OAS 1 Sunday, November 21, 2010

Virt Cloud.4

Embed Size (px)

DESCRIPTION

A presentation I made at a SUNY conference, this one discusses our efforts in moving more towards a \'cloud\' computing model.

Citation preview

Page 1: Virt Cloud.4

ITEC - TOWARD CLOUD COMPUTING

Dan Brint: [email protected]

OAS

1Sunday, November 21, 2010

Page 2: Virt Cloud.4

AGENDA

Retrospective

Operations and SOPs

Performance Engineering

‘Cloud’ Computing

ITEC’s Cloud Strategy

2Sunday, November 21, 2010

Page 3: Virt Cloud.4

RETROSPECTIVE

•A little history (close your eyes for 3 minutes if you must)

3Sunday, November 21, 2010

Page 4: Virt Cloud.4

•Services @ITEC (a +20 year evolution)

• We now directly provide technical support for Confluence, @task and Elluminate as u-wide programs.

RETROSPECTIVE

!   "#$%&'(!   ")'#$*+,(-./0'1/(

!   -234$#'(56/0#678*2+(

-8))2#0(

!   "#$%&'(!   ")'#$*+,(-./0'1/(

9'120'(-'#:6%'( !  -08;'+0(<+=2#1$*2+(

-./0'1/(!  >8/6+'//(<+0'&&6,'+%'(!  ?67#$#.(9'%2#;/(@,10(!  56/0$+%'(?'$#+6+,(!  A+0'#)#6/'(B<C<(!  A+0'#)#6/'(D#2E(@,10(

F2/*+,(

4Sunday, November 21, 2010

Page 5: Virt Cloud.4

•Virtualization @ITEC

•Storage (2000): EVA, Shark, DS4500, HP24000, Equallogic

•Server (2002): pSeries,VMWare, OVM

•Network (200X): vlans, multiple ISPs, BGP

RETROSPECTIVE

5Sunday, November 21, 2010

Page 6: Virt Cloud.4

•Why did we virtualize?

• Hardware, power & cooling savings via consolidation

• Efficiencies in technology management

• Take advantage of the educational cycle (LMS, Library, SIS)

• Consolidation of not only technology but skill sets and expertise as well

RETROSPECTIVE

6Sunday, November 21, 2010

Page 7: Virt Cloud.4

•Our Banner on RAC POC

• Working with SUNY’s strategic partners

• Proved we could run Banner on virtualized / clustered Database and Application Server technologies

• but ...Database Cluster (RAC)

RAC Node1

db1

RAC Node2

db4

RAC Node3

db4

Banner on Linux n-tier

db2 db2

db5

db3 db3 db3

WWW 01

Binghamton

Buffalo StateDutchess

JCCNassau

SuffolkDB10DB 9 SICASDB 8 OldWestbur

DB 1 Binghamton

DB 7 NiagaraDB 6 NewPaltz

DutchessBuffalo State

JCCNassau

DB 2DB 3DB 4DB 5

Web tierINB and SSB

Banner tiergurjobs, command line ‘stuff’

Database tierdatabases

RAC NodeY

db10

db9

RAC NodeZ

db2

db1 db1

db10

Old WestburyNewPaltz

NewPaltzNiagara

Old Westbury

WWW 02

Binghamton

Buffalo StateDutchess

JCCNassau

NewPaltzNiagara

Old Westbury

WWW 03

Binghamton

Buffalo StateDutchess

JCCNassau

NewPaltzNiagara

Old Westbury

WWW x

Binghamton

Buffalo StateDutchess

JCCNassau

NewPaltzNiagara

Old Westbury

WWW y

Binghamton

Buffalo StateDutchess

JCCNassau

NewPaltzNiagara

Old Westbury

WWW z

Binghamton

Buffalo StateDutchess

JCCNassau

NewPaltzNiagara

Old Westbury

Niagara

Binghamton Buffalo State Dutchess JCC

SICASSuffolk

SICASSuffolk

SICASSuffolk

SICASSuffolk

SICASSuffolk

SICASSuffolk

SICAS Suffolk

Nassau

7Sunday, November 21, 2010

Page 8: Virt Cloud.4

•Objective look at our apps and business needs

•No single app needed more compute power beyond a single x86 server and no apps had true 24 x 7 x 365 uptime requirements

•Chose database ‘virtualization’ via OVM instead of RAC

• DBA team hesitant to jump into an emerging technology• Systems team confident and proficient with VM technology

RETROSPECTIVE

8Sunday, November 21, 2010

Page 9: Virt Cloud.4

RETROSPECTIVE

•Let’s put that in our mental parking lot for a moment

9Sunday, November 21, 2010

Page 10: Virt Cloud.4

OPERATIONS / SOPS

•Towards a more consistent datacenter management experience

10Sunday, November 21, 2010

Page 11: Virt Cloud.4

•Enterprise Manager as a tool for managing technology

•Engaged TUSC to help with template development

•Delivered Dashboards to SLN helpdesk (finally)

OPERATIONS / SOPS

11Sunday, November 21, 2010

Page 12: Virt Cloud.4

•@task as a tool for managing tasks

•Confluence as a tool for managing knowledge

OPERATIONS / SOPS

12Sunday, November 21, 2010

Page 13: Virt Cloud.4

•Adoptions of Project Managers and project management methodologies

•Organizing our projects and business processes

•Reviewing and standardizing our operating procedures

OPERATIONS / SOPS

13Sunday, November 21, 2010

Page 14: Virt Cloud.4

•Long and short of it is that we are improving our services AND making our own lives more tolerable by documenting, standardizing and proceduralizing

•Only after we have achieved this can we really look to automation to take it to the next level

OPERATIONS / SOPS

14Sunday, November 21, 2010

Page 15: Virt Cloud.4

OPERATIONS / SOPS

•Put that in the parking lot too :)

15Sunday, November 21, 2010

Page 16: Virt Cloud.4

PERFORMANCE ENGINEERING

•Some enlightening work with SLN & ANGEL / Blackboard

16Sunday, November 21, 2010

Page 17: Virt Cloud.4

•As a result of the ‘overwhelming’ success of ANGEL adoption during fall 2009 we sought to understand

•SLN engaged Blackboard’s performance engineering team to help us better understand the past and predict the future

PERFORMANCE ENGINEERING

17Sunday, November 21, 2010

Page 18: Virt Cloud.4

• Analyzed our web logs

• Determined peak loads (peak of peak)

• Constructed simulations to test capacity, throughput, ...

• Performed tests on a lab representing our new environment to find potential bottlenecks & efficiencies

•FYI - No silver bullets (unexpected growth)

PERFORMANCE ENGINEERING

18Sunday, November 21, 2010

Page 19: Virt Cloud.4

•After the analysis was complete we performed what blackboard calls a TKT - a technical knowledge transfer.

• I waited with bated breath* for this !!!

PERFORMANCE ENGINEERING

The phrase means anxiously or with great anticipation.I don't remember and can't find my source on this but I think that "Bated" is a shortened version of "abated", which means "to slow down". In the case of "bated breath" this would mean to slow down your breathing or hold your breath. Curiously, people hold their breath when in anticipation. Perhaps so as not to be distracted by breathing."Bated" is no longer commonly used, causing people to believe the expression to be "with baited breath". This common misspelling leads to confusion and strange imagery.

http://www.phrases.org.uk/bulletin_board/5/messages/14.html

19Sunday, November 21, 2010

Page 20: Virt Cloud.4

“ It’s as though someone put the bloody SCIENCE back in Computer Science !!!!

You know theories, hypothesis, tests, analysis, conclusions ... all that good stuff we did back in school ! ”

PERFORMANCE ENGINEERING

20Sunday, November 21, 2010

Page 21: Virt Cloud.4

•A couple of big takeaways from the TKT:

•The science of performance engineering

•Emphasis on process, language, communication

•The resource commitment to implement

•Potential as an internal resource we consume, a value add to our current customers, a standalone service we offer for anyone in SUNY.

PERFORMANCE ENGINEERING

21Sunday, November 21, 2010

Page 22: Virt Cloud.4

PERFORMANCE ENGINEERING

•Another one goes into our mental parking lot

22Sunday, November 21, 2010

Page 23: Virt Cloud.4

CLOUD COMPUTING

•Good lord he went 15 minutes without saying cloud - now we’re in for it ???!!!

•Time for some definitions

23Sunday, November 21, 2010

Page 24: Virt Cloud.4

•Melissa Woo (University of Wisconsin-Milwaukee )

• “I find the term cloud computing to be extremely overloaded. In fact, a recent report by McKinsey & Company identified twenty-two different definitions for cloud computing.”

• “A not-yet-perfect storm of technologies that allows one to consume services in blissful ignorance of what's under the hood and how to maintain it.”

CLOUD COMPUTING

24Sunday, November 21, 2010

Page 25: Virt Cloud.4

•Larry Ellison (Oracle)

• "I can't think of anything that isn't cloud computing.... It's complete gibberish....When is the idiocy going to stop?"

CLOUD COMPUTING

25Sunday, November 21, 2010

Page 26: Virt Cloud.4

•NIST (NationalInstitute of Standards andTechnology)

Definition of Cloud Computing: Cloud computing is a model for enabling ubiquitous, 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.

http://csrc.nist.gov/groups/SNS/cloud-computing/

CLOUD COMPUTING

26Sunday, November 21, 2010

Page 27: Virt Cloud.4

CLOUD COMPUTING

1. On-demand self-service

A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service’s provider.

2. Broad network access

Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).Cha

ract

erist

ics

27Sunday, November 21, 2010

Page 28: Virt Cloud.4

CLOUD COMPUTING

3. Resource pooling

The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include storage, processing, memory, network bandwidth, and virtual machines.

Cha

ract

erist

ics

28Sunday, November 21, 2010

Page 29: Virt Cloud.4

CLOUD COMPUTINGC

hara

cter

istic

s 4. Rapid elasticity

Capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time.

5. Measured ServiceCloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported providing transparency for both the provider and consumer of the utilized service.

Cha

ract

erist

ics

29Sunday, November 21, 2010

Page 30: Virt Cloud.4

Service Models:

•Software as a Service (SaaS)

•Platform as a Service (PaaS)

• Infrastructure as a Service (IaaS)

CLOUD COMPUTING

Think of them as decreasing levels of “blissful ignorance”

30Sunday, November 21, 2010

Page 31: Virt Cloud.4

CLOUD COMPUTING

1. Software as a Service (SaaS)

The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based email).

The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.

Serv

ice

Mod

els

31Sunday, November 21, 2010

Page 32: Virt Cloud.4

CLOUD COMPUTING

2. Platform as a Service (PaaS)

The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider.

The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations.

Serv

ice

Mod

els

32Sunday, November 21, 2010

Page 33: Virt Cloud.4

CLOUD COMPUTING

3. Infrastructure as a Service (IaaS)

The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications.

The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).

Serv

ice

Mod

els

33Sunday, November 21, 2010

Page 34: Virt Cloud.4

Deployment Models:

•Private Cloud

•Public Cloud

•Hybrid Cloud

•Community Cloud

CLOUD COMPUTING

34Sunday, November 21, 2010

Page 35: Virt Cloud.4

CLOUD COMPUTINGD

eplo

ymen

t M

odel

s

1. Private Cloud

The cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and may exist on premise or off premise.

2. Public Cloud

The cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services.

35Sunday, November 21, 2010

Page 36: Virt Cloud.4

CLOUD COMPUTINGD

eplo

ymen

t M

odel

s

3. Hybrid Cloud

The cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load-balancing between clouds).

36Sunday, November 21, 2010

Page 37: Virt Cloud.4

CLOUD COMPUTINGD

eplo

ymen

t M

odel

s

4. Community Cloud

The cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be managed by the organizations or a third party and may exist on premise or off premise.

SUNY

Goodness?

37Sunday, November 21, 2010

Page 38: Virt Cloud.4

•And with that our parking lot is full

CLOUD COMPUTING

38Sunday, November 21, 2010

Page 39: Virt Cloud.4

Retrospective

Operations and SOPs

Performance Engineering

‘Cloud’ Computing

REVIEW

39Sunday, November 21, 2010

Page 40: Virt Cloud.4

Retrospective

Cloud Computing

SOPs

Performance Engineering

•Service Evolution

•Virtualization

•Banner POC

•Grid Control

•Standardization

•PM Methodologies

•Definitions

•Community Cloud

•Predictable Future

•Healthy dose of science

40Sunday, November 21, 2010

Page 41: Virt Cloud.4

•Good lord look at all the circles up there ...

CLOUD STRATEGY

41Sunday, November 21, 2010

Page 42: Virt Cloud.4

•Weaving these 4 loosely coupled ideas together we can now assemble ITEC’s cloud strategy

•First - a tiny bit about our technology/business model

•How we see ourselves evolving into a cloud computing like model

•Some current initiatives under way

CLOUD STRATEGY

Keep in mind, I’m mostly concerned about database and application server technology bits of this strategy

42Sunday, November 21, 2010

Page 43: Virt Cloud.4

• Campuses use the apps

• SICAS, OLIS, SLN manage the big apps

• ITEC manages the infrastructure (and some of the smaller apps)

CLOUD STRATEGY

43Sunday, November 21, 2010

Page 44: Virt Cloud.4

•TODAY - we make use of virtualization at the storage, network and server level

•But we still end up (in essence) deploying dedicated environments for every customer for (mostly) every app

• i.e. we have not virtualized our databases or applications

•Time for a little ‘cloud’ comparative analysis

CLOUD STRATEGY

44Sunday, November 21, 2010

Page 45: Virt Cloud.4

CLOUD STRATEGY

On Demand

Self Service

Broad Network Access

Resource Pooling

Rapid Elasticity

Measured Service

1/4 Check Check 1/2 Check 1/4 Check 1/2 Check

On Demand: Sort of, (we are very accommodating)

Self Service:No

Dual ISPs & BGP

SUNY VPN

Burstable consumption.

OS, Network, Storage YES,

Database, Apps NO,

(People Yes)

We can respond fairly quickly for the resources that we pool

but it’s mostly manual.

We have grid control collecting a lot of data points but we’re not looking at them WRT charge back.

Cha

ract

erist

ics

(tod

ay)

45Sunday, November 21, 2010

Page 46: Virt Cloud.4

CLOUD STRATEGY

Software aaS Platform aaS Infrastructure aaS

Check Check No Check

We serve up @task, Confluence, Lyris, Elluminate to all ITEC members. Apps are 100% maintained by ITEC and our customers simply use them (with some very limited configuration capabilities)

This is really the core of what we do today.

Banner, ANGEL, ExLibris all operate in this model with other u-wide entities providing application management.

We provide VMs that OAS uses as part of their DR solution. We provide the hardware and basic networking and storage while OAS manages the rest.

Serv

ice

Mod

els

(tod

ay)

46Sunday, November 21, 2010

Page 47: Virt Cloud.4

CLOUD STRATEGY

Private Cloud Public Cloud Hybrid Community

Tiny Bit NO NO 95% yes

We have a few things for our own internal use but these are very minimal

Too many concerns all of which are well discussed in the public.

By definition of being partially Public = No.

Amazingly YES.

Instinct told us that was true but looking at it with clinical perspective this is most certainly what we do today.

Dep

loym

ent

Mod

els

(tod

ay)

47Sunday, November 21, 2010

Page 48: Virt Cloud.4

•Summary of our shortcomings:

•Agility and self-service

•Need more virtualization, standardization and automation

•Observation that you need more structure in order to be more flexible

CLOUD STRATEGY

48Sunday, November 21, 2010

Page 49: Virt Cloud.4

•Strategy?

•Continue to develop our SOPs and then automate

•Virtualize our databases and app servers

•Choose reasonable pilot projects

•Draw on expertise where ever it lies

CLOUD STRATEGY

ITEC as a Cloud – Current and Future Projects & The ITEC Cloud sessions by Mike Notarius

49Sunday, November 21, 2010

Page 50: Virt Cloud.4

So in a concrete sense - what are we doing about it ?

• We have a project to revisit our operations and develop well documented SOPs

• We’re developing a project to start exploiting EMs provisioning pack

• We’re re-embracing RAC and application server clustering (perhaps WebLogic Suite)

CLOUD STRATEGY

50Sunday, November 21, 2010

Page 51: Virt Cloud.4

CLOUD STRATEGY

• Re-assessed our current and near future business and application needs

• at least 2x databases to manage

• More databases are approaching near 24x7 (LMS IS 24x7)

• CPU requirements are increasing

• Business need to be more agile and elastic

• and lastly - it’s now a matured (mainstream) technology

So, why the change of heart with respect to RAC?

51Sunday, November 21, 2010

Page 52: Virt Cloud.4

•Specifically with respect to RAC:

•Three projects • LMS POC with RAC (and DBFS)

• SBIP - Cloud based Business Intelligence • Project Z

CLOUD STRATEGY

52Sunday, November 21, 2010

Page 53: Virt Cloud.4

CLOUD STRATEGY

• Our LMS TEAM is already investigating Blackboard and Moodle as options to ANGEL

• At the end of these projects we are adding in RAC technology on the back end plus DBFS - a database hosted file system

• Performance, scalability, absolute point-in-time recovery

• Executing load/stress testing utilizing OATS - Oracle Application Testing Suite (possibly engaging Blackboard to help us)

#1 - LMS POC / RAC

53Sunday, November 21, 2010

Page 54: Virt Cloud.4

CLOUD STRATEGY

• Hosting SICAS BI program in an internal BI Cloud

• Dramatic cost savings and efficiencies for all entities involved

• At the expense of flexibility

• Single (Enterprise Model) OBIEE install

• Multiple campus ODS in a single DB utilizingOracle Virtual Private Database

#2 - SBIP BI Cloud

54Sunday, November 21, 2010

Page 55: Virt Cloud.4

CLOUD STRATEGY

GRID / Cluster

GRID / Cluster

Rac DB Infrastructure

BI Server Cluster(OBIEE 11g)

Web Server Cluster(WebLogic 11g)

Local BI Admin Server

IdentityInfrastructure

Campus ERP

Campus ERP

Campus ERP

Shared ODS (VPD)

Database

55Sunday, November 21, 2010

Page 56: Virt Cloud.4

CLOUD STRATEGY

• A less conceptual version for those of you who like details

56Sunday, November 21, 2010

Page 57: Virt Cloud.4

CLOUD STRATEGY

• And yes thats ‘Zed’ not ‘Zee’

• Developed by Germans

• Purloined by Canadians

• (Made by Americans)

• An evolutionary REVOLUTIONARY approach to hosted database management

#3 - Project Z

57Sunday, November 21, 2010

Page 58: Virt Cloud.4

CLOUD STRATEGY

Z as in Zoolander the world greatest male supermodel?The man who brought us ....

MagnumFerarriBlue Steel Le Tigra

58Sunday, November 21, 2010

Page 59: Virt Cloud.4

We’re talking Hansel.

In your face, off the wall, smashin’ the mold, Hansel !!!

59Sunday, November 21, 2010

Page 60: Virt Cloud.4

CLOUD STRATEGY

• Self Service cloning of production databases to a cloud environment at ITEC

• Campuses will be able to initiate (via automation) clones of PROD databases into this environment

• Using RMAN and Grid Control we will clone the DB into the ITEC cloud

• Utilizes a cluster of x86 servers running Oracle RAC on Linux to deliver the database to you (and only you)

#3 - Self Service Cloning

60Sunday, November 21, 2010

Page 61: Virt Cloud.4

CLOUD STRATEGY

• Benefits

• Removes the need for dedicated development database servers (i.e. saves money)

• Gives us time to become proficient in the technology in a lower risk environment (i.e. increased quality of life)

• Costs

• Investment in automation, infrastructure, training (internal to ITEC)

#3 - Self Service Cloning

61Sunday, November 21, 2010

Page 62: Virt Cloud.4

CLOUD STRATEGY

• Probably will not be as on-demand as one might imagine and will be an overnight process (network considerations)

• Cloning will be to a named database so that we can pre-configure integration with other application and web servers

• We will probably limit a campus to X non-prod databases

#3 - Self Service Cloning

62Sunday, November 21, 2010

Page 63: Virt Cloud.4

CLOUD STRATEGY

• Each of these 3 projects enable us to move forward in a manner that is low(er) risk than if we just said “we’re doing cloud tomorrow” and let er rip.

Moving forward

63Sunday, November 21, 2010

Page 64: Virt Cloud.4

CLOUD STRATEGY

• Education - to better understand what we were being compared to and diffuse the hype

• Analysis - understand what our business needs are and where we stand today and where we should be tomorrow

• Insight - in several respects (but not all) we’re already doing computing in a ‘cloud’ style

• Found a way to move forward while managing risk

Summary

One more thing ....

64Sunday, November 21, 2010

Page 65: Virt Cloud.4

CLOUD STRATEGY

• Cloud computing is an evolving body of work

• For as much as many may downplay vendor/media hype the fact is that numerous high profile organizations are working diligently to define cloud computing standards:

• NIST, IEEE, OGF (open grid forum), iTL (Information Technology Laboratory), ...

• As an example visit http://www.nist.gov/itl/cloud/cloudworkshopii.cfm

65Sunday, November 21, 2010

Page 66: Virt Cloud.4

CLOUD STRATEGY

Standards Acceleration to Jumpstart Adoption of Cloud Computing (SAJACC)

The goal of the SAJACC initiative is to drive the formation of high-quality cloud computing standards by providing worked examples showing how key use cases can be supported on cloud systems that implement a set of documented and public cloud system specifications.

The SAJACC initiative will develop and maintain a set of cloud system use cases through an open and ongoing process engaging industry, other Government agencies, and academia. Simultaneously, the SAJACC initiative will collect and generate cloud system specifications through a similarly open and ongoing process.

The SAJACC initiative will develop tests that show the extent to which specific use cases can be supported by cloud systems that implement documented and public cloud system specifications, and will publish test results on the SAJACC web portal (this web site).

The SAJACC web portal will provide pointers to known cloud system implementations, use case documents, upcoming events, and will also provide a convenient means to provide feedback to the SAJACC team. These resources will serve to both accelerate the development of high- quality cloud computing standards and reduce technical uncertainty during the interim adoption period before many cloud computing standards are formalized.

http://www.nist.gov/itl/cloud/index.cfm

66Sunday, November 21, 2010

Page 67: Virt Cloud.4

• Thank you

• I’m always looking for feedback

[email protected]

Questions or Thoughts?

67Sunday, November 21, 2010