Cloud Computing Programming Languages

What is a cloud ?

Cloud is a metaphor given to a set of servers accessible on the internet. Geographical location of servers is not important. Number of users accessing the cloud depends on the capability of the server load sharing capability.

A cloud can handle near about 12000 calls per seconds. These calls are generated from distant locations and from different clients. As the number of users accessing the cloud is more, the cost of using applications on the cloud decreases.

What is Cloud Computing ?

Cloud Computing refers to software services delivered over the internet. Application software is installed on servers having special hardware configurations. Thus, cloud computing provides a channel to use application software and computer hardware located at distant locations.

What is hardware configuration for Cloud Computing ?

For understanding, the cloud can be considered as a server located at different geographical locations accessible through the internet. Thus, hardware configuration for a

server can be scaled to hardware configuration for cloud.

Minimum hardware configuration for cloud that can store files, blogs or website  includes:

  • CPU – anything above 3.1 GHz, more than 12 MB L3 Cache, LGA socket above 1155.
  • AMD Ryzen Thread Ripper TR4 or Intel S1200V3RPS Server Motherboard.
  • 64 GB or 6TB for 2933 MT/s DDR4 RAM.
  • Hard Drive having RPM more than 7200.
  • Operating System Ubuntu or Windows.

What bandwidth is required  ?

Cloud computing provides different services and time to request services is different for different users. For example, during peak hours requests may be fulfilled by 1000 servers but during trough hours (at midnight) only 200 servers may fulfill the request.

Service requests may be data intensive. Data transfer cost is a critical issue to be considered. To transfer data over the internet broadband connection is required.

Minimum bandwidth requirement for Cloud Computing is 100kbps. Cloud computing is becoming useful for Gaming, File Sharing, Web/Data sharing, IP VOD/Managed IP Video and internet Video, these are data intensive applications and  require data transfer over optical links.

What are cloud computing programming languages ??

Following are the languages that can be used to develop applications that can run in the cloud.

C/C++ language

Socket programming in C/C++ is used to develop software that can connect two nodes on the network to communicate with each other.

C/C++ can manage multiple clients over the internet.

JAVA

JAVA has RMI (Remote Method Invocation) and EJB (Enterprise JavaBeans). JAVA has a TCP/IP protocols library which enables programmers to develop applications that can make network connections fast and achieve better execution efficiency over cloud.

Java has methods like getInputStream ( ), getOutputStream ( ) and synchronized void close ( ) that enables communication between client and server.  

To do client-server programming in Java libraries such as java.net.* has to be imported.  

C#

C# provide features that can be used to develop socket programming.

C# has a library named System.Net.Sockets that has methods such as Socket( ), Bind( ), Listen ( ) and StartServer ( ) used to establish connection between client and server.

C# has functionality to support virtual machines. Each virtual machine can have a different Operating System installed on it and supports Cloud Computing.

To overcome the drawbacks of virtual machines in Cloud Computing Containers are used. Containers has faster execution than virtual machines.

Database

Cloud databases are used for data storage. Cloud databases are deployed either using virtual 

machines or by taking services from cloud database  providers.

Cloud databases are distributed, so it becomes necessary to write queries that can retrieve data from multiple data sources.

SQL query for cloud database requires querying over the external connection and requires external query function, this is done using method EXTERNAL_QUERY ( ).

This function uses connection ID, within this method a query to an external database is made.

Query made to Cloud database may retrieve large number of records.

On Cloud database Federated query is executed. Federated query can have chain execution of related queries. Federated query techniques provide flexibility to inquire databases across multiple data sources. Fine tuned federated queries reduce execution time and maximizes correctness of the query. 

Few of the relational database that run on cloud includes:

  • Oracle
  • SQL
  • MySQL server
  • Sybase

An efficient cloud database reduces operational cost.

Since data on Cloud is not stored on a single server.


Conclusion

What is W ?? 

W is Web API. Web API stands for application programming interface for web servers. Web API is used to access remote applications executing on Cloud.

Web API completes the request-response message system of cloud computing.

Web API often uses REST and SOAP based on HTTP methods. Web API uses JSON or XML to transfer data on Cloud.

Web API for cloud computing are written in different programming language such as:

  • C#
  • Java
  • Python
  • Ruby
  • Node JS

Programmers can use any one of these languages to develop cloud based applications and web APIs.