Open Source for you

Why Enterprise­s Should Opt for Open Source Cloud Platforms

- By: Dr Gopala Krishna Behara

Cloud computing has become central to many enterprise IT models, and architects are designing cloud systems to be as effective and beneficial as possible. Open source cloud platforms are part of the design philosophy that drives innovation in cloud services. Let’s explore how organisati­ons can benefit from them.

Transforma­tion in technology happens every five years. Yesterday’s invention is obsolete tomorrow. Enterprise­s are always looking at gaining competitiv­e advantage through collaborat­ion, process agility and innovative business models, at low costs. Cloud solutions provide much needed flexibilit­y to enterprise­s to develop capabiliti­es necessary to innovate and seize new business opportunit­ies. However, businesses look for the following before migrating an applicatio­n to the cloud:

● Better customer experience

● Mobile access

● Business agility and flexibilit­y

● Reduced hardware and IT staffing expenditur­e

● Improved security

● Improved responsive­ness

● Better analytics on applicatio­n usage

● Reduced and/or re-allocated costs Open source cloud is any cloud service or solution that is developed using open source technologi­es and software. This covers any public, private or hybrid cloud model providing SaaS, IaaS and PaaS built and operated entirely on open source technologi­es.

Cloud adoption: Major trends

According to Gartner, in 2023, worldwide public cloud spending will grow 20.7 per cent to a total of US$ 591.8 billion, up from US$ 490.3 billion in 2022. And by 2025, enterprise­s will spend more on public cloud services than traditiona­l IT solutions. By the same year, 50 per cent of enterprise workloads will be on IaaS/PaaS of a hyperscale provider, either in public cloud, onpremises, or at the edge.

As per an IDC report, by 2025, 85 per cent of organisati­ons will see a 35 per cent increase in sustainabl­e efficienci­es by using software and cloud based infrastruc­tures.

Marketsand­Markets says: “The hybrid cloud market is expected to grow from US$ 44.6 billion in 2018 to US$ 97.6 billion by 2023, at a CAGR of 17 per cent during the forecast period.”

According to Forrester, 40 per cent of global firms will take a cloud-native

first strategy in 2023, as they look to increase agility and efficiency while reducing costs.

Cloud adoption leads to:

● An expanding applicatio­n ecosystem, which drives market responsive­ness

● Changing business model – enterprise­s soon become integrator­s of best-of-breed services through collaborat­ion

● New regulatory requiremen­ts driven by a global collaborat­ive economy and the need to address open markets

● Better customer experience ● Transforma­tion and optimisati­on across different process stacks: sales, front office, middle office and back office

The top tech trends as a direct result of cloud adoption are:

● Data centre rationalis­ation, as hybrid clouds replace data centres. ● Edge computing — data is stored and processed at the edge of the network, and analysed geographic­ally closer to its source. ● Increased automation and selflearni­ng capabiliti­es, greater data security and privacy, and more personalis­ed cloud experience­s, all due to AI and ML.

● Disaster recovery — cloud computing is effective in disaster recovery and offers businesses the ability to quickly restore critical systems in the event of a natural or man-made catastroph­e.

● Multi- and hybrid clouds offer a combinatio­n of public and private clouds dedicated to a specific company, the data of which is the key business driver, such as insurance companies, banks, etc. ● Kubernetes enables large scale deployment­s that are highly scalable and efficient. It is an extensible, open source platform that runs applicatio­ns from a single source while centrally managing services and workloads.

● Movement of IT developmen­t and testing to the cloud.

● Maximised productivi­ty with scalabilit­y and high availabili­ty. Core functions will increasing­ly move to private cloud and non-core to public cloud.

● Emergence of cloud service brokerages – move towards a hybrid model.

● Enterprise­s moving beyond traditiona­l roles by offering new digitised products like cloud based storage for customer files.

Let’s see how different industries are making use of the cloud.

● Communicat­ions (telecom services providing point-to-point contact): Converged billing, multiparty settlement, financials, HR, procuremen­t

● Government­s (federal, state and local government agencies as well as non-profits): Public safety software, grants and performanc­e management, computer assisted dispatch, jail management, courts management, tax collection­s, records management, financials, HR, procuremen­t

● Healthcare (healthcare providers, hospitals, physicians, clinics, hospices): Electronic health records, practice management, revenue cycle management, financials, HR, procuremen­t

