architecting hybrid cloud solutions with watson · pdf fileamazon aws • platform as a ......

54
ARCHITECTING HYBRID CLOUD SOLUTIONS WITH THE WATSON DEVELOPER CLOUD Will Chaparro IBM @wmchaparro A Lesson in Innovation

Upload: dinhtuyen

Post on 06-Feb-2018

219 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

ARCHITECTING HYBRID CLOUD SOLUTIONS WITH THE WATSONDEVELOPER CLOUD

Will ChaparroIBM@wmchaparro

A Lesson in Innovation

Page 2: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions
Page 3: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

You are here

Page 4: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Proxy

User’s Browser

WDC App

Legend

WDC ServiceApplication

Builder

Watson Developer Cloud TierClient Tier (Client Machine)

Watson Explorer Application Tier(WebSphere)

RESTAjax

REST

Tier

Other, non IBM component

Integration Sample Component

IBM Watson Component

HTTPS

On PremisePublic Cloud

Page 5: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

REVIEWSome definitions…

Page 6: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Definition: Cloud ComputingEssentials:• On demand self service• Broad network Access• Resource Pooling• Rapid Elasticity• Measured Service

Page 7: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Cloud Deployment Models

•Private Cloud•Community Cloud•Public Cloud•Hybrid Cloud

Page 8: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Cloud Service Models• Software as a Service

(SaaS)• Google Apps for Business

• Microsoft Office 365

• Infrastructure as a Service (IaaS)• Amazon AWS

• Platform as a Service (PaaS)• Google App Engine

• Heroku

• Windows Azure Cloud Services

• Amazon AWS

• IBM Bluemix

Page 9: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Anyone remember timeshares?

Page 10: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Definition: Hybrid Cloud

• Hybrid Cloud means that the design spans more than one cloud.• Openstack.org

• The connection of one or more clouds to on-premise systems and/or the connection of one or more clouds to other clouds• IBM

Page 11: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

WHY Hybrid Cloud?

Page 12: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Compliance

Public Cloud Private Cloud

Not sensitive

Sensitive

Hybrid Cloud

Page 13: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Bursting

Public Cloud

Private CloudHybrid Cloud

Page 14: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Transition to Public Cloud

Existing App Public CloudHybrid Cloud

Page 15: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Why Hybrid Cloud?

• Disaster Recovery• Scaling• Cost Optimization• Geographic Optimization• Cover Legacy System Gaps

and…

Page 16: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

INNOVATION

Paves the way to a cloud solution

Page 17: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

INNOVATIONWatson Developer Cloud

Page 18: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Watson

Page 19: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions
Page 20: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

We needed to innovate…

•Quickly•With minimal investment•Without a PhD in machine learning•With a reliable technology…

Page 21: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

We used a Hybrid Cloud solution

Page 22: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions
Page 23: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

What is the Watson Developer Cloud?• A collection of REST APIs and SDKs hosted on IBM

Bluemix that use cognitive computing to solve complex problems.

• Let the developers build the next generation of cognitive enhanced applications.

Page 24: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

What is IBM Bluemix?• IBM Bluemix is the IBM open cloud platform that provides

mobile and web developers access to IBM software for integration, security, transaction, and other key functions, as well as software from business partners.

• PaaS• Similar offerings

• Microsoft Azure Cloud Services• Amazon AWS• Heroku

Page 25: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Watson Developer Cloud Services

• Personality Insights• Question and Answer• Machine Translation• Message Resonance• Relationship Extraction• Concept Expansion

Page 26: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Our approach• Play to your Strengths• Focus on the User• Experiment and Learn• Collaborate• Keep grounded in sound practices

Page 27: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

EXAMPLEOn Prem + Public Cloud

Page 28: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Personality InsightsDescription: REST API uses linguistic analytics to infer cognitive and social characteristics based on text information created by individuals or groups.

Search Application Uses: Psychographic segmentation, Customer portraits combined with a 360 degree view of a customer

Quality Attributes: Security, Scalability, Performance, Privacy, Cost

Page 29: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Integration Architecture

Proxy

User’s Browser

WDC App

Legend

WDC ServiceApplication

Builder

Watson Developer Cloud TierClient Tier (Client Machine)

Watson Explorer Application Tier(WebSphere)

RESTAjax

REST

Tier

Other, non IBM component

Integration Sample Component

IBM Watson Component

HTTPS

On PremisePublic Cloud

Page 30: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions
Page 31: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions
Page 32: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

What did we learn?

•Patterns•Quality Attributes •Benefits•Challenges

