Platform as a Service (PaaS) – Democratizing Innovation And Technology

21 November 2017 4 min Read
PaaS - Democratizing Innovation And Technology

One of the cloud service models is the Platform as a Service (PaaS), which came with the proposal to offer all the technological resources needed to execute, manage and monitor applications in the cloud – from computing resources, operating system, runtime installed (Java, Node.js, Python, PHP etc.), and services such as database, email etc. This is already sensational, both for the development staff and for the Ops crew, since it minimizes or eliminates all the effort, cost and risk inherent in the process of application development and operation of the same, already embarking on aspects of elasticity, high availability, safety and performance.

This way of buying and consuming technology drastically reduces the costs of asset acquisition (CAPEX), personnel, software license purchase, with its very expensive maintenance and support contracts, human resources specialized in managing and maintaining these infrastructures and the operation, plus the refrigerated spaces and the consumption of electrical energy.

In addition, it is noted that one of the factors that has attracted much attention to the fans of this new way of buying and consuming technology is undoubtedly the capacity for innovation and access to several technologies, which until then were the privileges of a few, basically of large companies. One example is the use of Big Data technology via mining, using cognitive computing, Hadoop, and entity extraction, with highly specialized software, which are able to understand natural language in unstructured data and which normally require processing capacity.

And all this can be done by calling an API in the cloud, a device or device with limited resources, which sends the data (which is processed we do not know where, nor in which equipment, operating system) and returns the result. If we run two calls from this API, we’ll pay for two calls, and if a large bank runs that same API a million times a day, it will pay more, and both cases have guaranteed computing power, performance, security, and availability.

Services are mostly available through APIs or Application Programming Interface – typically REST APIs; therefore, we only need to understand their interfaces or available resources. For example, if you want to extract information from a large volume of unstructured, natural-language data that is easily found in social networks and documents of all kinds, simply consume a service in the cloud – in this case, cognitive computing that understands natural language and that understands ontology, irony, dialects, slang etc., it is important to emphasize that these services need to be taught, since they are machine learning. Basically, it is necessary to send words or texts and classify them. For example, to teach male and female names, simply send a two-column CSV file, the first one with names, and the second with the classification. With this, the service will use taxonomy techniques to understand the standards and make the appropriate classifications.

In a second process, we can use the service taught to classify something new, so we are talking about two resources available at the same endpoint – one to train it and another to classify it. Technically speaking, we run a service sending the training data, and then we use the same service stating that we want it to rate something. Here is an example of one of the services in the cloud:

To teach:

curl -u "user":"password" -F training_data=@training_names.csv -F training_metadata="{\"language\":\"en\",\"name\":\"Names\"}" https://paas-provider.net/natural-language-classifier/api/v1/classifiers

And then to sort:

curl -u "user":"password" -C classifier_id=kjsdf24jsdfkj3 text="Classification" https://paas-provider.net/natural-language-classifier/api/v1/classifiers

These services usually return JSON or XML, with ratings and confidence percentages, so they can be used in most applications, regardless of platform, that can consume APIs such as Android, iOS, Java, Node.js, PHP, Python etc.

With this, web developers only need a computer, an Internet connection, an idea and a willingness to, for example, take insights from unstructured data, make analysis based on posts in social networks, analyze and understand data in language natural (with semantics and irony), classifying and understanding images and sounds, capturing data from thousands of sensors and devices, understanding behavior anomalies, and doing predictive analysis.

All in a matter of hours, or even minute, and in the programming language with which we have more familiarity. Or why not learn new ones? Just choose and create your environment in the cloud, abstracting infra configuration, operating system installation, and runtime! So let’s focus on code and innovate.

The Author

I am an experienced technical content writer with a proven ability to translate complex information into clear, concise prose. I have extensive experience writing for various technical audiences, including software engineers, IT professionals, and product managers. I approaches each writing project with a customer-centric mindset, focusing on understanding the audience's needs and pain points.