Open Source in the En­ter­prise: A Change in the Cli­mate

Open source soft­ware is freely avail­able for use to en­ter­prises. It is a well known fact that ma­jor cor­po­ra­tions and en­ter­prises like Google, Face­book, Ama­zon, Bank of Amer­ica and many oth­ers use open source soft­ware. This ar­ti­cle high­lights the open sour

OpenSource For You - - Contents - By: Vikas Sa­j­jan and Su­nil V.L. Vikas Sa­j­jan is an ex­pert tech­nol­o­gist work­ing with Hewlett Packard En­ter­prise and has a decade of experience in var­i­ous com­puter dis­ci­plines. You can reach him at vikas.sa­j­[email protected] Su­nil V.L. is also an ex­pert techno

En­ter­prise class IT is mainly char­ac­terised by the fol­low­ing key at­tributes—re­li­a­bil­ity, scal­a­bil­ity, se­cu­rity, man­age­abil­ity and ser­vice­abil­ity. The en­ter­prise hard­ware and soft­ware stack needs to be highly re­li­able to cater to mis­sion-crit­i­cal work­loads. The work­load run­ning on the en­ter­prise IT in­fra­struc­ture may re­quire more re­sources from time to time; hence, it needs to be de­signed to scale seam­lessly in all as­pects. Since much cru­cial and con­fi­den­tial data is stored and an­a­lysed on IT ma­chines, se­cu­rity be­comes an im­por­tant as­pect of the IT in­fra­struc­ture, which should be built with su­pe­rior se­cu­rity fea­tures.

Pe­ri­odic up­dates are needed for the IT in­fra­struc­ture in terms of soft­ware up­grades, bug fixes and hard­ware re­place­ment. This de­mands that the en­ter­prise IT in­fra­struc­ture should have a swift ser­vice­abil­ity pol­icy.

En­ter­prise class IT typ­i­cally con­sists of a large num­ber of re­sources like servers, stor­age and net­work­ing and var­i­ous soft­ware prod­ucts run­ning on them. Hav­ing sim­ple and easyto-use man­age­abil­ity so­lu­tions will help in bet­ter re­source util­i­sa­tion and higher pro­duc­tiv­ity.

Open source in the en­ter­prise – the change has be­gun

The en­ter­prise seg­ment is un­der­go­ing changes like never be­fore with the advent of the cloud con­sump­tion model. There is a great push from cus­tomers for more cost-ef­fec­tive so­lu­tions.

Large or­gan­i­sa­tions are look­ing at vi­able al­ter­na­tives that al­low more agility, help­ing them to stay ahead in the mar­ket by in­no­vat­ing speed­ily. It is no sur­prise that re­duc­ing op­er­a­tional IT ex­pen­di­ture, while si­mul­ta­ne­ously in­creas­ing the level of se­cu­rity and soft­ware ca­pa­bil­i­ties, is a top pri­or­ity for most en­ter­prises. Open source prod­ucts and pro­cesses ad­dress all th­ese re­quire­ments.

Greater trans­parency: Not only is the source code avail­able, but all of the de­sign de­lib­er­a­tions are out in the open, in con­trast to the se­cre­tive pro­cesses of pro­pri­etary ven­dors. This trans­parency makes it easy to assess the prod­uct and its com­mu­nity be­fore de­cid­ing whether to use it.

Greater in­no­va­tion: Since open source so­lu­tions have a large com­mu­nity of ex­pe­ri­enced de­vel­op­ers vol­un­teer­ing to work on them, the pace and level of in­no­va­tion is

fast and con­tin­u­ous. This holds true in an­other way too —since any­one can con­trib­ute code, it al­lows an open source prod­uct to in­cor­po­rate un­usual use cases, which a pro­pri­etary ven­dor may ei­ther ig­nore or dis­miss. Cost-ef­fec­tive­ness: Open source so­lu­tions are gen­er­ally much more cost-ef­fec­tive than pro­pri­etary so­lu­tions, and they also give en­ter­prises the abil­ity to start small and scale up (more on that com­ing up). Given that en­ter­prises are of­ten bud­get chal­lenged, it just makes fi­nan­cial sense to ex­plore open source so­lu­tions.

Speed: Your en­ter­prise will soon be com­pet­ing on speed, if it isn’t al­ready do­ing so. Open source en­ables speed. A great ad­van­tage of open source is the abil­ity to take the com­mu­nity ver­sions, get started, un­der­stand whether they can solve your busi­ness prob­lem, and be­gin to de­liver value right away. Once you make that de­ci­sion, pro­fes­sional sup­port and ser­vices are in­creas­ingly avail­able for open source prod­ucts. This al­lows you to get the best of both worlds — flex­i­bil­ity, agility and the abil­ity to get started quickly and in­ex­pen­sively, with the op­tion to ma­ture to a large scale, fully sup­ported, en­ter­prise-grade im­ple­men­ta­tion. And you don’t have to go over pro­pri­etary li­cens­ing hur­dles to get there.

As per the Gart­ner re­port, ‘Sur­vey Anal­y­sis: Over­view of Pref­er­ences and Prac­tices in the Adop­tion and Us­age of Open-Source Soft­ware, Gart­ner Re­ports, 2011’, more than half the or­gan­i­sa­tions sur­veyed have adopted open source soft­ware (OSS) so­lu­tions as part of their IT strat­egy, with nearly one-thirds cit­ing the ben­e­fits of flex­i­bil­ity, in­creased in­no­va­tion, shorter devel­op­ment times and faster pro­cure­ment pro­cesses. OSS makes up nearly one-third of the sur­veyed or­gan­i­sa­tions’ over­all en­ter­prise soft­ware port­fo­lio (ap­pli­ca­tions and in­fra­struc­ture). In­ter­est­ingly, this is about the same as the pro­por­tion of in­ter­nally de­vel­oped soft­ware. The pres­ence and the in­flu­ence of open source soft­ware have ex­panded across soft­ware mar­ket seg­ments over more than a decade. It’s per­va­sive in many ar­eas of IT, and continues to emerge and ex­pand across oth­ers at a steady pace. Con­se­quently, main­stream IT or­gan­i­sa­tions can­not ig­nore the in­flu­ence and pres­ence of OSS in their tech­nol­ogy road maps (planned or un­planned). Those that do so, risk fac­ing tech­ni­cal and le­gal nightmares, and might miss out on sig­nif­i­cant com­pet­i­tive busi­ness value, the Gart­ner re­port con­cluded.

Let us look at the top open source al­ter­na­tives to some of the cur­rent pro­pri­etary en­ter­prise com­po­nents which can be adopted by large en­ter­prises.

Open source soft­ware in the en­ter­prise Op­er­at­ing system

The most pop­u­lar choice for an open source op­er­at­ing system is Linux, due to its vast com­mu­nity sup­port and adop­tion. There are mul­ti­ple Linux dis­tri­bu­tions for en­ter­prises, which vary in the pack­ages bun­dled and the cer­ti­fied ap­pli­ca­tions that ac­com­pany it. Red Hat En­ter­prise Linux (RHEL), SUSE Linux En­ter­prise Server (SLES), Or­a­cle Linux and Ubuntu En­ter­prise Linux are a few.

Linux is also the favourite OS due to its sup­port for con­tainer de­ploy­ment fea­tures.

Vir­tu­al­i­sa­tion soft­ware

The vir­tu­al­i­sa­tion method can be cat­e­gorised based on how it mim­ics hard­ware to a guest op­er­at­ing system and em­u­lates the guest op­er­at­ing en­vi­ron­ment. Pri­mar­ily, there are three types of vir­tu­al­i­sa­tion:

• Em­u­la­tion

• Para-vir­tu­al­i­sa­tion

• Con­tainer-based vir­tu­al­i­sa­tion

Em­u­la­tion: Em­u­la­tion, also known as full vir­tu­al­i­sa­tion, runs the vir­tual ma­chine OS ker­nel en­tirely in soft­ware. The hy­per­vi­sor used in this type is known as a Type 2 hy­per­vi­sor. It is in­stalled on top of the host op­er­at­ing system, which is re­spon­si­ble for trans­lat­ing the guest OS ker­nel code to soft­ware in­struc­tions. The trans­la­tion is done en­tirely in soft­ware and re­quires no hard­ware in­volve­ment. Em­u­la­tion makes it pos­si­ble to run any non-mod­i­fied op­er­at­ing system that sup­ports the en­vi­ron­ment be­ing em­u­lated. The down­side of this type of vir­tu­al­i­sa­tion is the ad­di­tional system re­source over­head that leads to a de­crease in per­for­mance com­pared to other types of vir­tu­al­i­sa­tion.

Or­a­cle VM Vir­tu­alBox and QEMU are the top choices for the em­u­la­tion kind of vir­tu­al­i­sa­tion.

QEMU is a hosted vir­tual ma­chine mon­i­tor. It em­u­lates CPUs through dy­namic bi­nary trans­la­tion and pro­vides a set of de­vice mod­els, en­abling it to run a va­ri­ety of un­mod­i­fied guest op­er­at­ing sys­tems. It can also be used with KVM to run vir­tual ma­chines at near-na­tive speed (re­quir­ing hard­ware vir­tu­al­i­sa­tion ex­ten­sions on x86 ma­chines). QEMU can also be used purely for CPU em­u­la­tion for user-level pro­cesses, al­low­ing ap­pli­ca­tions compiled for one ar­chi­tec­ture to be run on an­other.

Or­a­cle VM Vir­tu­alBox (for­merly Sun Vir­tu­alBox) is a free and open source hy­per­vi­sor for x86 com­put­ers cur­rently be­ing de­vel­oped by Or­a­cle Cor­po­ra­tion. Vir­tu­alBox may be in­stalled on a num­ber of host op­er­at­ing sys­tems, in­clud­ing Linux, OS X, Windows, So­laris and Open So­laris. There are also ports to FreeBSD and Gen­ode. It also sup­ports the cre­ation and man­age­ment of guest vir­tual ma­chines that run ver­sions and deriva­tions of Windows, Linux, BSD, OS/2, So­laris, Haiku, OSx86 and lim­ited vir­tu­al­i­sa­tion of OS X guests on Ap­ple hard­ware.

Para-vir­tu­al­i­sa­tion: It is also known as a Type 1 hy­per­vi­sor, run­ning di­rectly on the hard­ware or ‘bare-metal’, and pro­vides vir­tu­al­i­sa­tion ser­vices di­rectly to the vir­tual ma­chines run­ning on it. It helps the op­er­at­ing system, the vir­tu­alised hard­ware, and the real hard­ware to col­lab­o­rate to achieve op­ti­mal per­for­mance. Th­ese hy­per­vi­sors typ­i­cally have a rather small foot­print and do not, them­selves, re­quire ex­ten­sive re­sources.

Fea­tured be­low are the top two open source par­avir­tu­al­i­sa­tion prod­ucts.

KVM (Ker­nel-based Vir­tual Ma­chine) is a full vir­tu­al­i­sa­tion so­lu­tion for Linux on x86 hard­ware con­tain­ing vir­tu­al­i­sa­tion ex­ten­sions (In­tel VT or AMD-V). It con­sists of a load­able ker­nel mod­ule, kvm.ko, that pro­vides the core vir­tu­al­i­sa­tion in­fra­struc­ture and a pro­ces­sor-spe­cific mod­ule like kvm-in­tel.ko or kvm-amd.ko.

Us­ing KVM, one can run mul­ti­ple vir­tual ma­chines run­ning un­mod­i­fied Linux or Windows im­ages. Each vir­tual ma­chine has pri­vate vir­tu­alised hard­ware—a net­work card,

disk, graph­ics adapter, etc. The ker­nel com­po­nent of KVM is in­cluded in main­line Linux, as of 2.6.20. The user space com­po­nent of KVM is in­cluded in main­line QEMU, as of

1.3. Blogs by peo­ple ac­tive in KVM-re­lated vir­tu­al­i­sa­tion devel­op­ment are syn­di­cated at http://planet.virt-tools.org/.

