Cloud Computing. Cloud Computing Overview [email protected] Course Content .

26
Cloud Computing

Transcript of Cloud Computing. Cloud Computing Overview [email protected] Course Content .

Page 1: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

Cloud Computing

Page 2: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

Cloud Computing Overview

[email protected]

Course Contenthttps://content.scottstreit.com

Page 3: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

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.

Page 4: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

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.

Page 5: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

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.?

Page 6: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

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.

Page 7: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

Cloud ComputingWhat is Cloud Computing?

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

Page 8: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

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.

Page 9: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

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.

Page 10: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

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.

Page 11: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

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.

Page 12: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

Some Examples of Software as a Service

bankofamerica.com

google.com

amazon.com

many other.com

Page 13: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

Software as a Service

All runs in a browser.

May extend application via the browser.

Salesforce.com

Google sites.

Page 14: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

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

Page 15: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

Platform as a Service

Constrain the Solution... Commit to an environment.

Pick a Technology.

Choices - LAMP, War, .net.

Dictates skill sets, tool, etc.

Elastic.

Page 16: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

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).

Page 17: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

Infrastructure as a ServiceBare bones systems.

Elastic.

Drives, OS, Database.

Close to Hardware.

Elastic.

Page 18: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

Public Clouds

SAAS, PAAS, IAAS available to everyone.

Offerings from Amazon, Google, Microsoft

Full service.

Little administration for Client.

Little control of resources.

Page 19: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

Private Clouds

Cloud running on dedicated hardware.

May or may not be your computers.

Hardware is not shared.

Constrains virtualization.

Page 20: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

Hybrid Clouds

Public plus Private

Community

Finding common uses.

Page 21: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

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

Page 22: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

How Did We End Up Here?

Google

RAC expensive

Loosely Coupled.

Hardware, OS Independent.

Page 23: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

Big Data

Processing

Search

Asynchronous

Non-Relational Paradigm

Page 24: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

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

Page 25: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

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

Page 26: Cloud Computing. Cloud Computing Overview Scott@scottstreit.com Course Content .

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