29
Picture – all cloud jargon Un-clouding the cloud Inside of IaaS, PaaS, iPaaS, SaaS Davinder Kohli Jon Reber

Un-clouding the cloud

Embed Size (px)

DESCRIPTION

Lifting the technical curtain on IaaS, PaaS, iPaaS, SaaS tiers.

Citation preview

Page 1: Un-clouding the cloud

Picture – all cloud jargon

Un-clouding the cloudInside of IaaS, PaaS, iPaaS, SaaS

Davinder KohliJon Reber

Page 2: Un-clouding the cloud

Picture – all cloud jargonWhy should I care?

Market direction•Currently 10% of the software is on the cloud and by 2020, 25% of the software will be on the cloud and 75% on premise - Mr. Gelsinger, CEO VmVare

•The use of cloud computing is growing, and by 2016 this growth will increase to become the bulk of new IT spend. ... 2016 will be a defining year for cloud as private cloud begins to give way to hybrid cloud, and nearly half of large enterprises will have hybrid cloud deployments by the end of 2017.“ – Gartner

•IDC estimates the private cloud market totaled $12.3 billion in 2012 and will increase to more than $22.2 billion in 2017.

Demystify terminology•Meaningful conversations•Interplay of technologies

Understand cloud landscape•Tool evaluation and prototyping•Pick the tools that meet your organization’s /customer’s needs

Private/Hybrid Cloud•What, Why, How?

Page 3: Un-clouding the cloud

Picture – all cloud jargon

Infrastructure as a Service

Platform as a Service

Software as a Service

SaaS, PaaS, iPaaS, IaaS

iPaaS

?

Customers

Developers

Admin

Page 4: Un-clouding the cloud

Picture – all cloud jargonIntroduction

Davinder KohliManaging Technical ArchitectCloud Practice [email protected]

Jon ReberSr. [email protected]

Page 5: Un-clouding the cloud

Picture – all cloud jargonCloud or Virtualization

On-demand self-serviceA consumer can unilaterally provision computing capabilities - server time, network storage automatically.

Broad network accessCapabilities are available over the network and accessed through standard mechanisms.

Resource poolingComputing resources are pooled to serve multiple consumers using a multi-tenant model. These can be scaled up or down based on demand.

Rapid elasticityCapabilities can be elastically provisioned and released based on demand. To the customer, these capabilities appear to be unlimited and can be appropriated in any quantity at any time.

Measured serviceMonitor, control, and report resource utilization to consumers.

Page 6: Un-clouding the cloud

Picture – all cloud jargonOn-premise Vs. Cloud

• On-premiseVirtualized/Non-virtualized infrastructure that supports application and data within an organization

• PublicCloud infrastructure is made available for general public and is owned by organization selling cloud service

• PrivateCloud infrastructure is solely for an organization managed internally or externally

• HybridCloud infrastructure is a composition of private and public clouds.Built on technology that enables data and application portability.Cloud bursting for load balancing.

Page 7: Un-clouding the cloud

Picture – all cloud jargonWhy private cloud?

• SecurityBetter control on users accessing servicesIntegration with organization’s enterprise security

• Maximum resource utilizationEfficient use of organization’s resources

• ReliabilityOrganization is solely responsible for its SLAs.

• CustomizedInfrastructure is customized to meet organization’s needs.

• Organization agilityShorten delivery cycles and accelerate time to market– Quickly spawn virtualized machines with ISO– Cloud management self-service portals

• Better testing envSpawn VM instances with different test environments.

Page 8: Un-clouding the cloud

Picture – all cloud jargonJourney inside the cloud

Page 9: Un-clouding the cloud

VM

Inside IaaS

16 Core CPU, 4GHz, 40GB Disk, 8GB RAM

Hypervisor

RHEL

SAN

• Bare MetalActual hardware – performance gains with VT enabled processor

• HypervisorType I - VmWare ESXi, Citrix XenServer, Microsoft Hyper-V, Oracle VMType II - VmWare Workstation, Virtual BoxType I/II - KVM allows the host OS to act as bare metal

• Virtual MachineRuns the guest OS

• Host MachineOS that hosts the hypervisor in type II config

• Elastic Block Store - SANStorage for persistent dataNot shared between VMs

• Multi-tenancyAvailabilitySecure SeparationService AssuranceManagement

App1

App2

App3

