• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Expose API in the cloud: please help to understand

 
surlac surlacovich
Ranch Hand
Posts: 296
Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello!
I'm reading this article on WSO2, and they say:

you can easily expose your API in the cloud


What it means? "your API" is a set of my web-services with specified URLs, right? If I deploy it in a cloud, then it means that my services will be propagated to a set of servers which can be accessed by unified URL. Is it right understanding?
 
surlac surlacovich
Ranch Hand
Posts: 296
Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Or something else behind exposing API in the cloud?
 
surlac surlacovich
Ranch Hand
Posts: 296
Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Still want to know about this, any help?
 
Maneesh Godbole
Saloon Keeper
Posts: 11021
12
Android Eclipse IDE Google Web Toolkit Java Mac Ubuntu
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
surlac surlacovich wrote:What it means? "your API" is a set of my web-services with specified URLs, right? If I deploy it in a cloud, then it means that my services will be propagated to a set of servers which can be accessed by unified URL. Is it right understanding?


Yes. Essentially you are exposing some functionality over the web (might not be web service everytime (as in the XML sense). for e.g. it can be a servlet which returns some JSON)
Safely ignore the "cloud" part. It is just a buzz word. Think of it as a remote server which can be access from your client (browser. mobile etc)

To summarize, "exposing the API in the cloud" would mean making some functionality available over the web, typically using HTTP
 
surlac surlacovich
Ranch Hand
Posts: 296
Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Maneesh. So it means the client sends HTTP request to some server (cloud entrance), which redirects it to another server (for load-balancing, or it is closer to the client geographically) and all that servers have an instance of my web-service, which needs to be executed, something like that?
 
Maneesh Godbole
Saloon Keeper
Posts: 11021
12
Android Eclipse IDE Google Web Toolkit Java Mac Ubuntu
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Essentially yes.
The redirect and load balancing part are not essentially because its a cloud service. From the consumer (client) perspective, these things are transparent and of no concern. The client just makes a request and receives a response back.

Consider this URL https://api.stackexchange.com/2.1/badges?order=desc&sort=rank&site=stackoverflow which is part of the API exposed by that site. If I point my browser (client) to the URL, I get a response back. I do not know or care how and if the request was redirected to which node and was it even geographically close to me.
 
surlac surlacovich
Ranch Hand
Posts: 296
Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Awesome, that's definitely makes sense for me.

The redirect and load balancing part are not essentially because its a cloud service

Just please clarify for me, do you mean that load balancing and redirecting are under the hood of a cloud but it's not seen by ordinary client, am I correct? Cloud term is pretty vague. So if I want to build my cloud, I put one load balancer and specify multiple servers to provide payload, is this what they mean by "cloud"?
 
Maneesh Godbole
Saloon Keeper
Posts: 11021
12
Android Eclipse IDE Google Web Toolkit Java Mac Ubuntu
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
surlac surlacovich wrote:
Just please clarify for me, do you mean that load balancing and redirecting are under the hood of a cloud but it's not seen by ordinary client, am I correct? Cloud term is pretty vague. So if I want to build my cloud, I put one load balancer and specify multiple servers to provide payload, is this what they mean by "cloud"?

Yes.
surlac surlacovich wrote: So if I want to build my cloud, I put one load balancer and specify multiple servers to provide payload, is this what they mean by "cloud"?

No. You can offer hosting facilities without the loadbalancer and other facilities and it will still be a "cloud" Of course this might lead to latency and other issues and your customers might not be happy, but it's still a cloud ;)
More on cloud here http://en.wikipedia.org/wiki/Cloud_computing
 
Jayesh A Lalwani
Rancher
Posts: 2756
32
Eclipse IDE Spring Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Unfortunately the word "cloud" is so overused that it has become meaningless. Right now , it seems like you are in the "cloud" if you have a HTTP server. Or you have a standalone app that stores data on a server, then you are in the "cloud". Bah!
 
surlac surlacovich
Ranch Hand
Posts: 296
Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Jayesh A Lalwani wrote:Right now , it seems like you are in the "cloud" if you have a HTTP server. Or you have a standalone app that stores data on a server, then you are in the "cloud". Bah!

Thanks Jayesh, I agree that term "cloud" is too wide. Could you please tell us what parts are essential to name the system "cloud"?
 
surlac surlacovich
Ranch Hand
Posts: 296
Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I mean, how you distinguish between cloud system and plain old client-server system?
 
Manuel Petermann
Ranch Hand
Posts: 177
Hibernate Linux Python
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I think the definition for a cloud is that you cannot define it. ;)
In my opinion you need some kind of load-balancing/ sharding to be a cloud.
You can do that on one physical server or many of them.
I think its the most fuzzy word in computer science.
 
surlac surlacovich
Ranch Hand
Posts: 296
Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Manuel Petermann wrote:In my opinion you need some kind of load-balancing/ sharding to be a cloud.

Good point. And what do you mean by "sharding"? Is this something related to load-balancing?
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic