Hearing every permutation from the field:Some say they DON”T want hosted: They want to own their data, they are concerned about securitySome say they want only hosted..but..They are concerned about support in a hosted modelAnd Some don’t even know that they need thisBottom line, for now we need to support an installed model as well as a ‘hosted’ modelbut the writing on the wall is clear, the trend is towards zero install and support modelsTO ANSWER THE QUESTION WE DECIDED TO DO A POC USING Rightscale and AWS
Getting a vanilla server up takes 10 minutes the first time and then a light bulb goes off…wow…I could rule the world with this
After your first real app is running the cloud (not just wordpress) then all the questions ‘should’ start coming…lots of technical detail about scaling etc.
Last January we showed an early version of SM running in the cloud. Took about a week of figuring out the configurations, etc.So yes very doableBUT THE Business freaks out…Business entirely unsure since we have a lucrative ‘perpetual license’ model with no ‘subscription’ model in placewhat does it mean to our services business? Will it kill our perpetual license business? How will our high performing sales people react to sales which seem much smaller since the income is incremental over time.What about operations? Jobs? New responsibilities and skills needed? Etc….uncertainty principle
Anyway, this just illustrates some of the non-technical things that we had to worry about that were kind of surprising. THE NEXT SLIDE SHOWS THE BASIC TOPOLOGY WE ENDED UP WITH THAT IS ENTIRELY DEPLOYED AND MANAGED USING RS
We had several deployments we needed to manage, this shows the content server deploymentStatic content is served from a farm. All districts use the same content server farm
THE FULLY SCALABLE SOLUTION LOOKS LIKE THIS….
ALL OF THESE THINGS ARE AVAILABLE TO US FROM OUR RIGHTSCALE ENVIRONMENT and we use them…..BUT AGAIN YOU NEED TO THINK ABOUT ALL THES THINGS AND DESIGN THEM IN
OK, now let’s talk about the questions around managing a deployment to the cloud.The ‘push button’ deployment is a non-trivial thing, you really need to DESIGN a deployment for it to work like thatTHESE ARE THE KINDS OF QUESTIONS THAT COME UPOn the last point, for our application we may have a need for content server elasticity but we haven’t seen it yet or been able to load it to a degree that would warrant that
Automating code deployment is another critical point, we need it to be controlled, predictable, and easy to doLETS TACKLE SOME OF THESE QUESTIONS STARTING WITH HOW TO DEPLOY FROM A BUILD TO CLOUD….
Briefly talk about mgmt.THERE IS ANOTHER BASIC TAKEAWAY HERE
This is absolutely necessary because you do not want operations or anyone to be afraid of having many instances running nor do you want an impendence to deploying instances quickly. The operations team will need to buy in and so will need some handholding and mentoring. But the devs will need that too, they often don’t understand the ops world.Anyway, you need something like what we have with input variables to cover the kinds of things you will want to be leveraging in the cloud.We chose RightScale and it saved us tons of time once we learned how to use it.NOW THE QUESTION IS “WHAT ARE WE DEPLOYING TO” IN TERMS OF A SERVER (INSTANCES)
SmallMedium (High CPU)SA-SDSA-MDMA-SDMD-MA YOU NEED TO TEST FOR YOURSELVES THE PERMUTATIONS, ANOTHER REASON WHY AUTOMATION, IN THIS CASE TEST AUTOMATION, IS KEY You need to test for yourselves the permutations, another reason why automation, in this case ‘test automation’ and the ability to provision it quickly is keyBOTTOM LINE AND ANOTHER TAKEAWAY….
ONE ASPECT OF INTEREST IS HOW WE USE THE CLOUD IN DEVELOPMENT ACTIVITES….
QA can use for extra capacity, this is an example of eating our own dog foodSO THERE IS ANOTHER TAKEAWAY HERE
For end of sprint demos deploying working code to an externally accessible systemLETS TALK ABOUT MONITORING AND CONTROL NOW
We came up with the basic KPI’s, usual suspects RightScale console directly monitors/manages server instanceNeeded to integrate with existing Ops workflowsANYWAY, THERE ARE MANY ASPECTS OR CONCERNS ABOUT “MANAGEMENT”
Key Features for us are what you see….and some of the ways we used them.
Get them involved early, otherwise you will not be able to hand off cleanlyUntil operations has a prescribed way of doing this, for example if they adopt RightScale, it is incumbent to lead. Remember the other takeaway about including ALL stakeholders early on
Andy West – Director of Technology Architecture, Pearson
Welcome!<br />RIGHTSCALE USER CONFERENCECUSTOMER PRESENTATIONS<br />June 2011<br />
Andy West - Director of TechnologyPearsonRightScale Customer Presentations<br />
SuccessMaker in the Cloud<br />Images, Templates, Builds, Deployments, Management, Provisioning, and the rest of the Universe<br />
Elementary (K-8) <br />Essential concepts, skills, and strategies in reading and math<br />Adaptive initial placement learning<br />High stakes management reporting<br />15 years old with several platform incarnations<br />Currently in over 3500 schools with 2M kids<br />Successmaker.com<br />
Original Deployment Model<br />All software installed on a single server per school<br />Called it a ‘schoolhouse’ product<br />No district functionality or aggregated reporting<br />This was the SM2 release<br />
District Deployment Model<br />Deployed in district data center<br />Lots of reports<br />Release SM3<br />
What Our Customers Want<br />They want it all of course (!)<br />Lots of customers want hosted solutions while some actually ‘say’ they don’t<br />
Proxy Cache<br />A proxy cache can be used for local content delivery in the case of a slow WAN<br />Amazon Load Balancer<br />EC2 Instance<br />(Tomcat)<br />EC2 Instance<br />(Tomcat)<br />All static content is served from a content server farm<br />Content<br />
EC2 Instance<br />Amazon instances are provided according to scale needs. A single instance can be provisioned for a small district.<br />App Server<br />(Tomcat)<br />DB Server<br />(Postgres)<br />
Let’s talk (Deployment) Architecture<br />How to get from ‘named’ build to cloud server?<br />How to manage from an operations standpoint?<br />How to size the instances correctly? <br />What advantages/disadvantages over Pearson Data Center?<br />What are the opportunities for using ‘elastic’ provisioning?<br />
More (Deployment) Architecture<br />Several different configurations for different scale<br />Single server, dual server, multi-server<br />Tools and frameworks spread across servers<br />How to manage?<br />Considered ‘rolling our own’<br />Looked at Scalr, RightScale, Amazon console, Rackspace<br />
Again with the Management<br />Automation, Automation, Automation<br />Desired: ‘pushbutton’ deployments<br />Desired: ‘definitional’ deployments<br />Desired: automatic recovery<br />Desired: monitoring and alerts<br />
Takeaway #1<br />Development team should design a deployment architecture<br />Loop in Operations as soon as you have a reasonable plan<br />Automate your application deployments(!)<br />
Instance Types and Sizing<br />Different instance types based on computing capacity and needs<br />Types: On Demand, Reserved, Spot <br />Testing strategy to incrementally move up <br />Combinatorial explosion of possibilities in multi-server configurations<br />
Takeaway #2<br /><ul><li>Be prepared to test capacity on lots of instance types
Forget about small instances in production</li></li></ul><li>Developer Usage<br />Each sprint team can now have its own environment<br />QA had already worked this out with a VM environment<br />Can help devs especially with QA since there is a bottleneck with ‘testing’ servers being available<br />
Takeaway #3<br />Developers will love the ability to provision themselves<br />Allow it to happen<br />Force it to happen<br />
Application Health<br />Monitor KPI’s like memory usage, CPU, local disk, etc. <br />Scripts are defined to alert based on thresholds<br />
Key Features of for Us<br />Automation, Automation, Automation<br />Allows ‘ServerTemplate’ definition<br />Includes all the scripts necessary to bring up a server<br />Allows input variables for ‘instance’ specific criteria such as tuning parameters<br />Allows ‘Deployment’ definition<br />A group of templates that work together<br />Allows input variables for ‘instance’ specific criteria such as a subdomain name<br />
More …<br />Monitoring<br />Uses tools installed with the template that can talk to the RightScale platform application<br />Macros<br />Enable higher level scripting of the deployments<br />User management<br />Can constrain access and control for deployments and templates<br />
Takeaway #4<br />Don’t shortchange operations involvement<br />Lead the way with the control and monitoring strategy for your app<br />
Summary<br />Engage all stakeholders early<br />Design a deployment architecture<br />Testing and automation are your friends<br />Use it now in development and testing<br />Pick a management strategy that will work for Operations<br />Etc.<br />Questions - email@example.com<br />
We hope to see you at our next RightScale User Conference!<br />See all presentations and videos at RightScale.com/Conference.<br />