• Like


Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

The Expansion of Abstraction


My presentation on the role of abstraction in virtualization and cloud computing. This was the keynote presentation for the 10th anniversary event for eGroup in Charleston, SC, on April 16, 2010.

My presentation on the role of abstraction in virtualization and cloud computing. This was the keynote presentation for the 10th anniversary event for eGroup in Charleston, SC, on April 16, 2010.

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads


Total Views
On SlideShare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide
  • Unified means tightly coupled…applications tightly coupled to the operating system, which was tightly coupled to the underlying hardwareData was tightly coupled to applications, making it hard to get data into or out of applicationsCentralized computing power, even the terminals lacked computing powerHad benefits, but it was monolithic (couldn’t replace individual components) and inflexible (not easily repurposed for new tasks)The rise of the PC stemmed from a need to address these shortcomings, but PCs weren’t the ultimate answer
  • PCs were the start down a new pathClient-server computing came along and separated the various components of the computing environmentThree-tier client-server architectures added more components, introduced more flexibility in deployment—and introduced complexityVarious forms of client-server computing emerged, including server-based computingThe client-server model was everywhere, it seemedBut what is the client-server model if not just another form of… (advance slide)
  • The client-server model introduced abstractionAbstraction is defined as “considering something independently of its associations or attributes”Abstraction is inserted between layers of an application—abstraction between the clients and the application servers, the application servers and the database servers, the database servers and the data model itselfServer-based computing added abstraction between the location of a display and the location of the processing that produced the displayWeb-based architectures are just another example of the client-server modelThe client-server model had many great benefits, but it too was not without its problems
  • The biggest problem? Server sprawlOrganizations needed more and more servers to handle all these new layers of the client-server model…front-end servers, back-end servers, application servers, middleware servers, database servers, terminal servers, messaging servers…you name itFor better or worse, the x86 architecture and the operating systems led companies to a “1 application per server” approach, which further accelerated the server sprawl problemVendors responded by making servers smaller—first 2U and 1U rack-optimized servers, then blade servers (8, 14, or 16 servers in a chassis)These were just stopgap solutions, thoughApplications are still tightly coupled to the OS, and the OS is still coupled to the hardwareSo how do we fix this problem?Once again, we turn to abstraction
  • Once again we turn to abstraction to solve the problemThis time we need to insert a layer of abstraction in a different place—between the hardware and the operating system
  • Inserting abstraction between the hardware and the operating system leads to virtualizationSpecifically, the machine virtualization made possible initially by VMware and later by other vendorsBy leveraging the three key properties of virtualization—encapsulation, isolation, and partitioning—we were able to achieve the first goal of virtualization: consolidationConsolidation was great—many workloads collapsed onto fewer servers, reductions in power, reductions in cooling, reductions in capital expendituresCustomers were able to eliminate lots of hardware, often doing this in conjunction with a hardware refreshMillions of dollars saved in cost avoidance or in direct savingsBut consolidation was only the first step
  • Consolidation was great, but we needed something moreWe needed the ability to have the infrastructure respond dynamically to changing workloadsWe needed the ability to have an elastic infrastructure that we could expand and contract as neededWe needed resources to be pooled and allocated on-demand to workloadsThe virtualization solutions adapted to meet these needs adding features like VM templating, rapid deployment, live migration, workload mirroring, and dynamic workload placementBut all these features still didn’t take us the whole way…they only get us part of the way on our journeyDesktop virtualization is a further extension of this strategy out of the data center This, BTW, is where most organizations find themselves today
  • In order to get to the “next level” we are seeking, there are still things that we need:We need self-service—we are still expending too many human resources to manage the data center, even highly virtualized data centers (if your admins are still provisioning VMs, you haven’t gotten there yet)Need greater levels of automation (again, need to reduce the human footprint)Need increased visibility into the workings of the virtualized environment, which will come through improved instrumentation, greater integration with the hardware, and improved management functionalityPerhaps most importantly, organizations need new operational models to take advantage of these features, to streamline efficiency and utilization (both electronic and human)
  • And really what you get when you marry these additional needs with virtualization is cloud computing (as defined by VMware, Cisco, EMC, VCE Coalition)The industry touts cloud computing as the evolution of virtualizationVirtualization + automation + orchestration = cloud computingThere are lots of different cloud computing definitions, but not all of them mean running your workloads on the public InternetCloud computing is really nothing more than leveraging virtualization to create highly fluid, very elastic, extremely automated infrastructure to create “IT as a Service”Some significant challenges still remain…how do we get there? Yep, you guessed it…
  • Abstraction once again becomes the key to how we move forward toward our vision of cloud computing, including building the private cloud
  • Abstraction will allow us to move to policy-driven storage, where the location of data is determined by policies placed on the data for performance or availability, increasing storage efficiency (FAST)Abstraction will simplify the creation of data center interconnects (OTV). Data center interconnects are a key component of geographic workload portability.Application virtualization enables application portability and makes JeOS possible. Abstracting data access from data location enables new ways of thinking about workload placement (EMC data federation).


  • 1. The Expansion of Abstraction
    What Client-Server Computing, Virtualization, and Cloud Computing Have in Common and Where It Can Take Us
  • 2. Where we were…
    Photo courtesy of Vermont State Development Department
  • 3. Along came client-server computing
  • 4. At its core, client-server computing is…
  • 5. Client-server introduced its own problems
  • 6. The solution to the problem…
  • 7. Virtualization is the next form of abstraction
  • 8. Consolidation was only the first step
    Rapid deployment
    Dynamic workload placement
    Live migration
    High availability
    Workload mirroring
    Easy capacity expansion
  • 9. We’re not all the way there yet
    Greater automation
    Increased visibility
    New operational models
  • 10. Is it just me, or is it getting cloudy?
  • 11. Back to our old friend again
  • 12. Carrying abstraction to its conclusion
    Enabling the vision of the private cloud
    Abstracting data from the physical disks
    upon which it resides
    Abstract applications from the OSand enable JeOS (“Just enough OS”)
    Abstracting network connectivity to simplify data center interconnects
    Abstracting data access from data location
  • 13. Questions?
  • 14. Thank You!