View
106
Download
0
Category
Preview:
Citation preview
Cloud Computing
By Nirmallya Mukherjee
§ 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
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
▶
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
▶
Service delivery models
Provided by Replaces / Uses / Enhances
Applica'ons Layer
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
▶
"SaaS","PaaS","IaaS","bigData","Elastic","Resilient" & "Subscription"
▶
SPIDERS & Cloud Attributes
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
Where are these things coming from?
▶
The Buildings
▶
A Perspective
▶
Degree of Abstraction
▶
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
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
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
▶
▶
Scalable & Resilient Apps Deployment
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
▶
• 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
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''
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 ▶
Brain freeze!!
▶
Whentousewhat?WhichoneisbeSer?
PaaS Overview
• Needs an operational IaaS to be "effective" • Abstracts the infrastructure layer completely • Provides monitoring at two levels
• Infrastructure • Application
▶
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
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"
▶
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 ▶
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
▶
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
▶
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?
▶
Challenges with Distributed Computing
• Heterogeneity • Fault handling • Consistency • Global concurrency • Upgrades and maintenance • Local resources - file system • Application sessions & transient data • Clock synchronization
▶
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
▶
Cloud architecture - An example
▶
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
▶
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
▶
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
▶
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!
▶
Robot!
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
▶
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
▶
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
▶
Closing thoughts
“Cloudcompu0ngasaconceptgluestogetherseveralother,oBenindependent,conceptsinacomplimentarywaytoopenupnew
opera0ngmodelsandopportuni0esforvariousindustries.
CloudCompu0nghasevolvedfrom,andextends,severalconceptsthathavebeenaroundforsome0me,suchasSaaS,u0lityCompu0ng,GridCompu0ng,Virtualiza0on,Real-Time
Infrastructure,WebPlaNorms,andSOA.”
▶
Online and Classroom Training on Technology Courses at SpringPeople
Certified Partners
Non-Certified Courses
…and many more
Recommended