Xen hy­per­vi­sor is an open source Type 1 or bare metal hy­per­vi­sor, which makes it pos­si­ble to run many in­stances of an op­er­at­ing system or dif­fer­ent op­er­at­ing sys­tems in par­al­lel on a sin­gle ma­chine (or host). The Xen Project hy­per­vi­sor is the only Type 1 hy­per­vi­sor that is avail­able as open source. It is used as the ba­sis for a num­ber of dif­fer­ent com­mer­cial and open source ap­pli­ca­tions, such as server vir­tu­al­i­sa­tion, In­fra­struc­ture as a Ser­vice (IaaS), desk­top vir­tu­al­i­sa­tion, se­cu­rity ap­pli­ca­tions, and em­bed­ded and hard­ware ap­pli­ances. The Xen Project hy­per­vi­sor is pow­er­ing the largest clouds in pro­duc­tion to­day.

Con­tainer based vir­tu­al­i­sa­tion: Con­tainer based vir­tu­al­i­sa­tion, also known as op­er­at­ing system-level vir­tu­al­i­sa­tion, en­ables mul­ti­ple iso­lated ex­e­cu­tions within a sin­gle op­er­at­ing system ker­nel. It has the best pos­si­ble per­for­mance and den­sity, while fea­tur­ing dy­namic re­source man­age­ment. The iso­lated vir­tual ex­e­cu­tion en­vi­ron­ment pro­vided by this type of vir­tu­al­i­sa­tion is called a con­tainer and can be viewed as a traced group of pro­cesses.

Con­tain­ers have also sparked an in­ter­est in mi­cro ser­vice ar­chi­tec­ture, a de­sign pattern for de­vel­op­ing ap­pli­ca­tions in which com­plex ap­pli­ca­tions are bro­ken down into smaller pieces that work to­gether. Each com­po­nent is de­vel­oped sep­a­rately, and the ap­pli­ca­tion is then sim­ply the sum of its con­stituent com­po­nents. Each piece, or ser­vice, can re­side in­side a con­tainer, and can be scaled in­de­pen­dently of the rest of the ap­pli­ca­tion as the need arises.

Un­doubt­edly, one of the big­gest rea­sons for the re­cent in­ter­est in con­tainer tech­nol­ogy has been the Docker open source project, a com­mand line tool that makes cre­at­ing and work­ing with con­tain­ers easy for de­vel­op­ers and sys ad­mins alike, sim­i­lar to the way Va­grant makes it eas­ier for de­vel­op­ers to ex­plore vir­tual ma­chines eas­ily.

Docker is a com­mand line tool for pro­gram­mat­i­cally defin­ing the con­tents of a Linux con­tainer in code, which can then be ver­sioned, re­pro­duced, shared and mod­i­fied eas­ily just as if it were the source code to a pro­gram.

Cloud plat­forms

Cloud Foundry is the world’s lead­ing open source Plat­for­mas-a-Ser­vice (PaaS) for con­tin­u­ous in­no­va­tion

The Cloud Foundry plat­form is avail­able from ei­ther the Cloud Foundry Foun­da­tion as open source soft­ware, or from mul­ti­ple com­mer­cial providers as a prod­uct or a ser­vice.

Cloud Foundry is open source soft­ware and, hence, avail­able to any­one. De­ploy­ing it in­volves in­ter­fac­ing with the un­der­ly­ing in­fra­struc­ture us­ing the Cloud Foundry

BOSH (bosh outer shell) de­ploy­ment script­ing lan­guage, an­other open source tool from Piv­otal. The Baidu web­site is im­ple­mented on Cloud Foundry.

Or­ches­tra­tion tools

Based on the cloud plat­forms adopted, given be­low are some of the top or­ches­tra­tors.

Cloud Foundry’s Diego: Diego is a con­tainer man­age­ment system that com­bines a sched­uler, run­ner and health man­ager. It is a re­write of the Cloud Foundry run­time.

Docker Swarm: Docker Swarm pro­vides na­tive clus­ter­ing func­tion­al­ity for Docker con­tain­ers, which lets you turn a group of Docker en­gines into a sin­gle, vir­tual Docker engine.

Ku­ber­netes: Ku­ber­netes is an or­ches­tra­tion system for Docker con­tain­ers. It han­dles sched­ul­ing and man­ages work­loads based on user-de­fined pa­ram­e­ters.

Me­so­sphere Marathon: Marathon is a con­tainer or­ches­tra­tion frame­work for Apache Me­sos that is de­signed to launch long-run­ning ap­pli­ca­tions. It of­fers key fea­tures for run­ning ap­pli­ca­tions in a clus­tered en­vi­ron­ment.

