6.10.13

How to not be a supernova in the clouds - Run time

Run time and forecasting:

When running different applications with different behaviors in isolated or shared accounts,  vServers or domains, visibility is a key quality point of management. As I said in How to not be a supernova in the clouds - Design time, is very important to be prepared to scale out or scale down the environment, this can be based on demand (reactive) or on forecasting (proactive). Both approaches need as much information as possible to determine how load can it expect (the future), how is it doing now (present) and how it behaved under some types of loads (past). The present and the past we can get from Oracle Cloud Control, is very important to setup all layers monitoring in Exalogic (there is a very good blog from Donald Forbes Integrating Enterprise Manager 12c with Exalogic), not only the application (Weblogic,OHS,OTD,...) or vServer OS components. 

For forecasting the history is not enough, a more complex algorithm should be applied, we need to consider also limit dates, percentage of expected population attended, outages, promotions and behavior changing signals (I believe we can even use marketing forecasting  tools to try to figure out the future load). 

For long term forecasting business indicators are more useful than CPU,RAM, Network usage (measured as bits per second or requests per application), if we (badly) compare with meteorology climatic changes can be observed with using air temperature, air pressure and air humidity, but we cannot forecast climatic changes based only on those three measure elements (thanks to my father Eugenio Hackbart for precious meteorology concepts). For short term forecasting CPU,RAM ad Network usage measures  are quite useful for next 3 hours forecasting (for example), as I said in How to not be a supernova in the clouds - Design time, quick scaling will be predicted with short term forecasting and slow scaling will be predicted with long term forecasting, also for more hardware acquisition. 

Another very important run time key point is how the whole environment life-cycle is done, which assembly technology was used to help changes to occur without service interruption, avoiding single points of failure and replicas (all of this done in design time) and (in run time)  we are prepared to use those techniques and configurations in an visible, controlled and orchestrated way. Not all activities are automatized, many human activities are needed, and humans need philosophy to live, in our concrete case, the design time philosophy.   


Autonomic behavior (the (mental) stage I am trying to reach):

When have reach a stage (or maturity level) where the can have reactive scaling or proactive scaling well stabilized. We can start thinking in "why not let the system manage himself (under human supervision, of course)?", to implement autonomic behavior we need an 100% automated resource allocation procedures (obviously, I am not considering adding another Exalogic machine in the contingency data center ...) to support an autonomic behavior, those allocation procedures can be integrated with SOA composites and human tasks for evaluation and approval (this creates a very powerful control mechanism to control changes and track an tracing). Some activities that we can have in consideration
  • Reactive resource allocation
    • Configure monitoring to identifies components internal pressure
    • Define demand increase curve versus allocation time curve
      • Configure thresholds based on the SLAs for that application
    • Allocates or release resources consonant component pressure
  • Proactive resource allocation
    • Record historic behavior
    • Forecast future events (on forecasting allocation) 
    • Allocates or release resources consonant component pressure history/forecast


Conclusion
All run time activities are related to a well design time architecture and "philosophy" definition, my aim with all specifications and tips is to reach an "Autonomic Behavior" state, this is not easy, should be constructed from the basis. The continuation of this blog will be many techniques and tips that help to reach this state, mostly related procedures automation, and commissioning/decommissioning  activities orchestration.


I hope they enjoy .

No comments:

Post a Comment