Jump to content
UBot Underground

Recommended Posts

Hello Guys,

 

I currently struggle with a cloud services topic. Not really related to ubot studio at all. But we have some smart minds here so i thought I'll ask you guys :-)

 

When I think about a Cloud Service I have two ideas in mind:

 

1. A cloud service that is just a webfrontend hiding the infrastructure services who work behind the scenes. So someone would basically build a dynamic website that communicates via API with a service backend like exchange for example. That from the outside looks like a cloud service. 
But to scale that service, it's always required to scale the infrastructure that is behind the scene. You can not just add CPU and memory to scale it up. At some point you need to add additional instances right?

 

So this for me is not a real cloud service.

 

 

2. A cloud service that is able to scale automatically. Where the service, itelligence and logic is directly built into the webservice. So it's not just a frontend that communicates with a backend.

Something that can automatically scale up and out. you only have to add CPU and memory resources to it.

 

 

So now... what I need to know is pretty simple....

1. Is that a real (it world) description of two different things?

2. Are there any specific names for those two types of webservices? Something that a webservice expert would use to describe the difference between 1 and 2?

 

 

I'm just looking for the correct wording in how to describe those different approaches. If they really exist and I'm not totally crazy here :-)

 

 

Thanks in advance

Dan

 

 

 

 

 

 

Link to post
Share on other sites

2 of the most popular cloud services that automatically scale up/scale down to accommodate traffic to your services:

https://www.heroku.com/

http://aws.amazon.com/elasticbeanstalk/

 

There are many others. Also you can make your own scaling software using the APIs of whatever cloud platform you're using.

 

However in 90+% of cases you can just get away with using a properly tuned dedicated server. A lot of people using these clouds are prematurely optimizing and wasting a lot of money in the process.

Link to post
Share on other sites

Thanks Meter,

 

so would it be correct to say that a scalable webservice has all the logic built into the webservice directly. So all the logic is within the PHP, python or .net code?

 

And a webservice that is "old school" is running an "old school" backend server and then having a php, python or .net frontend which communicates to that backend via an API?

But that old school backend server could also be used directly as a stand alone system like an exchange server for example?

 

Is that a correct distingtion? 

 
Dan
Link to post
Share on other sites

Hi Dan,

 

It depends on the web service really. Usually all the logic is in PHP/Python/.NET, but there is nothing preventing that web service from talking to other systems/services if need be. You can also repurpose any server to do anything you want. So yeah, a cloud server could be repurposed to be an exchange server.

 

I'm a bit confused by your terminology, so I'm going to define some things below:

 

A frontend is considered to be: HTML/Javascript/CSS. This is what the customer sees.

 

A backend is considered to be: PHP/Python/.NET/Ruby. This is the actual code executed on the server, to render the frontend each time it is requested by someone.

 

The server software is considered to be: Apache/Nginx/Mysql. This is the software that houses your code and data, and manages low level stuff for you like opening/closing connections, or storing and retrieving data from a database.

 

The operating system is considered to be: Linux/Windows/whatever... This is the actual operating system running on top of the hardware, that lets your server software run.

 

The infrastructure or server hardware is the hardware that the operating system runs on. It can be 'real' hardware (such as a dedicate server) or virtual hardware (a virtual machine running on a server somewhere).

 

Cloud services work by scaling you infrastructure to accommodate your needs. This means when there is abnormal load on your web service, they automatically 'scale up' your infrastructure by adding more memory or CPUs or storage to your machines, and/or 'scale out' by adding more machines and distributing the load amongst them.

 

Hope that all makes sense.

 

-meter

Link to post
Share on other sites

Thanks Meter,

 

let me describe what I have in mind from a different point of view.

 

 

Let's say you have a server like exchange. A customer can install and use that locally.

 

One server needs 1 database and can serve x ammount of users.

Now you need redundany and everything.

If you want to increase users you need more servers. 

 

If you want to add other customers to that infastructure you need to separate everything. You need new vms for AD, DNS, exchange and so on.

If you add 5000 customers but each one has only 1 user, you need 5000 exchange servers to separate everything.

 

Now if you want to hide complexity from your customers, you could put a webservice / webfrontend in front of the exchange servers. That frontend will hide all the backend configuration complexity from your users. 

So it's a lot easier to use and manage everything.

 

But it's not a "real" webservice because it doesn't scale linear. You have building blocks where you add a new exchange server and you have new capacity. So you have to scale by adding components. For every company you might need 5 vms with different services. And for each 500 users you need 3 more.

 

 

What I mean by a real webservie is, that the complete logic is built into that service. It scales by adding CPU and memory. But I don't need separate farms or sites or silos. It can handle and manage users, companies and everything on it's own within one database cluster. So the webservice is not just a frontend to old school server backends. The server backend becomes the webservice.

 

 

Look at microsoft office365. It has exchange functionality. But I don't think that as soon as someone signs up, that they will fire up a new instance of a classical exchange server backend.

I think they have 1 software called office365service. Which runs on a server, which connects to a database. But it can handle mandants, companies and multiple users all on it's own. 

 

Hope that explais it a bit better?

 

Dan

Link to post
Share on other sites

Well Dan, you pretty accurately described how modern web services work. Now I'm just not sure what the question is :) are you asking if such things exist?

 

-meter

 

I'm just looking for the right / professional way to describe those two approaches. Without having to write all that stuff that I wrote above :-)

Something that cloud experts would directly understand.

 

Dan

Link to post
Share on other sites

Ah.

 

What you want is an infrastructure agnostic web service in the cloud that can automatically scale up or down, by adding or removing nodes, to keep up with demand.

 

-meter

  • Like 1
Link to post
Share on other sites

Ah.

 

What you want is an infrastructure agnostic web service in the cloud that can automatically scale up or down, by adding or removing nodes, to keep up with demand.

 

-meter

 

Awesome that sounds like what I was looking for! 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...