The importance of software defined - TechTalk 40

12:03 · Watch on YouTube ↗

Transcript 1,604 words · about 11 min to read

Auto-generated captions from YouTube, not hand-corrected, so names and technical terms may be imperfect. The video is authoritative.

this is keith townsend from virtualizedgeek.com with episode 40 of virtualized geeks tech talk so we're going to talk about software defined data center and expand the conversation on my recent post that talked about software defined data center as being vaporware where so the ideal of taking a data center and completely virtualizing it and then abstracting it and then being able to manage that virtualizat that virtualized data center uh via a single pane of glass it's kind of what i'm calling vaporware the concept of software defined

in general isn't vaporware but we're going to spend some time talking about why software defined is important and why we should strive to a software-defined data center and we're going to kind of get away from for the purpose of this discussion we're going to get away from the concept or the term software-defined data center and focus more on abstraction so what a brief history of what is abstraction and what it has to do with computer science in the data center in general so basically back in

a day of early desktop operating systems and computing in general we had uh very low level protocols or routines for accessing things such as memory disk drives so on and so forth uh if you're a application programmer you have to write low-level device drivers for your for interacting with hardware including memory cpu and disk all the operating system or modern day operating system virtualized all of that physical all those physical components for the programmer so they could just write to that that abstracted layer so instead

of having to know what manufacturer a uh video card was they could just write to it at jacket layer generic video commands and that code can now be portable from system to system this allows a couple of things one obviously it allows uh programmers to write applications for several platforms but it also allows for the creation of extremely complex systems so whenever we abstract something it makes it has two basic benefits one it makes uh interacting with that system simpler and as a result of the

simplicity it makes it more uh scalable so if we wanted to take say our data center and abstract the compute it would allow us to do things such as move uh workloads from one physical server to another physical server without rely without knowing any of the physical details of the underlying hardware or allows us to pull resources and run workloads across several different uh physical servers again without knowing the physical details of the underlying compute sounds pretty familiar because that's called virtualization so the it infrastructure

has matured in one specific area of abstraction and that's for x86 compute so when we've abstracted compute now we have the capability to do a lot more uh from an operations perspective than we could when we were tied to applications one to one to physical hardware components now that we've abstracted the uh x86 hardware that sits atop or underneath the virtualization stack we can do cool things like uh hot move workloads from one physical server to another uh we can um automatically uh vmware term uh

use drs to automatically load balance workloads across physical platforms we can move it from one data center to another and then we even have this concept of running uh traditional applications that weren't designed for the cloud in the cloud so this gets us to kind of abstraction or what vmware and other providers like to call software defined so we've software defined the ver the physical x86 stack now for the rest of the data center compute and networking we're now looking to abstract those components and we'll

get similar operational benefit from that uh you know vmware likes to call their overlay approach uh their nx product you know the next logical step in abstraction where you create a virtual network that sits on top of your physical network uh via the nxx hypervisor and gives you the capability to move uh networks from one physical network to another physical network or pause rewind and play configurations just like we're able to do for taking snapshots in the virtualized network that's one approach to uh abstracting the

network and then for storage we have you know similar uh applications so vmware has their vsan solution which is kind of their software defined approach or abstracted uh approach to storage but the most important part why we want this abstraction is because it allows two things it allows one portability and then two uh scalability so you might take a look at uh the current state of systems we have networking which you know by all intents and purposes is extremely scalable i would have to argue that

it's extremely complex right now and we've worked we've worked around that complexity with expanding the protocols and still so we've taken if you know where to compare it to programming we've just powered through and just wrote bigger programs uh put the intelligence on silicon and allow the asics to basically muscle through we've solved the problem with muscle and extending existing protocols ultimately that's not scalable the i argue it's not scalable it limits our ability to create applications that uh take advantage of the network so the

network itself may be scalable but applications that we build upon the network aren't as efficient or scalable as scalable as they could be if we abstracted the physical network the same can be said for storage obviously there's uh providers such as google facebook microsoft that has petabytes on top of petabytes probably these guys probably have several i would have to venture google to the point where they have several thousand petabytes of data of consumer data right now and so storage in itself is is scalable but

they are they've approached the problem via abstraction so the enterprise can most definitely even though the enterprise may not use that scale the enterprise can start to build applications that's aware of the abstraction that's programmed for the abstraction layer now you can create much more scalable enterprise solutions uh and the second thing portable solutions at the software defined data center symposium that's hosted by uh the fine folks over at tech field day uh one of the speakers talked about abstracting operations to the point where where

a enterprise customer can take their data center and move it from one provider to another because they didn't program for uh the cloud provider on a low level so from cloud provider to cloud provider there's value add that they add on top of their solutions even within like the openstack realm we have uh rackspace and we have you know let's take a couple of uh providers we have rackspace we and we have hp rackspace wants to provide uh database as a service so you write applications

designed for rackspace database as a service solution hp has a different implementation of that so you write towards their api at the end of the day if you want to move from one provider to another provider that creates the complexity that you have to now rewrite your application for the api of the second um provider if you wrote at a higher level at an abstracted level and didn't take advantage of the low-level capability of the cloud provider and just wrote for a common layer which has

a cost to it i don't know uh depends on application it could be performance or it could be uh ultimately capability but if portability portability is in scale is important to you then now you can take that application run it across multiple cloud providers which allows scale or simply i don't like the relationship with my applications provider i can take my operations not just my application but my whole i t operations because it's written to the whole operations is written to an abstracted model that i

can take from provider to provider no matter if it's msp traditional hosted provider or if it's a uh cloud provider just as long as the cloud provider guarantees a certain level of capability a lot openstack then i can take my application or operations and move it from provider to provider so this is the dream a software defined data center we're not there for most i.t operations for most i.t operations we still have to support legacy uh systems that either run a risk based processors itanium solutions

hp ux whatever the uh a lot of us still have mainframe so to say that we can abstract our data center today and move to a completely abstracted model tomorrow it's a little bit ambitious of course all those applications need to be rewritten or interfaced to those applications or solutions whether it's going to a managed service provider they'll abstract they'll take your mainframe application provide an abstraction layer on top of that and then you can leverage that solution to be able to abstract the rest of

your operations maybe that's the solution but overall the dream of a completely abstracted data center for most enterprises is a bit of a fairy tale we'll get there eventually but again is it there today no so that's this that's it for this episode of virtualized geeks tech talk we'll catch you at a future date future fun technology once i think of one thanks and like the video visit us at virtualizedgeek.com