Hybrid Infrastructure and its evolution in last decade
|
|
Introduction
Hybrid IT Solutions are the IT
Solutions that are based on a combination of multiple technology components.
These “components” are basically the Programming languages\Runtime Environments
& hosting infrastructure (on-premises, cloud-based, etc.) used in an IT
Solution. An IT Solution is Hybrid if the
either the Programming or Hosting Platform or both have a multitude of these
parameters. In this article, we will try to
elaborate separately for Infrastructure and Technology Stack (Programming\Runtime). |
|
Infrastructure
Evolution of IT
Infrastructure
In the initial era, IT software
solutions were mostly device based (local) singular applications intended to
provide basic functionalities where data storage, processing, etc. were all
managed from the same assembly. As networking &
connectivity technologies (LAN\MAN\WAN\WWW) evolved, IT solution architecture
model matured into solutions comprised of multiple interlinked
applications\services having specific purposes like web hosting, databases,
security, etc. This gave rise to a boom in the establishment of private and
collaborative datacentres. “Optimization is the Natural\Organic course of Evolution” and IT evolved accordingly with Service Oriented Architecture (SOA) which empathised re-usability and need-based service models which led to the birth of Cloud-based services as an alternative for On-Premises services. Difference between
On-Premises and Cloud-based Services
Nowadays, the basic difference
between on-premises and cloud-based models is relatively clear to a most
people but the confusion is mostly in the part of understanding on what
on-premises really means. Just because an application or
service is reachable\usable over the web does not make it cloud-based, it
only makes it cloud accessible. In the true sense, an on-premises solution is
one where the hosting platform\infrastructure is managed by the same party
that uses the business application(s) hosted on the platform’s server(s)
privately or publicly. A simple example of this is the
initial version of Microsoft
Dynamics where any organization wanting to use it as its CRM needed to
first setup one or more Microsoft Windows Servers with Active Directory
Services (ADS), IIS Web Server Roles and at least one Microsoft SQL Server.
Here, the user organization could choose whether to make Dynamics accessible
locally (LAN) or over web via IFD (Internet Facing Deployment). In either
case, the solution will be an on-premises one if the hosting services\servers
are managed by the organization itself. Taking the same example forward, the organization could have the same version of Microsoft Dynamics available as a cloud-based solution if it deploys the ADS, IIS & SQL on Windows Servers that are based on a cloud service like for example an Amazon Web Services (AWS) provided Virtual Machine (VM). Hybrid Infrastructure
In a nutshell, “IT Solution
having combination of On-Premises & Online Services is a Hybrid Infrastructure
Solution.” As explained earlier, the
primary difference between On-Premises and Cloud-based comes from the
infrastructure used for hosting of a service and majority if not all
services can be setup in either layout. But in many cases, the most efficient
model is to intelligently choose the platform for each of the associated
services on its own merit individually to have a Hybrid Solution which, when
selected intelligently, gives the best of both worlds (on-premises &
cloud). Typically, infrastructure is
defined in the very initial ‘Design Phase’ of the Software Development
Lifecycle (SDLC) of an IT Solution where the primary driving factors are the
solution’s business requirements in terms of High Availability, Security, Scalability,
Budget, and Criteria of Usage. Key Advantage of Hybrid
Infrastructure
By design, Hybrid
Infrastructure comes with design flexibility for allowing different
components to interact with each other (usually based on loose coupling)
which provides architectural capabilities for easy migration & up\down
scaling. Challenges of Hybrid
Infrastructure
It is possible that Hybrid
Infrastructure may prove to be frugal and flexible for hosting\subscription,
but it can lead to additional effort and compatibility complications on the
administrative operational and maintenance front. |
|
Technology Stack
Programming languages have been around since late 1950’s in the form of
Fortran, Pascal, etc. that were very purpose specific, but nowadays a wide
variety of languages and frameworks are available for developing software
applications. Microsoft and JAVA are some of the most popular, widely used platforms in
today’s IT industry and Technology Stack is a nomenclature often used for
determining the platform used at the core for developing (and therefore the
base runtime environment) of a technology application or solution. |
|
Typically, an IT Solution is comprised of a 3-Tier Architecture having
3 Layers (as shown in diagram here), namely Data, Business and User. Based
on the business\functional requirements, an IT solution can have lesser
layers (for example, a plain yellow-page type info website may not have a
Business Layer because no processing logic is required and similarly a
back-end service may not require any Front-End User Interface and would
therefore not have a user layer) but would not have an additional fourth
layer. On this basis, a technology stack is a composition of software
services\tools that can work with each other to deliver the functionalities of
these layers, which is (at a high level) data storage, logical processing,
and user interface. Here, we will elaborate on two of the most popular Technology Stacks: |
|
Microsoft Stack
Microsoft’s Programming
framework is known as .NET (aka DOTNET) which comes with a
multilingual capability meaning that it accommodates usage of multiple
programming languages like C#.NET, VB.NET, J#.NET and F#.NET and the latest
version of ‘.NET’ is ‘.NET Core’. This framework provides the ability to
address to both Business and User Layers through its specialized classes like
ASP.NET, ADO.NET, etc. and using the same framework runtime, Microsoft SQL
Server caters to the Data Layer. In a classic (On-Premises)
model, a Microsoft
Stack based web solution would have been comprised of Microsoft SQL
Server, Microsoft ASP.NET and a Microsoft Windows Server (IIS, etc.).
However, with the modern Cloud-based approach where on-demand, need-based, managed,
and other considerations have a prevalence, Microsoft’s Stack has evolved
through its Azure \ Microsoft 365 range with a wide range of ready-to-use
business & individual user applications and services like Dynamics 365,
PowerApps, SharePoint, Data Verse, etc. MEAN Stack
Being based on JavaScript; MongoDB,
Express JS, Angular JS and Node JS combine to form M.E.A.N. Stack where MongoDB works
at the data layer while Express JS
and Node JS formulate the
Business Layer while Angular JS works
at User Layer. Unlike .NET which is
proprietary to Microsoft Corporation, JavaScript is an open platform and
therefore MEAN Stack is often also referred to as Open Stack (although
this terminology is not fully accurate in the current context since now
Microsoft has also taken .NET to be an open\community platform). Fundamentally, JavaScript is intended
for front-end\client-side execution (no inherent server-side dependencies).
This capability makes MEAN Stack
an excellent choice for today’s cloud-based IT Solutions which in-particular
is most useful for extending an application based on .NET, JAVA or other
platforms as runtime engine dependency issues are removed. Hybrid Technology Stack
Like Hybrid Infrastructure, an “IT Solution
having a combination of multiple Technology Stacks like Microsoft and MEAN is
a Hybrid Technology Stack Solution.” It is possible to have multiple
runtime engines in same IT Solution using SOA loose coupling, and other architectural
patterns, but from inter-operability and manageability point-of-view, it is
always recommended to have minimum (if not one) runtime platforms in a
solution and that is why Hybrid Solutions are often seen as combination of enterprise
applications like Dynamics 365 (from Microsoft) or OEBS (from
Oracle\Java) with JavaScript based MEAN Stack members like JS and\or Node JS, etc. |
|
Summary
As mentioned earlier, an IT
Solution is called Hybrid when it uses different Programming or Hosting
Platform, so a truly Hybrid solution is the one that uses both. An example of Fully Hybrid IT
Solution is Soluzione’s
Insurance Brokerage and Management Solution named INSURIENT whose technology
stack includes Microsoft
PowerApps, .NET Code, MongoDB, Angular JS and Node JS while the hosting includes Microsoft Azure and Amazon Web
Services. |
Comments
Post a Comment