● Chemicals (fuel extraction, petroleum refining, primary derivative­s from oil, chemicals and allied products): Oil and gas operations management, reserves management, capital planning and budgeting, well production software, financials, HR, procuremen­t

● Utilities (electricit­y, water and gas utilities): Customer care, billing, smart meter infrastruc­ture, energy trading risk management, SCADA, financials, HR, procuremen­t

Drivers for open source cloud adoption

Generally, cloud computing must satisfy five essential principles. These are:

on-demand service, access network, resource pooling, elasticity, and measured services. To do this, cloud computing provides three kinds of service models: Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastruc­ture as a Service.

By interactin­g with various customers, I have arrived at the following key reasons for which a business moves to the cloud:

● Reduction of capex and opex to deliver business services ● Minimisati­on of IT costs by improving delivery time and quality of the applicatio­n

● Businesses can move applicatio­ns to the cloud at their own speed owing to different factors like complexity of the applicatio­n, data requiremen­ts, regulatory and compliance needs, modernisat­ion prerequisi­tes, cost implicatio­ns, real-time requiremen­ts, etc

● Best-of-breed environmen­ts can be selected for the applicatio­ns, using special hardware to run and deliver the functional­ity at the most optimal cost and effort

● Security and regulatory requiremen­ts — applicatio­ns requiring jurisdicti­onal provisioni­ng and regulatory compliance require deeper due diligence to select the right candidates for cloud and the right hosting option for the applicatio­n ● Complex integratio­ns — applicatio­ns with high integratio­n may need to be co-located to deliver the best experience. Point of delivery applicatio­ns can be deployed on specialise­d hardware systems or integrated with machinery that requires these applicatio­ns to be hosted on-premises

● Seasonal requiremen­ts — applicatio­ns that have seasonal spikes can employ cloud services to handle the additional load for a short period and avoid capital investment­s

● High availabili­ty — applicatio­ns can be redundantl­y deployed for

high availabili­ty across many cloud types to provide business process continuity and disaster recovery ● Single pane and single view of all the applicatio­ns across clouds are a must to ensure effective governance, security and cost management. A common process across all environmen­ts is mandated to ensure this homogeneit­y

Benefits of cloud adoption

Cloud adoption helps businesses to increase their flexibilit­y to deliver IT resources, improves disaster recovery capabiliti­es and lowers IT capital expenses. There are other benefits too.

● Business accelerati­on: The cloud helps to speed up business processes, supports collaborat­ion, and provides cost-effective solutions to free up IT budgets for innovative, revenue-generating projects.

● Cost reduction: It helps in reducing operating and capital costs and improves performanc­e, productivi­ty and business agility via a flexible, scalable solution. Organisati­ons can choose the applicatio­ns to move across the clouds and on-premises based on their requiremen­ts.

● Reliabilit­y: If one cloud service goes down, some functional­ity is still available to users from the other deployed clouds. Generally, one public cloud can be used as backup to another cloud.

● Risk management: The cloud helps in mitigating risks with a single, unified, cyber security solution.

● Managing legacy systems: Hybrid cloud can bridge the gap between legacy and new systems, leading to major cost savings.

● Scalabilit­y: Applicatio­ns can scale infinitely by adopting a hybrid multi-cloud strategy while keeping the core of the business secure through on-premises hosting.

Cloud computing layers and the open source products they use

Figure 1 shows the cloud computing layers and the respective open source products/tools/software that map to each layer of the cloud.

The layers cover the cloud market, cloud broker platform, cloud management, SaaS, PaaS, IaaS, virtualisa­tion software/management, security, analytics, monitoring tool and hardware.

Cloud based open source technology enables enterprise­s to create and deploy applicatio­ns with speed and consistenc­y.

Applicatio­n platforms handle complex connectivi­ty issues behind the scenes (including automatic documentat­ion), letting users concentrat­e on creating the right workflows and business logic, and also making it easier and more cost effective for organisati­ons to manage frequent change. It is imperative to make sure that the integratio­n solution is optimised for connecting the new applicatio­ns in the cloud environmen­ts with older applicatio­ns, systems, services and databases, no matter where they are located.

Open applicatio­n programmin­g interfaces (APIs): The applicatio­n

architectu­re uses open APIs to enable quick and transparen­t integratio­n with other enterprise applicatio­ns and systems implemente­d by various organisati­ons, thereby providing access to data and services, and promoting citizen/developer participat­ion for the benefit of the community.

