springpeople - introduction to cloud computing

40
Cloud Computing By Nirmallya Mukherjee

Upload: springpeople

Post on 11-Apr-2017

104 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: SpringPeople - Introduction to Cloud Computing

Cloud Computing

By Nirmallya Mukherjee

Page 2: SpringPeople - Introduction to Cloud Computing

§  We have INSTRUCTOR LED - both Online LIVE & Classroom Session §  Present for classroom sessions in Bangalore & Delhi (NCR) §  We are the ONLY Education delivery partners for Mulesoft, Elastic,

Pivotal & Lightbend in India §  We have delivered more than 5000 trainings and have over 400 courses

and a vast pool of over 200 experts to make YOU the EXPERT!

FOLLOW US ON SOCIAL MEDIA TO STAY UPDATED ON THE UPCOMING WEBINARS

Page 3: SpringPeople - Introduction to Cloud Computing

Any definitions?

•  Style of computing in which massively scalable IT related capabilities are provided “as a service” using internet technologies to multiple “external customers” – Gartner

•  Pool of abstracted, highly scalable, and managed compute infrastructure capable of hosting end-customer applications and billed by consumption – Forrester

Page 4: SpringPeople - Introduction to Cloud Computing

Myths of cloud computing

•  There’s one single“Cloud” •  All you need is your credit card •  The cloud always saves you money •  The cloud always reduces your workload •  Integration (two versions)

•  You can seamlessly blend your private “Cloud” (your virtualized datacenters) with public providers

•  You won’t ever be able to seamlessly blend your public and private clouds

•  A cloud provider can guarantee security •  If you are using virtualization, you are doing cloud computing •  Cloud Computing is only about technology

Page 5: SpringPeople - Introduction to Cloud Computing

Service delivery models

Provided by Replaces / Uses / Enhances

Applica'ons Layer

Google

Microso3

Salesforce.comWebstore.Amazon

So$wareasaService

ServiceOrientedArchitecture

Mul6-tenancyWebApps-AccessfromAnywhere

Gartner: a style of computing where massively scalable IT-enabled capabilities are delivered 'as a service' to external customers using Internet technologies.

Cloud Computing

“Everything as a Service” Public or Private Cloud?

Infrastructure Layer

Amazon Web ServicesScalableDatacenters

GridCompu6ng

HardwareVirtualiza6onU6lity-styleMetering&Billing

OnlineStorageOn-demandCompu6ng

InfrastructureOutsourcing

InfrastructureAsAService

RackSpace

GoogleComputeEngineAzure

Linode ClickandAdminister

PlaAorm Layer

GoogleAppEngineForce.com

Mul6-tenancy

WebApps-AccessfromAnywhere

PlaKormasaService

Founda6onComponentsCloudFoundry

Jelas'c ClickandAdminister

BigDataPlaKorm ManagedWebAppInfrastructure

Page 6: SpringPeople - Introduction to Cloud Computing

"SaaS","PaaS","IaaS","bigData","Elastic","Resilient" & "Subscription"

SPIDERS & Cloud Attributes

Page 7: SpringPeople - Introduction to Cloud Computing

Service subscription •  Customers avoid large upfront capital expense. •  Pay as an ongoing operational expense. •  Easily and quickly scale up or down based on business demand and only

pay for what is needed (Economies of scale) •  Better matches today’s financial drivers

Subscription

Page 8: SpringPeople - Introduction to Cloud Computing

Where are these things coming from?

Page 9: SpringPeople - Introduction to Cloud Computing

The Buildings

Page 10: SpringPeople - Introduction to Cloud Computing

A Perspective

Page 11: SpringPeople - Introduction to Cloud Computing

Degree of Abstraction

Page 12: SpringPeople - Introduction to Cloud Computing

Modern applications can leverage IaaS or PaaS for scaling only the layers that demand it!

Load Balancer

Tier 1 Web Servers

Tier 2 App Servers

Database / Datastore Servers

Growth Servers

Scaling Model

Page 13: SpringPeople - Introduction to Cloud Computing

Scaling in Google & AWS

A script simulated load and Google spun up instances to handle it automatically.

AWS configuration allowing 1 min 4 max instances of certain type with specific rules of scalability

