Upload
davinder-kohli
View
220
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Lifting the technical curtain on IaaS, PaaS, iPaaS, SaaS tiers.
Citation preview
Picture – all cloud jargon
Un-clouding the cloudInside of IaaS, PaaS, iPaaS, SaaS
Davinder KohliJon Reber
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?
Picture – all cloud jargon
Infrastructure as a Service
Platform as a Service
Software as a Service
SaaS, PaaS, iPaaS, IaaS
iPaaS
?
Customers
Developers
Admin
Picture – all cloud jargonIntroduction
Davinder KohliManaging Technical ArchitectCloud Practice [email protected]
Jon ReberSr. [email protected]
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.
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.
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.
Picture – all cloud jargonJourney inside 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
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
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
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
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
Picture – all cloud jargonOpen Stack Architecture
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
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
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
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
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
Picture – all cloud jargonHeat Demo
Laptop - Windows
VmPlayer – Ubuntu 12.03
KVM
Node - FedoraHeat
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
Picture – all cloud jargonAnypoint Platform
Mule Studio
Mule ESBAnypoint connectors
Mule Enterprise
Management
Cloud Hub
develop select
deploy monitor
hosted
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
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
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
Picture – all cloud jargonDeveloper/Admin Responsibilities
Network
Storage
Servers
Virtualization
Guest OS
Middleware
Data
Applications
Admin
Developer
Picture – all cloud jargonSummary
• Improved conversations
• Improved decision making
• Architectural considerations
• Increased productivity
• Increased revenue
Picture – all cloud jargonReferences
Cloud Foundry
CloudHub
VmWare
Puppet
OpenStack
Eucalyptus