App4

App5

Type I

16 Core CPU, 4GHz, 40GB Disk, 8GB RAM

Hypervisor - A

SAN

Type II

Host OS

VM

UBuntu

VM

CentOS

Hypervisor - B

VM

RHEL

App1

App2

App3

App4

App5

VM

UBuntu

VM

CentOS

Page 10: Un-clouding the cloud

Typical IaaS Architecture

Criteria for architecture• Use case driven –

Development/Testing– Lifetimes of VM– Data persistence beyond

VM lifetime

• Capacity – User Volume• High Availability• Performance• Cost

Node ControllerNetwork

CloudController

ClusterController

Node Controller

Node Controller

Node Controller

AdminConsole

StorageController

ImageService

Identity Management

UsageReporting

HealthMonitoring

VM VM

Page 11: Un-clouding the cloud

Picture – all cloud jargonIaaS Capabilities

• Create, start, stop, remove virtual machines

• Assign guest VMs to particular hosts

• Assign public and private IP addresses to particular accounts

• Allocates storage to guests as virtual disks

• Manages snapshots, templates, and ISO images

Page 12: Un-clouding the cloud

Picture – all cloud jargonIaaS Technologies

• Open source• Linux services – CentOS 6,

RHEL 6, 64-bit architecture• Hypervisor – ESXi, KVM,

XEN• Fully integrated with AWS

• EC2• S3

• Supports Cloud Bursting• Free & Paid version• Components:

• Cloud controller• Cluster controller• Node controller• Storage controller• Walrus• vmBroker-optional

• vCloud Suite• Hypervisor – ESXi• Services based on

VMKernel• Components:

• vCloud Director• vCenter• vSphere• vCloud Networking

& Security• vCloud Site

Recovery Manager

• Apache Open source 4.2.1• Linux services – CentOS 6,

RHEL 6, Ubuntu 12.04, 64-bit architecture

• Hypervisor – XenServer, ESXi, Oracle VM, KVM, Bare metal

• Fully integrated with AWS• EC2• S3

• Supports Cloud Bursting• Components:

• Horizon• Nova• Cinder• Glance

Page 13: Un-clouding the cloud

Picture – all cloud jargonOpen Stack

• Public or Private cloud• Apache 2.0 licensed• Releases – Icehouse (2014.1), Havana (2013.2), Grizzly (2013.1)• Technologies – Python, Rabbit MQ, MySQL/PostgreSQL, libvirt driver, Linux

based services, Django

Page 14: Un-clouding the cloud

Picture – all cloud jargonOpen Stack Architecture

Page 15: Un-clouding the cloud

Picture – all cloud jargonPaaS – Value Proposition

Increase deployment speed & agility– Reduce length & complexity of app lifecycle – Prevent loss in revenue– Automate provisioning, management, and auto-

scaling of applications and services on IaaS platform

– Support continuous delivery

Reduce infrastructure operation costs– Automation of admin tasks

Page 16: Un-clouding the cloud

PaaS Ecosystem

Inside PaaS• Master/Agent

o Agent architecture - Chef, Puppet, Bosh

o Agentless architecture – Ansible

• Management Consoleo Node/Agent/VM management

dashboardo User management

• Monitoringo Agent node heartbeato Master/agent plugin

• Storage Servero Stores node detailso Application files

IaaS Platform(VmWare, OpenStack, CloudStack, Eucalyptus)

VM VM VM VM

Master

Management Console

Agent

MonitoringStorage Server

Developer EnvDeployment

ScriptIDE

Page 17: Un-clouding the cloud

PaaS Technologies

Heat

• Open source, Ruby, PuppetLabs

• OS: Linux, Windows• Manage up to 50K machines• Puppet agent collects facts

and sends it to Puppet master

• Master uses facts to create a catalog and sends Modules[manifest1, manifest 2,…] to agent.

• Events generated during application of catalog on agent are sent to master as reports.

• Open Source, Pivotal• Supported IaaS: vSphere,

OpenStack, AWS• Built on BOSH• Components:

• Router• Cloud Controller• Droplet Execution

Agent• Health Manager• Service Provisioning

Agent• Messaging System

• Apache Open source 4.2.1• Linux services – CentOS 6,

RHEL 6, Ubuntu 12.04, 64-bit architecture

• Components:• Stack• Template• Resources• Heat Engine