Page 14: SpringPeople - Introduction to Cloud Computing

Specialized hardware Vs Commodity

1.  Large OPEX 2.  Wasted/Idle resource 3.  Failure takes out a large chunk 4.  Expensive redundancy model 5.  One shoe fitting all model 6.  Too much co-existence

1.  Low OPEX (rent on IaaS) 2.  Maximum resource utilization 3.  Failure takes out a small chunk 4.  Inexpensive redundancy 5.  Specific h/w for specific tasks 6.  Very less to no co-existence

vs

Ver6calscalability

HorizontalscalabilityThisiswhatGoogle,LinkedIn,Facebookdo.Thenormisnowbeingadoptedbylargecorpora6onsaswell.

“Just in time” expansion; stay in tune with the load. No need to build ahead in time in anticipation

Page 15: SpringPeople - Introduction to Cloud Computing

Scalable & Resilient Apps Deployment

Page 16: SpringPeople - Introduction to Cloud Computing

Virtualization

•  Virtualization of the computing resources, including servers, network, and storage, allows dynamic flexibility.

•  Capacity can be more efficiently utilized. •  Easy to turn on or off virtual servers to handle scalability. •  Networking equipment and storage is virtualized as well.

Virtualization Fabric

Physical Servers

Virtual Servers

Page 17: SpringPeople - Introduction to Cloud Computing

•  At the end of the day what's the real purpose of virtualization? –  Run more applications –  Give applications the environment it deserves –  Create a sandbox for each so that no one steps on each other

•  Enter "Container" (most popular is Docker) –  Application focused bundling –  Common aspects (os, lib et al) are shared –  Smaller footprints –  Quick load time –  Also known as LXC (LinuX Containers)

•  Container based virtualization is the contemporary option being adopted by most PaaS cloud players

Next Gen Virtualization

Page 18: SpringPeople - Introduction to Cloud Computing

Container vis-a-vis virtualization

Bare Metal

Hypervisor (1)

Gue

st O

S

Gue

st O

S

Gue

st O

S

Runtime Runtime Runtime

Shared Libs

Shared Libs

Shared Libs

App B Libs

App A Libs

App A Libs

App B App A App A

Bare Metal

Host OS

Docker

Runtime

Shared Libs

App A Libs App B Libs

App A App A App B App A

VM

Con

tain

er

3a

3x

3b

y' x

y''

a

b

y' >> y''

Page 19: SpringPeople - Introduction to Cloud Computing

Managing containers

•  It is easy to manage a handful of containers but in a data center there can be 1000s of containers!

•  Enter "Kubernetes" - the container manager –  Kubernetes (the Greek term for "helmsman" of a

ship) is a lighter-weight version of Google's own internal technology it calls Omega

–  It is an open source orchestration system for Docker containers

–  It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions

–  Using the concepts of "labels" and "pods", it groups the containers which make up an application into logical units for easy management and discovery

•  Read more at http://kubernetes.io ▶

Page 20: SpringPeople - Introduction to Cloud Computing

Brain freeze!!

Whentousewhat?WhichoneisbeSer?

Page 21: SpringPeople - Introduction to Cloud Computing

PaaS Overview

•  Needs an operational IaaS to be "effective" •  Abstracts the infrastructure layer completely •  Provides monitoring at two levels

•  Infrastructure •  Application

Page 22: SpringPeople - Introduction to Cloud Computing

Cloud services taxonomy

Storage-As-A-Service

Database-As-A-Service

Information-As-A-Service

Process-As-A-Service

Software-As-A-Service / Application-As-A-Service

Business function As a Service

IaaS PaaS

SaaS

Devopsasa

Service

Page 23: SpringPeople - Introduction to Cloud Computing

Data to Information xform velocity Business wants1. Businessagility 2. Dataprolifera6on3. Usergeneratedcontent4. Social,nearreal6meanalysis5. U0litybasedpricing,payasyougo,LowCAPEX

Traditional IT1. Tradi6onallicensingmodel2. Largeini0alCAPEX3. Pre-planning 4. Batch, time lag to insights

TechnologyLag / Delayed insights

Time

Grow

th

Internet&socialera

Tac-calInforma-on

