San Francisco
Aug 20, 2015
San Francisco
# 2 # 2 #
#rightscale!
Today’s Agenda!
1:30 Accelerate to Cloud Rishi Vaish, RightScale, VP Product
2:15 "Introduction to Google Compute Engine Michael Grabowski, Google, Sales Engineer & Solutions Architect!
2:30 "Demo: Agility in a Cloud-Enabled Enterprise Ryan Geyer, RightScale, Cloud Solutions Engineer!
3:00 Customer Stories Robert Ford, WellFX, Director Development Operations Geoffrey Smalling, 500friends, CTO Matt Wise, Nextdoor, Sr. Systems Architect
4:15 Plot Your Route Rishi Vaish, RightScale, VP Product
4:30 "Networking and Cocktails
# 3 # 3 #
#rightscale!
Global Cloud Management Service!
Amazon Web Services Datapipe Google Cloud Platform HP Cloud
Singapore
Hong Kong
Tokyo
Dallas
DC Area
NYC Area
SF Area
Seattle
Chicago
Dublin
London Amsterdam
Hyderabad
Private Clouds
Public Clouds
Oregon
São Paulo
Tata Windows Azure
Las Vegas
IDCF / Yahoo! Japan Logicworks Rackspace SoftLayer
Southeast
Midwest
Shanghai
Sydney
# 4 # 4 #
#rightscale!
3 Steps to Accelerate Your Cloud!1 Get Out Your Map
2 Pick Your Destination
3 Plot a Route
#
#rightscale!
Get Out Your Map!
# 6 # 6 #
#rightscale!
Choice!The Rise of the Clouds
# 7 # 7 #
#rightscale!
What a Difference a Year Makes!
Open Sourced
Goes OpenStack Launched
Adds Australia
GA
Apr Jun Aug Oct Dec Feb Apr
2012! 2013!
Launched
Grizzly Released
vCHS GA
Jun Aug
# 8 # 8 #
#rightscale!
Hybrid Matures!All of the Above
Single private 5%
Single public 11%
No plans 7%
Multi-public 15%
Multi-private 15%
Hybrid cloud 47%
Multi-cloud 77%
Source: RightScale State of the Cloud Report 2013
# 9 # 9 #
#rightscale!
Evolution of Hybrid Architectures!From a Portfolio of Resource Pools…
App 1 App 2
Public Cloud!
App 3 App 4
Private Cloud!
App 2
…to a unified Resource Pool.
# 10 # 10 #
#rightscale!
Using!Cloud!Unlocks!Value
# 11 # 11 #
#rightscale!
Cloud Maturity Model!
8%! 17%! 26%! 23%! 26%!
Source: RightScale State of the Cloud Report 2013
Cloud!Watchers!
Cloud!Beginners!
Cloud!Explorers!
Cloud!Focused!
No!Plans!
Planning! First project! Apps running! Heavy use!
# 12 # 12 #
#rightscale!
Benefits Grow!
0%
20%
40%
60%
80%
100%
Cloud Beginners Cloud Explorers Cloud Focused
% o
f Res
pond
ents
Business continuity Higher performance Geographic reach IT staff efficiency Higher availability Faster time to market with apps Greater scalability Faster access to infrastructure
12 Source: RightScale State of the Cloud Report 2013
#
#rightscale!
Pick a Destination!
# 14 # 14 #
#rightscale!
What Do You Need to Consider?!
# 15 # 15 #
#rightscale!
Consideration: Consistency !
Consistent performance & reliability Consistent utilization
# 16 # 16 #
#rightscale!
Consideration: Security !Security outside the private network Heterogeneous APIs and behaviors
# 17 # 17 #
#rightscale!
Consideration: Waste!
Simple, flexible ordering Complex merchandising and procurement Self-service de-provisioning
# 18 # 18 #
#rightscale!
Consideration: Automation!Architectural rework Dynamic configuration Integrated monitors and orchestration
# 19 # 19 #
#rightscale!
Consideration: Tracking & Planning!
Budgeting Chargeback Purchase options
# 20 # 20
#rightscale!
#
Why!Cloud!Management?!
Google Compute Engine
Michael Graboski https://cloud.google.com/
Overview of Google Cloud Platform
Google Infrastructure
Performance
Redundancy
Disaster Recovery
Audits & Certifications
Security
Energy Efficient
Global Data Centers
99.95% Uptime SLA
Compute Storage Services
Compute Engine (IaaS) App Engine (PaaS)
Cloud Storage (Object) Cloud SQL (Relational)
BigQuery Cloud EndPoints Caching Queues and more...
Cloud Platform Google Services
Overview of Google Compute Engine
Google Compute Engine
• Run almost any application on Google's infrastructure
• Offers virtual machines, storage, networking
• Allows services to scale efficiently with little work
Google Compute Engine in pictures
Linux VMs • Modern CPU • 1, 2, 4, 8 CPUs • 3 memory sizes
(RAM per CPU): o standard:
3.75GB o highcpu: 0.9G o highmem: 6.5G
• Root access
Google • World class high performance elastic infrastructure • Globally Available with low latency network connectivity • On Demand pricing with sub hour billing
RightScale • Pioneers of Cloud Management enabling thousands of users and powering
hundreds of cloud deployments globally over the last 6 years • Proven expertise with services and support • Best practice deployment strategies and product ensure high availability and
disaster recovery
Marrying highly performance and inexpensive infrastructure with the world’s #1 cloud management platform enables businesses to succeed on cloud!
RightScale + Google = Success on Cloud
High-end networking
Geo-Distributed
Very high Reliability
Strong performance
Governance
Multi-Cloud
One-click Deployment
Templatized Workload Low Cost
Automation
Better Together
Stories from the field
Customer case study - Mobile Gaming
Customer: Mobile gaming Project: New game title, launching in Feb Cloud requirements: ● Single Reference deployment
that be re-deployed across iOS & Android platforms
● Scalable Database layer, scaling the DB layer vertically and horizontally with slaves
Appendix
Cloud Based Analytics Platform
Store
Backends + MapReduce
Extract & Transform
Hadoop
BigQuery
API SQL
Analyze interactively Serve
Logstore
Cloud Storage
Datastore
Log data
Unstructured data
Structured data Interactive
Dashboards + apps
Application level code
Custom logic & 3rd party libraries
BI tools
Google Spreadsheets
RightScale and Google to-date: • Complete integration with Google Compute Engine
• Customers already running in beta
RightScale and Google are better together! • Combine the speed of GCE with the flexibility of RightScale to provision entire environments in minutes
• Reproduce existing deployments for development and testing with the click of a button
• Generate rich media and push to outlets like YouTube, G+, and other Google Properties without being charged for bandwidth!
RightScale’s Seamless GCE Integration
# 34 # 34 #
#rightscale!
What Defines Business Value For You?!
Increase Enterprise Agility
Drive Operational Efficiencies
Expand Markets & Capabilities
Increase Investment Flexibility
Faster Time to Market Accelerate Innovation Fail (or Succeed) Fast
Cut Infrastructure Costs Reduce Overprovisioning Increase IT Efficiency
New Geographies New Capabilities Web-Scale Applications
CapEX to OpEX Reduce sunk costs Increase spending visibility
Reduce Risk Increase service availability Secure environments Reduce vendor lock-in
# 35 # 35 #
#rightscale!
Cloud Management is…!A framework of tools to solve cloud challenges and increase your ability to enjoy cloud benefits !1. Self-service accessibility of an approved configuration menu 2. Consistency and reliability of shared, commodity resources 3. Elastic, instantaneous scalability driven by automation!
4. Visibility across the organization and security across resources 5. Usage and cost transparency and optimization!
# 36 # 36 #
#rightscale!
Time for a Test Drive…!
# 37 # 37 #
#rightscale!
The RightScale SaaS Platform!On-Demand Access to Cloud Cloud Now
Proven Scalability and Reliability Rock Solid
Deploy Anywhere, Move Anywhere Freedom of Choice
Data-Center Independent Control Plane Enterprise SLAs
Auto-Upgrades Keep You Current No Worries
Extensive API for Easy Integration Connection-Ready
RightScale Automa0on
October 24, 2013
Agenda
• Why WellFX chose Rightscale • WellFX Architectural Overview • Automated Rolling Deployments • Extending Rightscale Tools • (if I don't run out of 0me)
• WellFX is a Social Pa0ent Engagement PlaNorm
λ Personal Health Record
λ Social Interac0on with Cohort
λ Learning & Knowledge Management
λ Mul0-‐Party Tele-‐Health
λ Care Team Collabora0on
What is WellFX?
Why Rightscale
λ Speed λ Library of Server Templates and Scripts λ Rightscale On-‐boarding
λ Quality λ Repeatable and Consistant deploys using templates λ Monitoring and aler0ng
λ Cost λ Great service at a great price
MongoDB Replica Set
Solr Master/Slave
Openfire Cluster
RabbitMQ (Cluster)
Tomcat Load Balance
HAProxy
Stun/Turn Server (video chat)
Licode (video chat)
WellFX Architectural Overview
Rolling Deployments
• Re-‐launch or Re-‐deploy
λ Re-‐launch will terminate exis0ng servers and launch a new servers
λ Re-‐deploy will just deploy a new WellFX war file to the exis0ng servers
• Gradle
λ Manages script dependencies λ Can use exis0ng java libraries
• Jenkins CI
λ Used to kick off deployments
Re-Deploy Steps
• Login to Rightscale REST API • Disconnect from load balancers by using runscript api • Watch status of runscript opera7on • Watch HAProxy status page to make sure server is truly disconnected • Re-‐deploy war file by using runscript api • Watch status of runscript opera7on • Check url to make sure app is up and opera0onal • Re-‐connect to load balancers by using runscript api • Watch status of runscript opera7on • Watch HAProxy status page to make sure server is truly connected
build.gradle
servers.each { serverName, serverId -> println "Deploying ${serverName}:${serverId}..." def rsServer = rsapiGet("servers/${serverId}").getData() println "server state: ${rsServer.state}" if (rsServer.state == 'operational') { def interval = 10000
// Unregister from all load balancers def rsServerSettings = rsapiGet("servers/${serverId}/settings").getData() config[env].loadbalancers.aws.each { name, lbId -> println "Deregistering instance id ${rsServerSettings['aws-id']} from AWS loadbalancer: ${lbId}" elbDeregister("${lbId}", "${rsServerSettings['aws-id']}") } config[env].loadbalancers.haproxy.each { name, lbId -> println "Deregistering instance id ${rsServerSettings['aws-id']} from HAProxy loadbalancer: ${lbId}" haproxyDeregister("${serverId}") }
rsapi.gradle (rsapiGet)
ext.rsapiGet = { rsapi ->
// set the RS authentication cookie ext.login = rsapiLogin() rsclient.request(Method.GET, ContentType.JSON) { req -> uri.path = "/api/acct/${account}/${rsapi}" uri.query = [ 'format' : 'js' ] headers << [ 'X-API-VERSION' : "1.0", 'Cookie' : "${cookie}" ] response.success = { resp, json -> resp.setData(json) //println "response data: ${resp.getData()}" return resp } response.failure = { resp -> println "Unexpected failure: ${resp.statusLine}" return resp } }
}
build.gradle ... // Execute redeploy script println "${config.deployScripts}" config.deployScripts.each { scriptEntry -> def script = scriptEntry.value println "name: ${script.'name'}" println "id: ${script.'id'}" println "packageInput: ${script.'packageInput'}" println "packageExt: ${script.'packageExt'}" def params = [:] params << [ "server[parameters][${script.'packageInput'}" : "text:products/${script.'name'}/${script.'name'}-${version}-r${revision}.${script.'packageExt'}" ] // Update the common properties file as well params << [ "server[parameters][PROPERTIES_CODE_PACKAGE]" : "text:products/common/common-${version}-r${revision}.tgz" ] updateInputs("${serverId}", params, 'current') // Now add in the right_script params << [ 'right_script' : "https://my.rightscale.com/api/acct/${account}/right_scripts/${script.'id'}" ] //println "${params}" def resp = rsapiPost("servers/${serverId}/run_script", params) ...
rsapi.gradle (rsapiPost)
rsapiPost = { rsapi, params=[:], pbody="" -> // set the RS authentication cookie ext.login = rsapiLogin() params << [ 'api_version' : '1.0' ] // note: Everything you need will be in the response headers (ex: Location) rsclient.request(Method.POST, ContentType.JSON) { req -> uri.path = "/api/acct/${account}/${rsapi}" uri.query = params headers << [ 'X-API-VERSION' : "1.0", 'Cookie' : "${cookie}" ] body = "${pbody}" response.success = { resp -> println "Response: ${resp.statusLine}" if (resp.data != null) { println "resp.data = ${resp.data}" } // In Post commands we want the resp as the data should be empty return resp } response.'406' = { resp → // Some Rightscale APIs don't like the JSON response type even though this is a post // and nothing should be returned anyways so we just swallow this error return resp } response.failure = { resp -> println "Unexpected failure: ${resp.statusLine}" return resp } } }
build.gradle
... println "${resp.headers.location}" def locationlist = resp.headers.location.split("/") def statusId = locationlist[locationlist.size()-1] println "statusId = ${statusId}" def status = rsapiGet("audit_entries/${statusId}").getData() println "status.state = ${status.state}" def count = 0 def laststate = status.state while ( ! ['completed'].contains(status.state) && count < 20) { sleep(interval) status = rsapiGet("audit_entries/${statusId}").getData() if (status.state == laststate) { print "." } else { laststate = status.state println "time: ${count * (interval/1000)} secs" println "status: ${status.state}" count = 0 } count = count + 1 ... }
Extending Rightscale Tools
λ Why Extend Rightscale Tools λ WellFX needed “at rest” data encryp0on for HIPAA λ Rightscale Tools already had great Block Device support λ Lots of Rightscale scripts for automated snaphots
λ LUKS “inserted” into block device λ Reviewed all the Rightscale Tools gem package code λ Found all the places needed to “insert” LUKS support into the Block Device at the right level
λ Re-‐Package Rightscale Tools gem λ Re-‐abached to Rightscale Tools Install Rightscript
λ Benefit λ Same Rightscale scripts for crea0ng and snapshocng EBS volumes
λ Same support for mutliple EBS volumes
Building Healthier Communi0es
&
Reducing Healthcare Costs
NEXT GENERATION LOYALTY
Confidential. © 2013 500friends, Inc. All rights reserved. 53
WHO WE ARE: Helping the Retailer Fight Amazon
AWARDS
500friends is a full-service provider of next generation loyalty marketing solutions.
Based in San Francisco, California
Backed by Intel Capital, Crosslink Capital, and Fung Capital
Trusted by 40+ of the top 1000 retailers
Confidential. © 2013 500friends, Inc. All rights reserved. 54
WE ENABLE NEXT GENERATION LOYALTY
• Mobile SDK
• Robust APIs
• Social
• Personalized
• Dynamic
• Social Graph
• ROI Focus
• Actionable
DEEP ENGAGEMENT
RICH DATA OMNICHANNEL INTEGRATION
• In-house professional services
• Certified agency loyalty partners
STRATEGIC SERVICES
Confidential. © 2013 500friends, Inc. All rights reserved. 55
TRUSTED BY 40+ TOP RETAILERS
Confidential. © 2013 500friends, Inc. All rights reserved. 56
Built to Scale Securely In High Availability
• Network Security – VPC, Subnets, and Security Groups • RightScale Arrays- Auto scaling arrays for App Servers • Staging and Production are identical in the cloud
Virtual Private CloudAvailability Zone us-east-1c Availability Zone us-east-1d
HA Proxy Servers Security Group
App Servers Security Group
Database Servers Security Group
HA Proxy Servers Security Group
Database Servers Security Group
Services Security Group App Servers Security Group Services Security Group
db-masterMySql
db-slaveMySql
NginxPassenger
RailsMemcached Memcachednginx
Fusion PassengerRails
HAProxy HAProxy
Active-ActiveLoad Balanced
ElasticSearch ElasticSearch
VPC Subnet
VPC Subnet VPC Subnet
VPC Subnet
RightScaleArray
Confidential. © 2013 500friends, Inc. All rights reserved. 57
Starting to get traction
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Cumulative Managed Customers
Cumulative Managed Customers
Confidential. © 2013 500friends, Inc. All rights reserved. 58
Transactions Per Month
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
Transactions Per Month
Confidential. © 2013 500friends, Inc. All rights reserved. 59
Agile Development and Operations – Fast to market
• Zero Capex Costs – Cash is King • Automated Deployment • Ease of experimentation • Quicker SOX Compliance • Corporate Datacenter Extension • Fast DevOps Cycle Time
Confidential. © 2013 500friends, Inc. All rights reserved. 60
Automated Deployment – Blue Green
Virtual Private CloudAvailability Zone us-east-1c Availability Zone us-east-1d
HA Proxy Servers Security Group
App Servers Security Group
Database Servers Security Group
HA Proxy Servers Security Group
Database Servers Security Group
App Servers Security Group
db-masterMySql 5.1
db-slaveMySql 5.1
HAProxy HAProxy
Dynamic DNSTwo AZ
VPC Subnet VPC Subnet
nginxFusion Passenger
Rails
nginxFusion Passenger
Railsnginx
Fusion PassengerRails
nginxFusion Passenger
Rails
• Deployments launch 100% new servers from RightScripts • Regression tests run, automated and manual • Upon 100% confidence, servers are swapped in • Old servers are kept for rollback, terminated ~2 days later
Confidential. © 2013 500friends, Inc. All rights reserved. 61
Faster Solutions –Access to Innovation
• Scale quickly approaching 6x previous month
Redshift – Highly scalable Data Warehouse Complex segmentation to drive rich personalization
ElasticSearch –scalable search and time based analytics Finding customers via various attributes for large retailer
Confidential. © 2013 500friends, Inc. All rights reserved. 62
500Friends
LoyaltyPlus Software Platform
Server Script Configuration
External Vulnerability Scans
Availability Monitoring
24 / 7 On Call Rotation
CloudPassage
Secure 2 Factor Authentication
Internal Vulnerability Management
File Integrity Management
Intrusion Detection
Firewall Automation
Logging and Alerting
RightScale
Best Practice �Build Scripts
Versioned Change Management
System Management
Auditing
Amazon Web Services
Physical Data Center
Network
Compute
RedShift Data Warehouse
CDN
Security Taken Seriously - 500Friends Ownership, Shared Responsibility
Confidential. © 2013 500friends, Inc. All rights reserved. 63
100% Cloud Company Goes Hybrid Cloud
Virtual Private Cloud
VPC Private SubnetAvailability Zone us-east-1c
VPC Public Subnet
HA Proxy Servers Security Group
ESXi of XEN or Other VM
500Friends Corp Disaster Recovery
Virtual Private Cloud
VPC Subnet Private
LDAPSAMB
ADNS
500Friends Office
OpenLDAPSAMBA DNS Anti
Virus
VPN Tunnel VIA Fortinet 90d
Remote workers
Office Workers
Fortinet IPSEC VPN
VPN Tunnel VIA Fortinet 90dEngineering ACL
App Server Group
Database Servers Security Group
Memcached Security Group
db-masterMySql 5.1
App ServerMemcached
HAProxy
Security Group
Fortinet Firewall
Confidential. © 2013 500friends, Inc. All rights reserved. 64
Chef Scripts: Local Development Very Similar to Staging / Production
Local Development Machine
Staging and Production Clouds
App Server Memcached
HAProxy
App Server Memcached
HAProxy
Vagrant VirtualBox Dev Team
Admin
#
#rightscale!
#
#rightscale!
Plot Your Route!
#
#rightscale!
Where to Start: Segment Your App Portfolio!
• Greenfield • Designed for
cloud
• Web architecture
• Elastic design
• Monolithic • Hairball
• Legacy • Standard
technologies
Elastic Web Traditional Cloud-Ready
ROI
Nightmare
# 68 # 68 #
#rightscale!
Evaluating Applications for the Cloud!• Business impact
• Should we put this app on the cloud? • What benefits will we get?
• Technical requirements • Can we put this app on the cloud? • How much will migration or build out cost?
• Choose the best ROI
• High business impact • Appropriate technical requirements
# 69 # 69 #
#rightscale!
Business Impact: Framework Sample!App 1 App 2 App 3 App 4 App 5
Business Impact Fast time to market u u u u u Experimental u u u u u Demand fluctuation u u u u u Transitory/Time limited u u u u u Many instances u u u u u Many changes u u u u u DevOps u u u u u New geographies u u u u u New capabilities u u u u u OpEX is desirable u u u u u
# 70 # 70 #
#rightscale!
Technical Fit: Framework Sample!App 1 App 2 App 3 App 4 App 5
Governance Factors Data Residency u u u u u Regulatory (PCI, HIPAA) u u u u u Security Requirements u u u u u Technical Requirements Load Balancer: Session
Affinity u u u u u
Application: Licensing u u u u u Cache: Persistent u u u u u Database: Working set size u u u u u Security: Egress filtering u u u u u …
# 71 # 71 #
#rightscale!
Refactor
Don’t Migrate Hold Off
Quick Wins Rank Your Apps to Prioritize!
App 9
App 7
App 2
App 3
App 5
App 1
App 4
App 8
App 6
Busi
ness
Impa
ct
Technical Fit
# 72 # 72 #
#rightscale!
4 Common Starting Points!Marketing Campaigns
Mobile Apps
Self Service Test & Dev
Batch Processing
# 73 # 73 #
#rightscale!
Your Cloud Team: Org Implications!
Create a cloud team with a mix of new and existing talent Evaluate existing processes, tools are only part of the story Focus on business drivers – agility, efficiency, new markets, opex
# 74 # 74 #
#rightscale!
A Cloud Itinerary!• Lay out your cloud strategy
• Understand your Business Value Tracks • Develop your goals, what you want to accomplish • Determine how you will evaluate success
• Select applications and use cases based on ROI • Start with the best, not the worst, technical fit • Align to meaningful business impact • Favor greenfield and cloud-friendly applications
• Get started • Stand up an application on a public cloud • Run a POC private cloud • Start using tools that will make scaling your cloud strategy easier