Big Data ap­pli­ca­tions

Apache Cas­san­dra is a free and open source dis­trib­uted data­base man­age­ment system de­signed to han­dle large amounts of data across many com­mod­ity servers, pro­vid­ing high avail­abil­ity with no sin­gle point of fail­ure. Cas­san­dra of­fers ro­bust sup­port for clus­ters span­ning mul­ti­ple data cen­tres, with asyn­chro­nous mas­ter­less repli­ca­tion al­low­ing low la­tency op­er­a­tions for all clients.

Hadoop is an open source, Java-based pro­gram­ming frame­work that sup­ports the pro­cess­ing and stor­age of ex­tremely large data sets in a dis­trib­uted com­put­ing en­vi­ron­ment. It is part of the Apache project, spon­sored by the Apache Soft­ware Foun­da­tion

Apache Spark is an open source clus­ter com­put­ing frame­work. Orig­i­nally de­vel­oped at the Univer­sity of Cal­i­for­nia, Berke­ley’s AMPLab, the Spark code­base was later do­nated to the Apache Soft­ware Foun­da­tion, which has main­tained it since. Spark pro­vides an in­ter­face for pro­gram­ming en­tire clus­ters with im­plicit data par­al­lel­ism and fault-tol­er­ance. It pro­vides pro­gram­mers with an ap­pli­ca­tion pro­gram­ming in­ter­face cen­tred on a data struc­ture called the re­silient dis­trib­uted dataset (RDD),

a read-only multi-set of data items dis­trib­uted over a clus­ter of ma­chines, which is main­tained in a fault-tol­er­ant way. It was de­vel­oped in re­sponse to lim­i­ta­tions in the MapRe­duce clus­ter com­put­ing par­a­digm, which forces a par­tic­u­lar lin­ear data flow struc­ture on dis­trib­uted pro­grams. MapRe­duce pro­grams read in­put data from the disk, map a func­tion across the data, re­duce the re­sults of the map, and store re­duc­tion re­sults on the disk. Spark’s RDDs func­tion as a work­ing set for dis­trib­uted pro­grams that of­fer a (de­lib­er­ately) re­stricted form of dis­trib­uted shared mem­ory.

Data­bases

Post­greSQL is es­sen­tially a re­la­tional data­base, but with an ob­ject-ori­ented data­base model. Per­for­mance is nearly as fast as Mari­aDB and MySQL, but the big­gest plus is Post­greSQL’s man­age­ment in­ter­face called pgAd­min, which has a ro­bust set of fea­tures that’s easy and in­tu­itive to nav­i­gate.

Mari­aDB is a com­mu­nity-de­vel­oped fork of the MySQL re­la­tional data­base man­age­ment system in­tended to re­main free un­der the GNU GPL. It is no­table for be­ing led by the orig­i­nal de­vel­op­ers of MySQL, who forked it due to con­cerns over its ac­qui­si­tion by Or­a­cle. Con­trib­u­tors are re­quired to share their copy­right with the Mari­aDB Foun­da­tion. It in­tends to main­tain high com­pat­i­bil­ity with MySQL, en­sur­ing a ‘dropin’ re­place­ment ca­pa­bil­ity with li­brary bi­nary equiv­a­lence and ex­actly matches with MySQL APIs and com­mands. It in­cludes the XtraDB stor­age engine for re­plac­ing In­noDB, as well as a new stor­age engine, Aria, that is in­tended to be both a trans­ac­tional and non-trans­ac­tional engine, per­haps even to be in­cluded in fu­ture ver­sions of MySQL.

Mon­goDB is the NoSQL data­base move­ment that came about to ad­dress the short­com­ings of re­la­tional data­bases and the de­mands of mod­ern soft­ware devel­op­ment. Mon­goDB is the lead­ing NoSQL data­base, with sig­nif­i­cant adop­tion among the For­tune 500 and Global 500 com­pa­nies.

Ap­pli­ca­tion run­time en­vi­ron­ments

OpenJDK, PHP run­time and Apache Tom­cat are the most widely used open source ap­pli­ca­tion run­time en­vi­ron­ments based on the kind of work­loads en­ter­prise class IT runs.