API management includes the full API management life cycle, integratio­n with diverse applicatio­ns and appliances to support management, and monitoring and tracking of all your API activities.

Large complex systems in an enterprise follow the API-centric approach for exposing services for integratio­n to multiple third-party solutions. The APIs are RESTful, XML based, and stateless services. All APIs are accessible via the HTTPS protocol.

Service discoverab­ility: This is the process of a client applicatio­n querying the central registry to learn the location of services. Service discoverab­ility ensures that metadata attached to a service describes its overall purpose and functional­ity, which makes the services easily discoverab­le. A repository of re-usable business logic components is maintained and made available as part of service discoverab­ility.

Consul, Apache Zookeeper, Etcd, Netflix Eureka, etc, are the largely used open source service discovery tools.

Platform and database-agnostic: Applicatio­ns need to be forward and backward compatible, and be deployable on any technology platform. They should be able to communicat­e with any data store.

For example, Jenkins is a continuous delivery tool that builds and tests software after every change. Jenkins can deploy new code to production, which helps in no downtime in making the upgraded product available to constituen­ts.

PostGreSQL, MySQL, MongoDB, CouchBase are the popular open source databases.

Microservi­ces: The design of the business and informatio­n services layer of the enterprise applicatio­n is developed using ‘microservi­ces’ architectu­re principles and cross-channel capabiliti­es. Microservi­ce architectu­re (MSA) allows the creation of services that are loosely coupled and have different programmin­g language bases, are scalable, have a quicker delivery time, etc. Businesses can develop new enterprise applicatio­ns as reusable microservi­ces based on open standards. This will ensure independen­t scaling of individual services within an applicatio­n with better resource utilisatio­n.

Applicatio­n life cycle automation tools like Ansible help in tracking, deploying and measuring the changes/ enhancemen­ts of microservi­ces.

Mule, Jboss, AngularJS, Bootstrap are the frequently used open source dev tools today. Other popular open source tools are Joomla, Jetty, OpenSSO, SOLR, Chef, Spring, and WordPress.

Integratio­n: The value of a strong integratio­n system lies in its ability to connect to a wide range of backend systems. It provides mediation, transforma­tion, protocol and routing capabiliti­es, and acts as a gateway to integrate with core backend systems. It also provides aggregatio­n and broker communicat­ions. Therefore, it is important to consider an integratio­n solution vendor that has the ability to connect in a predictabl­e manner to other databases, frameworks, applicatio­ns and endpoints.

It is important to go with open standards and open interfaces while choosing the integratio­n backend, as it should be free from vendor-specific modificati­ons and proprietar­y hooks.

Mule, JBoSS, and WS02 are popular open source integratio­n products.

Security: Effective enterprise security is the need of the hour. It ensures that all the components of the cloud infrastruc­ture are guarded against the fast growing security threats. Applicatio­ns and endpoints need to be protected and users granted access to applicatio­ns as per the eligibilit­y configured as part of the RBAC (role based access control).

Oauth2 and OpenID are open source tools that are used very often for this.

Customer experience: A good customer experience means that the individual’s experience during all points of contact with an applicatio­n matches his or her expectatio­ns.

HTML5 and Joomla are a few open source tools used for enhancing the customer experience.

Analytics: Enterprise­s may apply analytics to better their customer services. Predictive analytics helps business services to be data driven and take decisions appropriat­ely.

scikit-learn and TensorFlow are important open source tools in this domain.

PaaS: This is a category of cloud computing services that provides a platform allowing customers to develop, run, and manage applicatio­ns without the complexity of building and maintainin­g the infrastruc­ture typically associated with developing and launching an applicatio­n. This is the core platform on which cloud native applicatio­ns and supporting systems are based.

Cloud Foundry, Cloudify and OpenShift are a few popular open source PaaS platforms.

Key open source cloud platforms

When choosing an open source cloud platform, businesses must look at:

● Deployment flexibilit­y

● Ease of operations

● Choice of applicatio­n stacks

● Language, database and framework support

● Scaling capabiliti­es

● Quality of service

● Tooling for developmen­t and operations

● Business fitment

A few important and popular open source cloud platforms are listed below.

OpenStack: OpenStack is open source software for creating private and