StrategicInsights

Opera-onalData

To stay several steps ahead of the competition organizations all over the world are asking a

simple question

“Can we get some insights out of our data? Quickly please!”

We need "Big Data & Analytics"

Page 24: SpringPeople - Introduction to Cloud Computing

Types of NoSQL •  Wide Row - Also known as wide-column stores, these databases store data in rows and users

are able to perform some query operations via column-based access. A wide-row store offers very high performance and a highly scalable architecture. Examples include: Cassandra, HBase, and Google BigTable.

•  Columnar - Also known as column oriented store. Here the columns of all the rows are stored

together on disk. A great fit for analytical queries because it reduces disk seek and encourages array like processing. Amazon Redshift, Google BigQuery, Teradata (with column partitioning).

•  Key/Value - These NoSQL databases are some of the least complex as all of the data within

consists of an indexed key and a value. Examples include Amazon DynamoDB, Riak, and Oracle NoSQL database

•  Document - Expands on the basic idea of key-value stores where "documents" are more

complex, in that they contain data and each document is assigned a unique key, which is used to retrieve the document. These are designed for storing, retrieving, and managing document-oriented information, also known as semi-structured data. Examples include MongoDB and CouchDB

•  Graph - Designed for data whose relationships are well represented as a graph structure and

has elements that are interconnected; with an undetermined number of relationships between them. Examples include: Neo4J, OrientDB and TitanDB ▶

Page 25: SpringPeople - Introduction to Cloud Computing

Choice of database or datastore

1.  Database, Relational, strict models

2.  Data in rows, pre-defined schema, sql supports join

3.  Vertically scalable 4.  Random access pattern support 5.  Good fit for online transactional

systems 6.  Master slave model 7.  Periodic data replication as read

only copies in slave 8.  Availability model includes a slight

downtime in case of outages

1.  Data store, distributed & Non relational, flexible schema

2.  Data in key value pairs, no joins 3.  Horizontally scalable 4.  Designed for access patterns 5.  Good for optimized read based

system or high availability write systems

6.  Can have masterless model 7.  Seamless data replication 8.  Masterless allows for no downtime

Page 26: SpringPeople - Introduction to Cloud Computing

CAP Theorem

•  ACID –  Atomicity - Atomicity requires that each transaction be "all or nothing" –  Consistency - The consistency property ensures that any transaction

will bring the database from one valid state to another –  Isolation - The isolation property ensures that the concurrent execution

of transactions result in a system state that would be obtained if transactions were executed serially

–  Durability - Durability means that once a transaction has been committed, it will remain so under all circumstances

•  What is it? Can I have all? –  Consistency - all nodes have the same data at all times –  Availability - Request must receive a response –  Partition tolerance - Should run even if there is a part failure

•  CAP leads to BASE theory –  Basically Available, Soft state, Eventual consistency

Page 27: SpringPeople - Introduction to Cloud Computing

Map-reduce fundamentals

•  Data comes to the compute OR Compute goes to data? •  What is a mapper? •  What is a reducer? •  How do they work together?

Page 28: SpringPeople - Introduction to Cloud Computing

Challenges with Distributed Computing

•  Heterogeneity •  Fault handling •  Consistency •  Global concurrency •  Upgrades and maintenance •  Local resources - file system •  Application sessions & transient data •  Clock synchronization

Page 29: SpringPeople - Introduction to Cloud Computing

Designing applications for cloud

•  Evaluate enterprise architecture impact •  Choice of the right service provider •  Defining the business process and integration touch points •  Security fabric cutting across all providers – 0Auth2 is the standard •  Think stateless, adapters, foundation •  Micro service approach

Page 30: SpringPeople - Introduction to Cloud Computing

Cloud architecture - An example

Page 31: SpringPeople - Introduction to Cloud Computing

Example of an analytics stack

Virtualization Fabric

Physical Servers

Virtual Servers Growth Servers

IaaS

Hadoop Distributed File System (DFS)

Yahoo Pig (Analytics Core)

Hadoop Map-Reduce

Generic Analytics with Map-Reduce

DFS Growth (Auto provisioning)

Pla

tform

PaaS

Visualization Engine (Dashboards)

Hadoop HBase

