Leveraging Abstraction and Automation to Manage Multi- and Hybrid-Clouds = David Linthicum
Transcript
everybody glad to be here with you today and we're going to talk today about something that's an important topic as we move into dealing with multi-cloud deployments and management and that is leveraging abstraction automation to manage multi and hybrid clouds I would still like to thank Keith Townsend and his group for allowing me to speak to you today I'm really looking forward to presenting this topic so let's get going so this is what we're going to talk about today the term is beginning to emerge such
as super cloud distributed Cloud meta Cloud uh and Abstract cloud and really we're getting to the point where we're dealing with these very complex deployments multi-cloud hybrid Cloud being kind of the center point of the ground zero of that and so what we're doing is figuring out ways to simplify how we're going to manage and monitoring these deployments and that's where abstraction and automation comes in and that's going to be really the focus of this presentation to tell you what abstraction automation is what role it
plays in terms of dealing with multi-cloud and hybrid Cloud complexity and how you can deploy this stuff today to make your hybrid cloud and multi-cloud deployments much simpler to manage much simpler to Leverage all right so first let's define the problem so why are we dealing with abstraction automation well it's a reaction from the fact that cloud implementations as I mentioned earlier are becoming way more complex we'll get into the reasons of that because I think it's important to understand how we got to this complexity
State and why many Enterprises are hitting a complexity wall in doing so and understanding how the problems occurring it's much easier to solve the problem so I do recommend that you not just take my general guidance here as to what the problem is but look specifically at your problem domain into what problems you're dealing with locally so the increased complexity is causing some negative value from the cloud deployments in other words people are putting in two dollar investment in cloud computing and they're only getting a
dollar back and they're receiving much higher Cloud bills than they thought they would uh the deployments are much more expensive operationalizing these systems much more expensive and risky and they're even sacrificing things like security risk at the altar of the complexity and really need to start moving in different ways and how we're dealing with this technology so the movement to hybrid and multi-cloud is really kind of only accelerating right now and so as we're moving forward this is only going to get worse and we're going
to create more complex problem domains based on the way the technology is built so that's going to be uh systems that are able to communicate with um Legacy systems edge-based Computing the growth of that technology mobile Computing all that really comes into the domain of multi-cloud and hybrid cloud deployments and that's why we have to deal with the complexity problem dealing with this so complexity keep in mind is a natural progression of I.T we deal with platform complexity in other words we went with mainframes for
a long time because that's the only thing that was available then it was many computers uh and then it was PCS and local area networks distributed systems you know Intel Core based systems all these things which really kind of evolved over the years and moving from centralized distributed remote things like that databases we don't leverage a single database for every purpose even though databases have the common patterns they store and retain information but we have object-based databases relational databases proprietary databases all these things which kind
of make up the infrastructure and as people deploy different applications and leverage different best debris technology they leverage whatever database you need to leverage same with programming languages we don't uh program the same way we did 20 years ago and won't in another 20 years same with security same with management and operations and then architecture as well so we went from no architecture to some some architecture structured object-oriented service oriented Cloud microservices as we kind of are today into kind of a multi-cloud deployment so that
evolved over time so this is kind of how complexity occurs it's a natural progression of I.T because we're always rethinking better ways to solve the issues better technology better approaches and that create layer creates layers upon layers of different technological solutions which leads to the complexity problem so how do things get this bad well different Sprints different teams decoupled thinking no centralized cloud services defines in other words we don't have a common set of cloud service Security Services or governance services or management monitoring and finop
services lack of single security approaches as I mentioned earlier single governance lack of retiring existing Legacy applications and really kind of lack of planning that it kind of came around this so understand that we didn't get here by accident we it's kind of by Design and if you look at the way in which we develop things out there in the world today we have different pods that are different in different are existing independently of each other they make decisions on their own thread and so they
pick their own technology their own best to breed stuff their own way of doing it therefore their own cloud providers and that's how things got complex so in other words it's the abundance of choice kind of mixing the fact we have all of these decoupled Opera development systems development teams that are building these things we want this to happen we want to have the most creative and Innovative teams out there that are building uh technological solutions for the business with the best technology that they can
find but that is going to have some downsides and the downsides in this case is going to be complexity so the assumption is Enterprises are going to focus on small layers of the similar Cloud architectures they're going to carry out short Sprints in doing it and they're going to lack common uh services and common holistic architectures and making that happen we have to make that assumption because that's the only way it's going to happen uh it's very difficult to rein this in and say hey everybody
is using multiple clouds and multiple databases and multiple platforms you have to leverage the same database the same platforms and the same Cloud providers that's going to limit the solutions or the ways in which you're able to build these systems and that's going to return less value back to the business that's not going to be acceptable so this is a way in which we're assuming things are moving forward so the problem is we're going to hit a complexity Tipping Point where this the number of cloud-based
systems the number of uh on-premise systems complexity is going to start to grow and basically the number of systems is completely dependent on the growth and complexity and we're going to hit a Tipping Point where we're going to have negative value that comes back to the business the idea is not to is to avoid hipping is not to avoid hitting that Tipping Point the idea is to have a plan around and mechanisms around minimizing the impact on that complexity Tipping Point that every company is bound
to hit they're hitting this now and what the industry is calling it is a complexity wall and you hear that out out there A lot of times yeah apps vendors are you know touting that and we can do a couple of things number one change policies and platforms to try to avoid it which I just mentioned earlier not typically acceptable or figure out better architectural practices to manage through it and kind of that's what we're learning here today and this is the problem with the Tipping
Point you get Negative value as I said we have in some of the studies that were done in 2022 there was a huge Roi deficit that's coming back from the cloud-based deployments that we're seeing so in other words they're spending a lot of money say 10 million dollars on a cloud deployment and they're expecting maybe 40 50 million dollars to come back and return on investment and measurable value that comes back to the business and it's not it's actually much less value that's coming back to
the business the costs are higher the amount of uh Talent is needed the skills that needed around to support it were really kind of unexpected and then we're hitting the complexity well not only in terms of basically complexity um uh hindering return on investment but it's actually returning negative value back to the business and right now the boards of directors are asking about that in other words we said that cloud was going to have this tremendous advantage and return value back to the business we're seeing
much higher costs much higher risks into playing cloud computing why is that happening how we can media how can we mediate that complexity again purpose of this presentation yeah so what needs to be done well the solution in the nutshell is dealing with complexity management so and dealing with complexity on your terms not complexities terms and the two uh there's lots of different architectural approaches that you can see and how you're going to deal with complexity but the two most popular are going to be Automation
and abstraction we're going to get into those in detail and automation means data movement data processing service processing you know abstraction abstraction of data abstraction of services abstraction platforms knowledge AI security development etc those are things that we can simplify through the abstraction process and automate through the automation process to make them much easier to deal with in other words we're able to deal with these things with fewer resources we're able to much uh make them much more valuable we're able to deal with them through
simple abstract Concepts and also in essence leveraging resources as a true Force multiplier we're able to use less skills less money less time less risk in dealing with these very complex platforms we're deploying these days this come down this comes down to complexity management it doesn't matter what you call it the outcome is typically going to be an abstract Cloud we'll talk about that super cloud and meta Cloud later in the presentation but the idea is to kind of understand the basic problems and how we're
we how we're fixing the problem in this case autumn abstraction what those are and how they work so example of data abstraction would be dealing with complex data you know heterogeneous data stores we have stuff and object databases and relational databases and proprietary databases and in memory databases and purpose-built databases maybe data that's sitting on mainframes and an old common eliminated systems and we have to make use of this data in some way shape or form and so the idea is we deal with that data
using layers abstraction and virtualization or we can make all these various physically dispersed disparate heterogeneous databases look like a single unified structure that's more related to how we consume and how we leverage the data to bring value back to the business that's the idea behind it so instead of me having to make independent calls using whatever native interfaces are going to be there to communicate with all the various databases out there heterogeneous databases all shapes sources kinds and Brands I'm looking at an abstraction layer in
this case data virtualization which by the way has been around for 30 years it's nothing new which is able to simplify how I'm seeing the structure of the data how I'm seeing that the raw the data unto itself and therefore able to consume the data into applications into dashboards or even through analytic systems to be dealt with interactively by humans that are able to leverage the data in a much better better way shape or form so an example would be common access to providing Salesforce costing
and forecasting analytics we have a unified dashboard which is a data service manager which is able to deal with virtualization and a master data management systems on either end which is able to deal with the actual physical databases on the lower level so relational databases object databases columnar databases unstructured data many instances could be just a file form of PDF files and then Legacy information or non-cloud data so the idea is that we're able to take these physical structures abstract them through the system to make
them simplify simplified unto themselves and able to consume the data using whatever structures whatever metadata and whatever views that we want to have of the data that's going to be independent of the physical complexity of the underlying very heterogeneous very complex data sources that are coming from and so that's the idea behind data virtualization and data abstraction which by the way is not a Is Not A New Concept I wrote about it in my eai book back in in 1990s and it was well understood then
and it's well understood now there's a lot of better A lot better tools out there to make it happen so surface abstraction um is the ability uh the things that uh basically things that do things contain behavior in other words they they actually are Services then instead of providing information they provide Behavior to us they provide an action to us so we're going to uh delete data we're going to move information from one point to the other we're going to calculate a risk analytic system we're
going to basically Define something that's going to be a behavior that's defined programmatically typically which is going to be contained within a service which means when we evoke that service we carry out that behavior it may act upon other services and other databases and other data sources but unto itself that service is a self-contained unit of behavior examples would be web services apis or other interfaces that make things happen and contain an application data and devices we've been using services for a long time certainly within
apis there's a very old concept service oriented architecture we're kind of based on services and now moving into Cloud everything's kind of based on services whether they're application Based Services platform-based Services Security Services governance Services we contain these things as services so we're able to reuse them from one application one interface to another so an example of service abstraction would be complex services and uh you know microservices and they're heterogeneous in other words it could be running all over the place different Cloud providers different systems
different applications different platforms and we're able to use service abstraction which is either able to leverage many services as an abstract service or basically a meta service so we're defining something as a composite service which is leveraging all these various native back-end services to create the composite service and we may add additional features and functionality to the composite service an example would be doing a credit check we may have one service that will pull a social security number another service that actually reaches out to the
credit check database another service that actually performs a credit check but we put it into a master macro service that's called credit check and it carries out all those three services on behalf and therefore it removes a lot of the complexity from dealing that we also have the ability to orchestrate Services which means that we're automating invocation of services from one service to the next to carry out some sort of a business process and by leveraging these kind of layers of abstraction we're able to simplify
how we're dealing with services and this is where abstraction really kind of earns its money it's making simple things out of very complex things and we're therefore we're able to use these services in a much more productive way that's going to remove the complexity and therefore remove the cost of operations that doesn't mean that we couldn't do the application by leveraging all the native Services individually and not leveraging abstraction that would certainly work but it would take a lot more time it would take a lot
more money it would cause a lot more risk to basically moving that process we're doing things smarter uh rather than harder leveraging abstraction to automate and simplify or interacting with those services the challenge of this would be surface granularity so the trick of building composite possible Services is how you deal with the level of granularity and that just kind of means on what the services do in other words are they very discrete service that carry out a very small function which typically microservices do are they
more of a coarse grain function which may carry out a large um which may carry out a a more complex Service uh you know for example as in our previous example we had you know doing a uh credit check and one of the microservices we keep leveraging and say validate the social security number that would be an example of a fine-grained service because it's doing something fairly discreet uh and you know versus the um macro service are basically the one service that's made up of all
the other of all the other services to determine what a credit check is that's going to be more complex that would be more of a course grain service so the challenges are in creating business logic into code and the decomposing Legacy Services you know that are not fine-grained enough um top down process decomposition bottom-up service development you know ultimately this must be interactive so the trend today seems to be when in doubt break it out and so the reason we go to from course grain to
fine grain services are really microservices is the the primary instance of that is because we have more uh flexibility with them so in other words if we don't break out a service and we have it kind of bound to this this thing that it's hard-coded to do we can only use it to do that hard-coded service versus microservices which could be hundreds of services um that make up some sort of a functional business process we can leverage those either all together as composite Services every configured
to the way we want or leverage each individual microservice and therefore it provides us with the flexibility of leveraging those systems hopefully that made sense to you example Services sold on Demand by Health Data companies we have unified data access dashboards dealing with a service manager service virtualization otherwise we're leveraging composite services and we have microservices fine grain services coarse grain services cloud services Legacy Services the idea is that we're able to take these services and orchestrate them take these services and Abstract them take these
services and automate how we can move information or basically automate a business process and in between these various systems which is leveraging these services on our terms and not having to deal with the complexity of the services themselves so orchestration drives automation you hear about automation typically orchestration and automation are going to be hand in hand it controls action or sequence of several heterogeneous resources um service could be data movement things like that any number of things that we we want to do in sequence or
some sort of a logical order or some sort of area where we were able to program the behavior from a meta process standpoint and the ability to leverage uh to leverage to abstract you away from the complexity considering that they provide the ultimate control mechanism we're dealing with orchestration everything's at a configuration level we're not having to reprogram the services for each and every job and activity that we do we're able to basically create the orchestration layer that's able to sequence the services and however we
need them sequenced to do whatever they need them to do to basically provide the business automation that we need to support the business in whatever way and we're able to do so in a very simplistic way so we're able to create automation between services in a matter of minutes sometimes uh you know minutes sometimes hours and more complex processes versus if it's a programmatic approach we have to change all these back-end services to to automate these things or even create a composite application to do them
using a native tool that's going to take a much longer period of time you're going to test it deploy it things like that so we're able to put volatility in the domain of the orchestration layer and through orchestration and reorchestration of these systems able to order and reorder how they're able to solve the particular business problem we're looking to solve so let's talk about moving to a solution so the approach is automation of abstract resources that's what we're getting into typically leveraging orchestration we have step
one step two step three those are the steps in our orchestration layer in this case we're doing it in sequence but we may have loopback procedures or other other logic that may bounce us to more complex orchestration platforms where we leverage orchestrations that may kick off other orchestrations that are nested that kick off other orchestrations that are nested the idea is we're not typically building an application we're just invoking services and invoking data movement that's able to turn our orchestration into a Business Solution that's able
to fit the needs of a particular business in this case service invocation one Oracle database service invocation two windows and T based system service and vocation 3 which is going to be a leading system so the idea is we have an invoker which basically says go kick it off we are able to read data from different databases Access Data Center requests consume result sets and we will process data validate data apply rules return results so the idea is we're able to do things at a much
higher macro level at an abstract level using Automation in this case orchestration to make it happen which pretty much is what you're going to use all the time at least conceptually to solve this particular problem but do so through a hierarchy where the complex things are going to be kept down and lower in the hierarchy and typically aren't going to be changed but we make the changes at the higher level or the orchestration level so even can abstract Ai and we're going to put this on
there because AI is kind of a big concern right now and I think people want to know how to leverage AI effectively so learning Frameworks or AI can be abstracted and automated just like anything else we just discussed at the end of the day they become data sources and service sources so we're able to take knowledge engine that may or may not be a part of your multi-cloud or hybrid Cloud domain but most of them are going to be there's always going to be an AI
component to most multi-cloud deployments if it's not there now it will be soon cloud-based and linked to many applications and data stores and we're able to get to the reasonable knowledge engines that can be managed using abstraction automation so the idea is that we're not building a knowledge engine for each purpose that an application needs but common knowledge engines that are able to operate across applications and across operational data views and that's one of the better ways to manage this kind of resource you've got to
remember AI systems are pretty expensive and so the more we're able to make their usage efficient and less complex the more value that they're able to bring to the business that's including generative AI systems like chat GPT and other kind of emerging AI systems are providing additional value to the business so looking at abstraction automation to leverage those kinds of systems in much the same way to eliminate the complexity issue and get to the value in those things so how it works we're able to take
cognitive and abstraction automation we're able to deal with knowledge base entities uh engines so we're able to take you know for example uh ntda could be um you know could be a simple traditional AI system that's uh you know leveraging supervised training the other one can leverage unsupervised training entity B and the other route could be a generative AI system that all leveraged data so in other words they're looking at information they're taking data as training data and they're turning that data into a knowledge engines
that can be abstracted and leveraged by the applications and so we're able to leverage these systems through a cognitive abstraction automation system which is able to manage the views and the visibility into these various knowledge engines so we're able to better manage the purposeful use of those knowledge engines for databases for queries for human interaction whatever we need to make it work in the business and so we're not having to deal with the complexities of going down to each native engine each time we want to
leverage it and therefore learn and deal with the native engine on the terms that native engine we're able to deal with that native engine on our terms that are basically leveraged by the abstraction layer in this case cognitive abstraction automation layer that you're able to leverage orchestration can be a part of that anything that's able to look at all these various native systems abstract them into much more simplistic Concepts we're doing nothing different here so an example would be Health Diagnostics and Telemetry so we have
Amazon sagemaker which is able to communicate with patient data as training data Microsoft Azure machine Learning Studio which is also able to look at patient data as training data and Google Cloud machine learning engine which is able to look at outcome data and diagnostic data it's training data and we're able to leverage and abstraction automation system to see into these various heterogeneous systems these are all different they all use different Native interfaces they all use different apis but do so through a common abstraction layer we're
able to deal with each of these things using the same conceptual conceptual view of what a knowledge engine should bring and be able to ask questions and have it manage how those questions can be processed so by doing this we're able to replicate the value in each three of these knowledge engines into a single knowledge engine so therefore we're able to accelerate or basically leverage this cognitive abstraction automation layers of force multiplier so to get more value out of the these three knowledge and these three
AI systems so we're leveraging this to not only reduce complexity but also manage and deal with these Technologies in better more productive ways so now we look into the applications of super cloud meta Cloud which is kind of where all this is going now so if you think with of what this all means is that we're looking to put complexity into a domain leveraging abstraction automation so we're not necessarily dealing with the native systems in this case a multi-cloud deployment on the terms of every cloud
provider that's out there we're dealing with those things on our terms so we're dealing with how we're dealing with security and how we're dealing with governance and how we're dealing with with management and operations and how we're dealing with fin Ops not at the native levels of each cloud provider but doing so at a larger abstract layer and in doing that eliminates the complexity challenge because we're not dealing with the redundancy in the heterogeneity of having to deploy across multiple Cloud providers and it could be
as many as five or six and many Enterprises which is hugely complex and moving from a thousand Services under management to 10 000 Services under management that are heterogeneous and have all their own terms and rules and how you deal with those services so the idea is to put that complexity into a single configurable domain we're able to leverage Automation and abstraction to simplify how we view those domains I think that we've we've beaten that uh me beating that mule enough at this point so we're
able to leverage this thing called The Meta Cloud super cloud I don't really care what you call it um ultimately this is the ability to create cross-cloud services like operation security governance development deployment service Management Service brokerage you can kind of read those up there on the screen integrated AI as we just discussed data integration Etc out of all these various Cloud providers by picking common Services they're able to operate across those Cloud providers so instead of picking the native security for cloud a we're able
to pick a security system that's able to run across the cloud providers and by the way that can run anywhere it can be run on your native on your on-premise systems or on a particular cloud provider doesn't matter but logically this sits above the cloud providers and is able to communicate with each cloud provider using its native interfaces instead of you having to deal with each of those cloud cloud interfaces on their terms you're dealing with on One Security interface in this instance that's able to
carry out any kind of native capabilities using translation into those native interface cases that it supports so security managers that operate cross clouds AI Ops for management and operations um application development services Federated you know Federated container container orchestration uh that's starting to emerge service brokerage systems that operate across Cloud you know Cloud management platforms security managers data integration systems that operate across Cloud all these things are emerging now and basically become components of what exists in a cross-cloud service which becomes your super cloud meta
cloud and that's kind of where all this stuff is going today so hopefully that made sense um this is an important topic as we start moving into these next Generation Cloud architectures complexity is going to be a challenge and the ability to deal with complexity and manage complexity is also going to be a challenge and so I urge you to kind of understand what tools and weapons you can have in Your Arsenal out there to kind of take your architectural game to the next level I
suspect we'll have many uh multi-cloud deployments that fail over time because they're not able to deal with a complexity challenge by using these techniques we just presented in this presentation however you can get ahead of the game you can kind of understand how the value is going to change the way you do your architectural planning and start planning to deal with these challenges before you have to deal with them and they become something you have to basically do battle with when the complexity challenges come up
it's much easier to plan and deal with them in a proactive way so I urge you to do that well anyway thank you very much for attending my presentation I enjoy talking to you and please reach out to me if you have any additional questions thank you very much as promised wasn't that a great session if this is your first session of the day and you're wondering what's next well you have options you can hang out in the chat room now and you can see there's
a conversation going on in the chat room in the session that you're in this will be open until the end of this hour and the top of the next hour the next session will start if you want to go into the breakout room there's a general chat session you leave here go into the lobby and then enter General's chat you can chat with your regular attendees I'll be floating between the two chat environments love your feedback if you have any questions please you can DM me
within the platform or on Twitter at CTO advisor enjoy the rest of the conference