OpenJDK (Open Java Devel­op­ment Kit) is a free and open source im­ple­men­ta­tion of the Java plat­form, Stan­dard Edi­tion (Java SE). The im­ple­men­ta­tion is li­censed un­der the GNU Gen­eral Pub­lic Li­cense (GNU GPL) ver­sion 2 with a link­ing ex­cep­tion. OpenJDK is the of­fi­cial ref­er­ence im­ple­men­ta­tion of Java SE since ver­sion 7.

The OpenJDK project pro­duces a num­ber of com­po­nents, most im­por­tantly, the vir­tual ma­chine (HotSpot), the Java Class Li­brary and the Java com­piler (javac).

The Web browser plu­gin and Web Start, which form part of Or­a­cle Java, are not in­cluded in OpenJDK. Sun pre­vi­ously in­di­cated that it would try to open source th­ese com­po­nents, but nei­ther Sun nor Or­a­cle have done so. The only cur­rently avail­able free plu­gin and Web Start im­ple­men­ta­tions, as of 2016, are those pro­vided by IcedTea.

Apache Tom­cat, of­ten re­ferred to as Tom­cat Server, is an open source Java Servlet Con­tainer de­vel­oped by the Apache Soft­ware Foun­da­tion (ASF). Tom­cat im­ple­ments sev­eral Java EE spec­i­fi­ca­tions in­clud­ing Java Servlet, JavaServer Pages (JSP), Java EL and We­bSocket, pro­vid­ing a ‘pure Java’ HTTP Web server en­vi­ron­ment in which Java code can run.

Tom­cat is de­vel­oped and main­tained by an open com­mu­nity of de­vel­op­ers un­der the aus­pices of the Apache Soft­ware Foun­da­tion, re­leased un­der the Apache Li­cense 2.0, and is open source soft­ware.

PHP is a server-side script­ing lan­guage de­signed pri­mar­ily for Web devel­op­ment but is also used as a gen­er­alpur­pose pro­gram­ming lan­guage. PHP orig­i­nally stood for Per­sonal Home Page, but it now stands for the re­cur­sive acro­nym PHP: Hyper­text Pre­pro­ces­sor.

PHP code may be em­bed­ded into HTML code, or it can be used in com­bi­na­tion with var­i­ous Web tem­plate sys­tems, Web con­tent man­age­ment sys­tems and Web frame­works. PHP code is usu­ally pro­cessed by a PHP in­ter­preter im­ple­mented as a mod­ule in the Web server or as a Com­mon Gate­way In­ter­face (CGI) ex­e­cutable. The Web server com­bines the re­sults of the in­ter­preted and ex­e­cuted PHP code, which may be any type of data, in­clud­ing im­ages, with the gen­er­ated Web page. PHP code may also be ex­e­cuted with a com­mand-line in­ter­face (CLI) and can be used to im­ple­ment stand­alone graph­i­cal ap­pli­ca­tions.

The stan­dard PHP in­ter­preter, pow­ered by the Zend Engine, is free soft­ware re­leased un­der the PHP li­cence. PHP has been widely ported, and can be de­ployed on most Web servers on al­most ev­ery op­er­at­ing system and plat­form, free of charge.

Man­age­abil­ity soft­ware

OpenDCIM is a free, Web based data cen­tre in­fra­struc­ture man­age­ment (DCIM) ap­pli­ca­tion. While pro­pri­etary prod­ucts dom­i­nate the DCIM so­lu­tions, OpenDCIM is the most promis­ing open source al­ter­na­tive.

While OpenDCIM doesn’t pro­vide all the fea­tures avail­able in com­mer­cial prod­ucts, it cov­ers a ma­jor­ity of them. OpenDCIM is not de­signed to com­pete with com­mer­cial prod­ucts. Its big­gest ad­van­tage is that it is ef­fec­tively free for use. For data cen­tres of al­most any size, the tool is an ef­fec­tive in­tro­duc­tion to DCIM con­cepts, and al­lows ad­min­is­tra­tors to eval­u­ate the util­ity of DCIM soft­ware in their own en­vi­ron­ments.

Open source hard­ware in the en­ter­prise Open com­pute project (OCP)

