Technology is often 2 to 5 years ahead of the general market. In some cases, sadly it’s even more. Change is needed whether it be over policy, cost or an environmental factorTrying to put the information out there in advance so that consumers are ready when change happensSo later in the presentation, I have (4) new revelations to discuss to brace you for this change.
Before we look at my topics, let’s discuss a few misses from the past
In 2006 the International Astronomical Union (IAU) agreed that the world’s most loveable planet Pluto was no longer a planet, but rather a “Dwarf Planet”. Not even the biggest dwarf planet, that went to Aires. The year it was discovered, it had an element named after it (Plutonium) as well as the loveable Disney dog (Pluto)
In 1931 it was estimated to have the same mass as the Earth. But eventually over the years it was determined to have ¼ of 1% of the mass of the Earth, thus leading the IAU to categorize it a Dwarf. There were even protests in Seattle.http://iron.lcc.gatech.edu/~ntrivedi6/blog/?tag=pluto
Remember this thing? Originally called IT by its inventor Dean Kamen, the Segway Personal Transport was expected to revolutionize the way people travel in cities. This came out in 2001 with forecasted sales of 1 billion dollars faster than anyone.
It never came close to making that kind of money…Alas, it’s known for being banned in many states throughout the US for use on sidewalks. It’s relegated for organized tours and spoofs in movies.
Remember these guys? The Pets.com puppet was so funny and cute back in the day. It was going to single handedly convince you to buy all of your loveable pet’s needs online.Oh and Second Life? Log into today and tell me if this thing is going to change the face of education. I believe the home page is sporting two shady characters that look like they are about to hit the S&M club aftward.
I promise I’ve never ever called out any of our products in the past…but you have to remember the infamous Garbage Collection process in Vista. It was the bane of existence for not only customers, but developers too. The cake goes to sticking all of the content in the database. Let’s make the database bigger than a terra-byte and see if you can recover it under a week.
But wait…there’s more. I’ve got a few that weren’t quite flops, but were instigators to something better.
We really need to thank our comrades from the North for creating Blackberry. It had the market cornered in 2006 right before the launch of the Iphone and the eventual acquisition of the Android development team by Google.
Move over myspace…let’s no longer post racy photos of ourselves with streaming music in the background. We now can stop marketing ourselves and move over to Facebook so we can stalk our old girlfriends and college buddies, or go check-out LinkedIn to see who’s covertly looking for a new job by posting subtle updates to their profile.
Our story would not be complete without the Palm Pilot and the Apple Newton.
http://xpafiolis.com/2008/crystal-ball-for-laura-laforce/So let me say these aren’t forward looking committments. Rather, I’m just trying to get the community thinking about what the future could hold and should hold. I did this back in 2004 at DevCon at Georgetown University about convincing customers to configure Tomcat clusters. Low and behold less than a year later we put it in the product ;)
Let’s start off by talking about distributed caching systems. Blackboard has long had caching in the product. When I arrived in 2003, we had 20+ caches, basically generic cache structures that followed no rhyme or reason. In 2005 we migrated most of those caches to OS cache and then a few years later we moved to ehCache. In Bb 9, we finally exposed the cache structures so that customers could tweak and tune it.In both instances we wanted to move to stand-alone caching systems that each JVM could connect to, but the time wasn’t right.
There are a number of major players in the caching market. The three that make the most sense are Memcached, Redis and Ehcache.
This is a typical Blackboard environment. It’s a monolithic configuration. The cache component is embedded in the container. It’s tweakable, but it’s not independent.
Here’s what we ideally will happen. Our good friend Donkey Kong makes a request to Blackboard. He’s got a 1 in X chance of hitting a server. He can set to the cache…he can get from the cache (especially if someone has already set to the cache for a shared set of data…like being in a cache). Why is this important? Well a couple of good reasons. First, the network traffic b/w the container and the database will be reduced. Second, the container will ultimately be smaller as it will have a smaller footprint reserved.
That last points important b/c now Donkey Kong’s good friends, Peach, Wario, Toad, Luigi and Mario can all get better performance, shared caching of key shareable objects, as well as transparent failover (both the application server) and/or caching engines. The caching engines themselves can be clustered.In the first picture, the way the world is today, if that JVM goes down, the cache disappears. The user will failover to another node, but have to reset the cache.
Having room for more memory is important. Our good friends at VMWare and SpringSource have introduced a technology to help solve this problem.
By default, VMWare has this ability to optimize the resource stack of a system (CPU, Memory, Disk and Network) through a virtual façade. Guest operating systems have the ability to oversubscribe, optimize at run-time and even swap from host or hypervisor.http://www.slideshare.net/vmwarecarter/elastic-memory-for-java
Vmware after its acquisition of SpringSource recently introduced EM4J which is the equivalent of a balloon driver for Java. The heap has the ability to now expand beyond MX. It’s like have a BMX (Big Max Heap)?http://www.slideshare.net/vmwarecarter/elastic-memory-for-java
When we first started talking with VMWare about this, they were pushing hard for us to adopt the VMWare T-Server. If you take a look at their support site, any Tomcat installation can leverage EM4J as long as it’s a virtual guest on an ESXi 5 hypervisor.http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2011243http://pubs.vmware.com/vfabric51/index.jsp?topic=/com.vmware.vfabric.em4j.1.1/em4j/em4j-about.htmlhttp://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&docTypeID=DT_KB_1_1&externalId=2011244
So basically you have a hypervisor. It has 256GB of RAM to support 8 x 32GB (evenly allocated) guest VMs. With EM4J first off instead of an even allocation of memory for each virtual machine, you can know oversubscribe to 10 or more. But that’s not a big deal anyways. VMWare will manage the sharing of pages across VMs so that the physical memory is not violated. You might have each heap sized to let’s say 16GB with the guest OS configured as high as 32GB. Other processes could be consuming the other 16GB, but EM4J will allow for the MX to expand further. To prevent ESXi or the OS from swapping, the Best Practices Guide recommends that you size VM memory to accommodate the OS and JVM. The formula presented is:VMMemory (needed) = GuestOSMemory + JVMMemoryJVMMemory = MaxHeap + PermGen + (NumberOfConcurrentThreads * StackSize)
I’m a big fan of the concept of JVM elasticity. I think having the safety net in place for growing vertically is important, but at the end of the day I’m still going to side with horizontal elasticity.
If you go back to my presentation from last year (posted on slideshare)…search for the title as is. It was one of the key points I was pushing from a reference architecture perspective. I was using last year to start the adoption trend.http://www.slideshare.net/sfeldman13/scaling-blackboard-learn-for-high-performance-and-delivery
I was hoping that in due time (by now) someone would have already created the automated provisioning for using Chef from Opscode or Puppet from Puppet Labs. Anyone do that yet to deploy COLO or Cloud?I throw out the challenge to the audience to deliver the scripts to do this…
I’m a believer that elasticity is here to stay. In 2006 we were one of the first ISVs to certify for virtualization. In the LMS community we were light years ahead. Remember this is at the time during the WebCT days in which we had to walk the fine line of “what was supported versus certified”. It took little effort to get the Learning System customers convinced virtualization was the direction to go. Break-up your infrastructure into VMs…deploy dozens of Learn instances.* Based on sampling of Blackboard Managed Hosting Customer Install Base
Once you have your automated provisioning in place, it makes the “portability” and “accessibility” a lot easier. You can obviously deploy in the cloud or in your own COLO. Being able to rapidly deploy on the fly is what you need. Writing chef or puppet scripts are like writing secret decoded messages. The instructions make sense, they are easy to debug and can make the work of 100 or even 1000 be done by 1.
I’ll end on this note. This is one of those topics that today in 2012 is incomplete.
It’s simply too expensive for us to all be data scientists. We need someone in the market to introduce an accessible platform with the data science services to make meaning from our data.
There are existing services that are starting to make a realistic push. I’m quickly becoming a fan of these monitoring services that are outside the domain, accessible from anywhere. These products tend to deploy small agents into the components of the stack. The agents then communicate to a service broker outside the enterprise. The service company manages all of your data for you. Reduce Cost Support the Storage Demands Faster upgrade/support I don’t need to be an expert in the product’s server infrastructure…simply plug the agent in and run
The Next Generation ofEmerging TechnologyChallengesStephen FeldmanBlackboard, Inc.Product Development
Why is it important to forecast technology in the future? 2
Forecasting Technology in the Futureo In many cases the technology is already here, but not adopted.o The adoption curve is low, but needs instigation.o Bracing the population for transition before it is forced. 3
What is EM4J?• Elastic Memory 4 Java • Technology by VMWare through SpringSource Acquisition • Memory ballooning capability • Interaction between the application process and the guest operating system • EM4J communicates at a VM level to share and move memory when needed. • Can be used to “save” a process on the verge of capacity or workload spikes. • Not required to reserve memory, with EM4J can over-commit memory resources beyond physical allocation to ESX.
VMWare ESX Server: EM4JVirtual Machine Guest OS JVM Java HeapVirtual Machine Guest OS JVM Java HeapVirtual Machine Guest OS JVM Java Heap 25
Why Elasticity On Demand Is Here to Stayo Application adoption is aggressively increasing • In 2003, average user logged into Bb 3X per week and spent an average of 7 minutes between 1st and last click.* • In 2012, average user logged into Bb 1X per day and spent an average of 21 minutes between 1st and last click.*o Maturity of LMS usage by faculty and studentso Handling periods of predicted and unpredicted usage • Periods of seasonality • Spikes of usage
Strategies for Elasticity Push to the Cloud Co-Locate Your Own Cloud Solutions • Cost of Inventory • Sharing Infrastructure • Over-subscribing resources • More universal control c 30
Analytics as a Service (AaaS)o Market is wide open and looking for a market leadero Products like Google Analytics tell so little about what really happens in an application • Need more than generic dashboards of hits, views, geo- location, etc…o Need companies that specialize in data science o Reduce Costs o Support the Storage Demands o Expertise in Data Science o Accessibility of Analytics Findings to Community
Other Services to Considero APM as a Service: New Relic and AppDynamicso Security as a Service: McAffee (Sentrigo for DBs), Symantec and Simplifiedo Behavioral Analytics as a Service: Google Analyticso Infrastructure Monitoring as a Service: Pingdom, Compuware and KeyNote 33
We value your feedback!Please fill out a session evaluation. 34