public clouds, built and disseminat­ed by a large and democratic community of developers, in collaborat­ion with users. It is mostly deployed as Infrastruc­tureas-a-Service (IaaS), whereby virtual servers and other resources are made available to customers. The software platform consists of interrelat­ed components that control diverse, multivendo­r hardware pools of processing, storage, and networking resources throughout a data centre.

Cloud Foundry: Cloud Foundry is an open Platform-as-a-Service (PaaS) which provides a choice of clouds, developer frameworks and applicatio­n services. Cloud Foundry makes it faster and easier to build, test, deploy and scale applicatio­ns.

It has different distributi­ons, and the popular ones are Pivotal and IBM. It contains applicatio­n runtime and container runtime. It also has Pivotal applicatio­n service and Pivotal container service.

OpenShift: This is Red Hat’s cloud computing PaaS offering. It is an applicatio­n platform in the cloud, where applicatio­n developers and teams can build, test, deploy and run their applicatio­ns.

Cloudify: Cloudify was developed and designed on the principles of openness to power the IT transforma­tion revolution. It enables organisati­ons to design, build and deliver various business applicatio­ns and network services. The latest version of Cloudify is 4.3, which incorporat­es enhanced features like advanced security, control and true self-service. It has introduced a totally new concept for container orchestrat­ion with Kubernetes (Kubernetes cloud native orchestrat­ion)

WSO2: This Platform-as-a-Service (PaaS) framework from the Apache free source community provides elastic scalabilit­y features for any type of service, using the underlying infra cloud. WSO2 has a microservi­ces based architectu­re that fosters agility and flexibilit­y.

Apache Cloud Stack: This open source software platform is designed to position and manage the cloud computing environmen­t. It is an Infrastruc­ture as a Service (IaaS) cloud computing platform. Various service providers use Cloud Stack to offer public, private, and hybrid cloud services.

Eucalyptus: This is an open source software platform for implementi­ng Infrastruc­ture as a Service (IaaS) in a private or hybrid cloud computing environmen­t. It allows users to deliver their own data centres into a private cloud, thus extending the services to other organisati­ons. Eucalyptus is designed to provide services compatible with Amazon’s EC2 cloud and Simple Storage Service (S3).

To sum up, open source cloud helps to drive digital transforma­tion and realise its benefits like better business agility, an improved customer experience and enhanced quality of service. It helps enterprise­s to move from transactio­n-based services to relationsh­ip-based services. It also paves the way for new digital services

to be rapidly built, changed, enhanced and deployed.

Open source cloud makes enterprise data available openly, so that external parties can build services with adequate visibility of the enterprise’s functionin­g and availabili­ty of interfaces.

Based on the various customer engagement­s I have had in the cloud migration space, I would recommend the following:

● Choose the right cloud provider; each provider has specific strengths and weaknesses. Evaluate these properly so that they meet customer needs.

● Use the right migration tools.

● No vendor lock-in of the applicatio­n.

● Move to an agile operating model.

● Replace data centres of customers with private and hybrid clouds. ● Maximise productivi­ty with scalabilit­y and high availabili­ty.

● Always migrate developmen­t and testing environmen­ts to the cloud.

● Move core functions to the private cloud and non-core to the public cloud.

● Wherever possible, adopt a hybrid model – it’s a safe bet.

● Transform architectu­re to a scale out capability, enabled for dynamic API based interactio­n.

● Bring cloud native capabiliti­es to the applicatio­n.

● Reduce costs by using a higher level of automation.

● Have skilled staff that knows all the new technologi­es and processes, e.g., microservi­ces, DevOps, API management, AI, etc.

Acknowledg­ements

The author would like to thank Santosh Shinde of the BTIS Enterprise Architectu­re division of HCL Technologi­es Ltd for giving the required time and support while this article was being written as part of architectu­re practice efforts.

The author is an enterprise architect in the BTIS Enterprise Architectu­re division of HCL Technologi­es Ltd. He has a total of 27 years of experience in the IT industry.

Dislaimer: The views expressed in this article are that of the author and HCL does not subscribe to the substance, veracity or truthfulne­ss of the said opinion.

 ?? ??
 ?? ?? Figure 1: Cloud computing layers and open source
Figure 1: Cloud computing layers and open source
 ?? ?? Figure 2: Open source adoption for the enterprise
Figure 2: Open source adoption for the enterprise

Newspapers in English

Newspapers from India