cloud computing. cloud computing overview scott@scottstreit.com course content

Post on 11-Jan-2016

223 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Cloud Computing

Cloud Computing Overview

Scott@scottstreit.com

Course Contenthttps://content.scottstreit.com

Rules Address me as “Scott” Being able to do something is more

important than memorizing. I will not ask you to memorize. My tests ask you to think and explain. I ask you to take a position.

Your grade on a test (mid-term, final) is not the final grade.

You must successfully complete all homeworks to pass the course.

You pick your grade – I'll explain.

Goals

Einstein said, As simple as possible, but no simpler.

If you cannot explain it simply, you do not understand it well enough.

Any fool can make things more complex it takes genius to find the simplicity.

Great science is simple.

How did we get here?

Turing MachineP-V Semaphore – Unix – Flat Files1972, Dr. E. F. Codd invented Relational Database, Linear Algebra → Data Storage.RDBMS – Transactions – Bob Epstein1988 --- 1995 --- Databases fault tolerant and load balanced. They were tightly coupled.Startup and you want to do load balancing...Larger than anyone ever has..... What do you do.?

Cloud ComputingWhat is Cloud Computing?

CouplingFault ToleranceLoad Balancing

Loosely coupled systems participating load balancing and fault tolerance such that all computers minus one may fail and processing continues.

Cloud ComputingWhat is Cloud Computing?

The application software shall not change irrespective of the number of nodes.

5 Rules of Software Development

1. W3C specifications ahead of JSR specifications. 2. JSR ahead of defacto standards. 3. Defacto standards ahead of custom development. 4. Compositional patterns to create software systems. 5. Use design patterns when creating custom code.

One Definition

Radically load balanced and fault tolerant such that all systems but one may fail and processing continues.

What do we mean by this?

Map/Reduce, Solr, etc.

What was fault tolerance in 1990?

Any one system may fail and processing continues.

NIST Definition

1. Software as a Service

2. Platform as a Service

3. Infrastructure as a Service

4. Also note, Software as a Service plus Software as a Service.

5. Implied Elasticity - not seen.

Homework Assignment #1

1. Find the SingletonSingleton pattern.

2. Explain it.

3. Give one use of it.

4. Find the Adapter/AdapteeAdapter/Adaptee pattern

5. Explain it

6. Give one use of it.

7. Consider Mark Grand.. but there are others.

Some Examples of Software as a Service

bankofamerica.com

google.com

amazon.com

many other.com

Software as a Service

All runs in a browser.

May extend application via the browser.

Salesforce.com

Google sites.

Software as a Service with Software Plus Services

Amazon.com

Anyone may sell a book, wrapped in an application.

Contingent on Web Services.

REST vs. SOAP

Platform as a Service

Constrain the Solution... Commit to an environment.

Pick a Technology.

Choices - LAMP, War, .net.

Dictates skill sets, tool, etc.

Elastic.

LAMP vs. WAR

Where is LAMP best. Linux, Apache, MySQL, Php

1) Your views closely model your database design.

2) Security requirements are not excessive.

Where is War best.

1) You views do not closely model your database

Design. In fact there probably is not RDBMS.

Elastic.

2) Serious Security Requirements (Underwriting).

Infrastructure as a ServiceBare bones systems.

Elastic.

Drives, OS, Database.

Close to Hardware.

Elastic.

Public Clouds

SAAS, PAAS, IAAS available to everyone.

Offerings from Amazon, Google, Microsoft

Full service.

Little administration for Client.

Little control of resources.

Private Clouds

Cloud running on dedicated hardware.

May or may not be your computers.

Hardware is not shared.

Constrains virtualization.

Hybrid Clouds

Public plus Private

Community

Finding common uses.

Solutions

Network Layer – sticky sessionsAsynchronous federation.

Web Layer – cache

Enterprise Layer – cache

Database Layer – XA, Replication, RAC

Data Layer – non-relational – Map/Reduce

Data Layer – non-relational - Lucene/Solr

How Did We End Up Here?

Google

RAC expensive

Loosely Coupled.

Hardware, OS Independent.

Big Data

Processing

Search

Asynchronous

Non-Relational Paradigm

Map/Reduce is a paradigm for deterministic processing, highly replicated and a formal paradigm

Lucene is a dependent jar file, allowing solutions around it. Built for text processing initially. Add fault tolerance through Solr. Solution is inverted sparse index

Same author different problem

Comparison

Hadoop: An implementation of Map/Reduce from apache. Pure Java, in production, server based, HDFS, etc. Lucene: A dependent jar file for sparse index processing.

Significant Focus – Non Relational

Setup an Apache Server that runs php.

Create a simple page that creates a session.

Go to a second page and see the session variable.

Homework Assignment #2

top related