The Open Com­pute Project (OCP) is an or­gan­i­sa­tion that shares de­signs of data cen­tre prod­ucts among com­pa­nies, in­clud­ing Face­book, In­tel, Google, Ap­ple, Mi­crosoft, Sea­gate Tech­nol­ogy, Dell, Rackspace, Eric­s­son, Cisco, Ju­niper Net­works, Gold­man Sachs, Fidelity, Len­ovo and Bank of Amer­ica. It is a col­lab­o­ra­tive com­mu­nity fo­cused on re­design­ing hard­ware tech­nol­ogy to ef­fi­ciently sup­port the

grow­ing de­mands on com­pute in­fra­struc­ture.

In 2011, Face­book shared its de­signs with the pub­lic and—along with In­tel, Rackspace, Gold­man Sachs and

Andy Bech­tol­sheim—launched the Open Com­pute Project, in­cor­po­rat­ing the Open Com­pute Project Foun­da­tion. The five mem­bers hoped to cre­ate a move­ment in the hard­ware space that would bring about the same kind of cre­ativ­ity and col­lab­o­ra­tion we see in open source soft­ware. And that’s ex­actly what’s hap­pen­ing.

The Open Com­pute com­mu­nity has mul­ti­ple ac­tive open hard­ware streams. There are mul­ti­ple de­signs avail­able for stor­age, net­work­ing, servers, racks and gen­eral guide­lines for de­sign­ing a data cen­tre.

RISC-V is an open In­struc­tion Set Ar­chi­tec­ture (ISA) and is de­liv­ered as a pa­ram­e­terised core gen­er­a­tor. It has a small gen­eral-pur­pose base and mul­ti­ple op­tional ex­ten­sions, in­clud­ing re­served op­codes for unique SoC in­struc­tions.

Its goals are:

To be­come the in­dus­try-stan­dard ISA for all com­put­ing de­vices.

To ex­pand spec­i­fi­ca­tions for SoCs, in­clud­ing I/O and ac­cel­er­a­tors.

As most of the cost in chip de­sign is the cost of the soft­ware, this ar­chi­tec­ture will try to en­sure that this soft­ware can be reused across many chip de­signs. En­cour­age both open source and pro­pri­etary im­ple­men­ta­tions of the RISC-V ISA spec­i­fi­ca­tions.

RISC-V has been adopted by IIT Madras (and oth­ers too), and RISC-V chips are ship­ping com­mer­cially.

To sum­marise, en­ter­prise class IT has evolved by adopt­ing open source prod­ucts and pro­cesses, re­sult­ing in more agility and help­ing or­gan­i­sa­tions to stay ahead in the mar­ket with speedy in­no­va­tions. It is no sur­prise that re­duc­ing op­er­a­tional IT ex­pen­di­tures, while si­mul­ta­ne­ously in­creas­ing the level of se­cu­rity and soft­ware ca­pa­bil­i­ties, is a top pri­or­ity for most en­ter­prises. Open source ad­dresses th­ese con­cerns. Since en­ter­prise open source comes with its own ad­van­tages and risks, one has to choose the right set of open source so­lu­tions to suit spe­cific needs. En­ter­prises need to con­sider the ad­van­tages of open source and how it can help them im­prove their op­er­a­tions.

Fig­ure 7: Con­tainer based vir­tu­al­i­sa­tion

Fig­ure 4: Linux tech­nol­ogy for sup­port­ing con­tain­ers (Source: http://im­age.slidesharecdn.com/dockeroverview-rise­ofthe­con­tain­ers-150417102414-con­ver­sion­gate02/95/docker-over­view-rise-of-the-con­tain­ers-7-638.jpg?cb=1429267165)

Fig­ure 5: Type 2 hy­per­vi­sor

Fig­ure 6: Para-vir­tu­al­i­sa­tion

Fig­ure 3: Open source adop­tion in the en­ter­prise (Source: https://mc-3004-1805356660.us-east-1.elb.ama­zon­aws.com/ re­sources/in­fo­graph­ics/open-source-soft­ware-chang­ing-cli­mate-en­ter­prise)

Fig­ure 1: Typ­i­cal en­ter­prise server ar­chi­tec­ture

Fig­ure 2: Cur­rent en­ter­prise mar­ket de­mands

Newspapers in English

Newspapers from India

© PressReader. All rights reserved.