Page 33: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Definition: Architectural Pattern• An architectural pattern is a general, reusable solution to

a commonly occurring problem in software architecture within a given context.

• An architectural style (that) determines the vocabulary of components and connectors that can be used in instances of that style, together with a set of constraints on how they can be combined.

http://en.wikipedia.org/wiki/Architectural_pattern

[David Garlan and Mary Shaw, January 1994, CMU-CS-94-166, see "An Introduction to Software Architecture" at http://www.cs.cmu.edu/afs/cs/project/able/ftp/intro_softarch/intro_softarch.pdf]

Page 34: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Integration Patterns We Discovered

•Browser (AJAX)•Server-side•Query Time•Crawl Time•Pre- or post- processing

Page 35: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Example Pattern: Crawl Time

WDC App

Legend

WDC Service

Engine

Watson Developer Cloud Tier

Watson Explorer Application Tier

REST

Tier

Other, non IBM component

Integration Sample Component

IBM Watson Component

HTTPS

Data Source

Data Tier

Page 36: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Pattern: Crawl Time• Pipe and Filter• Integration in a Filter

Legend

Pump / Sink

Pipe

Integration Filter

Filter

CrawledHTML

NormalizedXML

Pipe Pipe PipePump Filter n WDCConverter

Sink

WDCService

CloudBoundary

On-Prem Engine

Public Cloud

Page 37: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Definition: Quality Attribute• Benchmarks that describe a system’s intended behavior within the environment in which it was built.

• Requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviors.

http://en.wikipedia.org/wiki/List_of_system_quality_attributes

http://www.softwarearchitectures.com/go/Discipline/DesigningArchitecture/QualityAttributes/tabid/64/Default.aspx

Page 38: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Key Quality Attributes

•Data Protection and Security•Scalability and Elasticity•Maintainability• Interoperability•Performance•Availability and Reliability

Page 39: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Personality Insights: Quality Attributes

• Concerns:• Computationally expensive (Cost, Scalability, Performance)

• Twitter API calls are limited (Cost, Scalability, Reliability)

• Security, Privacy

Page 40: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Crawl Time Quality Attributes

• Concerns:• Significant increase in crawl time (Performance)

• API Calls are limited (Cost, Scalability)

• API Call failure (Reliability)

Page 41: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Benefits

• Disaster Recovery• Scaling• Cost Optimization• Geographic Optimization• Cover Legacy System Gaps• Innovation

BurstingCompliance Transition

Page 42: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

CHALLENGES

Page 43: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions
Page 44: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

It’s Difficult

Page 45: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Challenges

•New technologies, new set of problems

•Paradigm Shift•Reliance on something you have no control over

• It’s the Wild West

Page 46: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions
Page 47: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

WRAP - UP

Page 48: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

You will introducearchitecture complexity

when moving to hybrid cloud

Page 49: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Hybrid cloud allows you to handle increased

workloads but keep the safety net of being behind the firewall

Page 50: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Hybrid cloud offers organizations

a phased approach for transition to the cloud

Page 51: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

What? Sample code? Yes!https://github.com/Watson-Explorer

https://github.com/watson-developer-cloud

Page 52: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

More Cloud Patterns…

• http://www.cloudcomputingpatterns.org/

• http://azure.microsoft.com/en-us/documentation/infographics/cloud-design-patterns/

Page 53: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

References• "An Introduction to Software Architecture" by David Garlan and Mary Shaw,

January 1994, CMU-CS-94-166 http://www.cs.cmu.edu/afs/cs/project/able/ftp/intro_softarch/intro_softarch.pdf]

• “Quality Attributes and Service-Oriented Architectures” by Bass, et al., September 2005, CMU/SEI-2005-TN-014 http://www.sei.cmu.edu/reports/05tn014.pdf

• “State of the Art in Microservices” by Adrian Cockcroft, December 2014, http://www.slideshare.net/adriancockcroft/dockercon-state-of-the-art-in-microservices

• Netflix: http://netflix.github.io/

• Openstack: http://docs.openstack.org

• IBM Bluemix: http://bluemix.ibm.com

• http://www.cloudcomputingpatterns.org

• Microsoft Azure - Cloud Design Patterns https://msdn.microsoft.com/en-us/library/dn568099.aspx

Page 54: Architecting Hybrid Cloud Solutions with Watson · PDF fileAmazon AWS • Platform as a ... a commonly occurring problem in software architecture ... Architecting Hybrid Cloud Solutions

Thank you!

Will Chaparro@wmchaparro