Page 18: Un-clouding the cloud

Cloud Foundry powered cloudWorking• Cloud Foundry plugin for STS/Eclipse• Manifest.yml - contains deployment script

• cf push - CF stages files, creates a droplet, selects DEA to execute the droplet, starts app

• Organization– Logical grouping of spaces– Domain (stagrp.com) assigned to multiple spaces– Assign memory

• Automatic Service Binding – resources outside of your app, e.g. database, queue

VM Node• StemCell – VM Template (OS, BOSH Agent)

Scaling to meet change in user load• Horizontal Scaling: cf scale <appName> -i 3• Vertical Scaling: cf scale <appName> -k 512M

App1.stagrp.com

App2.stagrp.com

STS/EclipseCF plugin

Manifest.yml

OrganizationCloud Foundry

VM Node

Service Broker

Cloud Controller

Blob Store

App files, buildpacks

cf push

DEA (Staging)

Stage app

Droplet

tar

DEA

Run staged app

VM Node VM NodeMySQL Redis MQ

DEA DEA

CCDBHealth

Monitor

Page 19: Un-clouding the cloud

Node Server

Control Server

Puppet powered cloudEnvironment setup• Puppet Master Server is installed with Puppet

Enterprise

Provisioning a new app server• puppet node_vmware create

– Creates a new VM with installed OS• puppet node install

– Install puppet on node• puppet node classify

– Applies configuration and classes to node• puppet cert sign

– Authentication setup• Wait 30mins, OR,• ssh to the node

– puppet agent --t

Result• New VM node with Puppet• Node is authorized member of the app server

infrastructure• App server deployed handling increase in load

Load Balancer

App Server App Server App Server

DB

App Server

Puppet Master Server

Puppet Agent Node - VM

Puppet Agent Node - VM

Console Server

Puppet DB Server

Page 20: Un-clouding the cloud

Picture – all cloud jargonHeat Demo

Laptop - Windows

VmPlayer – Ubuntu 12.03

KVM

Node - FedoraHeat

Page 21: Un-clouding the cloud

Picture – all cloud jargoniPaaS

Integration platform hosted on Cloud

Allows service integration Cloud to Cloud Cloud to On-premise

Cloud Hub (Mulesoft) Integrated with MuleStudio Highly available, scalable Private cloud support Insight – monitoring, deployment status

Page 22: Un-clouding the cloud

Picture – all cloud jargonAnypoint Platform

Mule Studio

Mule ESBAnypoint connectors

Mule Enterprise

Management

Cloud Hub

develop select

deploy monitor

hosted

Page 23: Un-clouding the cloud

Picture – all cloud jargonExample Use Case - Conceptual Architecture

Cloud Hub

Mule ESBGET followers/ids

Scrub data, determine new followers

Store new followers

Insight

Send alerts

Page 24: Un-clouding the cloud

Picture – all cloud jargonInside SaaS

• Characteristics of SaaS application– Scalable, decoupled components– Run on shared infrastructure – Oblivious to the IaaS or PaaS tiers– Pay-as-you go model

• Designing a SaaS application– Stateless web apps– No hard coded connections– Local file system is short-lived– Self-service– Multi-tenancy support

• Unique app and db• Share app but unique db• Share app and db (logical separation)

– Expose API for integration– Security (authentication/authorization)

VM VM VM

App 1

App 1

VM

SAN

VM VM VM

App 1

App 1 1

VM

2

SAN

Page 25: Un-clouding the cloud

Private Cloud - Example

64 –bit Machine

Open Stack

UBuntu

64-bit Machine

Open Stack

UBuntu

Glance

Keystone

Nova-Scheduler

MySQL

Nova

KVM

VM VM

Cloud Controller Compute Node

Rabbit MQ

Developer machineAdmin machine

Horizon

WAR

64 –bit Machine

Open Stack

UBuntu

Nova

KVM

VM VM

Compute Node

Page 26: Un-clouding the cloud

Picture – all cloud jargonDeveloper/Admin Responsibilities

Network

Storage

Servers

Virtualization

Guest OS

Middleware

Data

Applications

Admin

Developer

Page 27: Un-clouding the cloud

Picture – all cloud jargonSummary

• Improved conversations

• Improved decision making

• Architectural considerations

• Increased productivity

• Increased revenue

Page 29: Un-clouding the cloud