User Interface

High Performance

Computing + Logic

Biz Hooks

Analytics Capability Others Business Solution SaaS

Analytics as a Service

Page 32: SpringPeople - Introduction to Cloud Computing

Cloud adoption strategies

Suitable for applications that still have a lifetime and need minimal re engineering to adapt to the cloud. Provides extended benefits through reduced operational costs and improved scalability and associated cloud benefits

Re Engineer for the Cloud Maturity

Suitable for new application development where the application can be built specifically to make use of the cloud platforms.

Architect for the Cloud Maturity

Approach suitable for applications that can be hosted on a cloud provider’s premises without much changes. Provides immediate benefits as application runs on the providers infrastructure.

Lift n Shift Maturity

Adoption approaches

Page 33: SpringPeople - Introduction to Cloud Computing

Cloud computing concerns

•  Progressive Architecture Development is where the overall architecture vision is broken into piece meal and developed over a period of time. The cloud approach should follow a similar approach.

•  This is particularly important because the cloud applications space is still maturing barring a few select players. The following are the typical impediments perceived by organizations when it comes to cloud application implementations.

• Current enterprise apps can't be migrated conveniently • Lock in with proprietary architecture • Risks – Legal, regulatory, and business • Difficulty of managing cloud applications • Lack of clarity of SLA ownership • Unclear ROI

Page 34: SpringPeople - Introduction to Cloud Computing

Internet of Things (IoT)

The Internet of Things (IoT) is the network of physical objects or "things" embedded with electronics, software, sensors and connectivity to enable it to achieve greater value and service by exchanging data with the manufacturer, operator and/or other connected devices.

-Wikipedia

How do these work? • Interactive smart tables • Smart refrigerators • Smart air conditioners • Mood based Ambiance • Smart water heaters • Control window shades from IP phones • Mars robots!

Page 35: SpringPeople - Introduction to Cloud Computing

Robot!

Page 36: SpringPeople - Introduction to Cloud Computing

IaaS - key aspects

•  Enterprise infrastructure •  Cloud hosting •  Virtual Data Centers (VDC) •  Scalability •  No investment in hardware •  Utility style costing •  Location independence •  Physical security of data center locations •  No single point of failure

Page 37: SpringPeople - Introduction to Cloud Computing

PaaS - key aspects

•  Managed services, foundation, APIs •  Managed runtime, no need to start, stop •  Managed infrastructure, agnostic on the nature of hardware the application

runs on, though the user can get some control of picking the type of machine

•  Extensive monitoring & Dashboards, allows for monitoring and also identifying application bottlenecks and helps in debugging

•  Auto scalability, can specify some limits to protect from malitious access •  Billing thresholds to keep a tab on the expenditure •  Alerts, always good to get informed "before" an outage •  Choice of programming language, customers have the ability to create

teams as per organizational strengths

Page 38: SpringPeople - Introduction to Cloud Computing

SaaS - key aspects

•  Allows for hosting and management of applications to a 3rd party provider •  Usually a complete business process that can be used in isolation or in

conjuntion with another business process to create composite macro business processes

•  3rd party provider is responsible for delivery SLA, L1 to L4 support etc •  Does not require any installation at the client location on any machine on

any device •  Pricing can be per seat or fixed price depending on the provider •  The provider typically has a multitenant architecture for one instance to

many client delivery models. This allows for economy of scale and reduces cost of usage

•  These are usually online applications, however there can be offline applications too using contemporary browser capabilities

Page 39: SpringPeople - Introduction to Cloud Computing

Closing thoughts

“Cloudcompu0ngasaconceptgluestogetherseveralother,oBenindependent,conceptsinacomplimentarywaytoopenupnew

opera0ngmodelsandopportuni0esforvariousindustries.

CloudCompu0nghasevolvedfrom,andextends,severalconceptsthathavebeenaroundforsome0me,suchasSaaS,u0lityCompu0ng,GridCompu0ng,Virtualiza0on,Real-Time

Infrastructure,WebPlaNorms,andSOA.”

Page 40: SpringPeople - Introduction to Cloud Computing

Online and Classroom Training on Technology Courses at SpringPeople

Certified Partners

Non-Certified Courses

…and many more