Cloud computing: data and applications “everyware”

Cloud computing is a concept that is difficult to pinpoint precisely because the ideas surrounding cloud computing are still recent and are under construction, while the views of its experts still diverge.

Instead of a concept or technology, cloud computing is actually a model for the availability and use of Information and Communication Technologies, which enables remote access via the Internet to a range of shared computing media in the form of services.

Although there are still some uncertainties in the adoption of the cloud computing model, the truth is that this model has come to stay. More than a buzzword, cloud computing is a model that changes the solution delivery model and communication channels on the desktop. It forces companies to change the way they work as well as their business models. For businesses, instead of a dark sky, this is a clear horizon for opportunities.


cloud computing CCG

Advantages of cloud computing for businesses

Of course, cloud computing also has its drawbacks, such as the need for an internet connection, good processing speed, and obviously, it is a paid service. But the advantages on the user side are strong.

The work is all on the side of the service provider (the best known are Amazon WS, Microsoft Azure, Google Cloud, VMware Cloud), which has to worry about the issues of storage, computing, virtualization, maintenance, backup, and updating, among others.

On their side, customers access the different services, usually from Browsers, in Infrastructure as a Service (IaaS), Platform as a Service (PaaS) or Software as a Service (SaaS) models.

What do companies gain from cloud computing?

Cloud computing can bring many benefits to businesses, for example:

  • use the software without it being purchased in full or even installed on local computers (on-premises);
  • access information anywhere and with any device, as long as there is access to the Internet, without the need for physical storage;
  • access regardless of the equipment, the operating system used or software version;
  • automatic software updates;
  • the concentration of all information – until then dispersed – in the same place, even in the case of heterogeneous systems;
  • information sharing and agiler collaborative work, given that all users can access the same data and applications;
  • greater control and monitoring of expenses, with the applications to be paid solely for the time of use;
  • reduce the use, maintenance and costs of local network infrastructure;
  • reduce the costs of IT technical resources;
  • optimization of work processes to increase productivity;
  • greater flexibility in responding to business needs;
  • easier to keep up with the technological innovation.


Different types of “clouds”

There are different models of availability of cloud computing services [1]:

  • The IaaS model (“Infrastructure-as-a–Service”) is the structural foundation of the cloud, which enables storage, computing, virtualization, and data transmission with the use of equipment as servers as needed. Among the IaaS offerings are Amazon EC2 and Amazon S3, Azure VM and Google CE.
  • In the PaaS model (“Platform-as-a-Service”) the platform is used as the development environment, execution, and management of the entire application lifecycle. Among the PaaS offerings are Amazon Beanstalk, Google AE, and Heroku.
  • The SaaS model (“Software-as-a-Service”) is the most common way for end-users, such as remote access to applications or documents. Among the SaaS offerings are Gmail and Salesforce.

Due to the increasing change in the business model of enterprises, namely in becoming providers of services, other forms of differentiating services (and of different natures) have emerged. We are talking about Business-as-a-Service (BPaaS), Data-as-a-Service (DaaS), Container-as-a-Service (CaaS), Function-as-a- -a-Service, just to mention a few [2].

Basically, it turns out that “everything” has the potential to be a service (“Everything-as-a-Service”, XaaS). The international consultancy Gartner ranks cloud services as the most profitable [3].

Deployment models

You can also talk about private, public, and hybrid cloud in deployment models. Companies can deploy solutions in a public cloud, open to public use, with all services and infrastructures outside the enterprise; or in a private cloud, built solely for a company. Another option is a hybrid cloud, with solutions outside and inside the company, expanding its resources. This ease in proposing several solution installation scenarios allows companies to tailor the offer to the specific needs of each customer.

cloud computing ccg

Cloud computing architecture

Cloud computing architectures are designed to ensure that different services (SaaS, PaaS, and IaaS) are secured, as well as other cross-cutting issues such as privacy and security, portability and interoperability. The most known reference is characterized by a layered structure, proposed by NIST entity [1].

The cloud computing architecture raises issues of cybersecurity, since programs and data are permanently online, in a “no man’s land”, shared by everyone, without a company knowing exactly where their data is stored.

Measures such as controlling user access to specific data and securing storage, processing, confidentiality, and retrieval of data by the vendor must be taken.

Despite these concerns, investing in cloud computing projects, where you only pay for what you use, is more advantageous than continuing to invest in traditional information architectures built to meet the needs of the past and where the costs of using and tend to multiply.

CCG work areas on cloud computing

Through its applied research domain EPMQ, scientifically led by Prof. Ricardo Machado and Prof. Helena Rodrigues, the CCG develops market solutions mainly related to Cloud Computing (SaaS and IaaS) service architectures:

  • Analysis and development of business models for SaaS and IaaS.
  • Analysis and specification of business and functional requirements for SaaS and IaaS.
  • Translation of business requirements into functional specifications.
  • Design of architectures for software solutions in the SaaS and IaaS model.
  • Development of prototypes and software products in the SaaS and IaaS model.
  • Integration of SaaS and IaaS systems with other systems (eg ERPs).
  • Implementation of mechanisms to measure the consumption of SaaS and IaaS services.
  • Implementation of business support components.
  • Implementation of service provisioning component.

Also on this subject, the CCG has already been working on some emerging issues, such as interoperability services (middleware/brokers) or “Fog Computing“.

You may be interested in the scientific publication of the GCC: “Transition from Information Systems to Service-oriented Logical Architectures: Formalizing Steps and Rules with QVT”, in Requirements Engineering for Service and Cloud Computing.”