Cloud for Newbies

The world is moving to Cloud. Infact, the world has moved to Cloud. Now, at this point it becomes important for somebody, who is starting their business afresh to understand why this choice is being made. As someone who has seen the Brick and Motor Data Centres as well as experienced cloud platforms in its full glory, let’s take a shot at decoding cloud platforms

First Things First — Let’s get the basics right. Is this the end of “Brick and Mortar Data Centres”?

Cloud runs upon so called Brick and Motor Data Centres”. TheseBrick and Mortar Data Centres” will always be there. A Physical Data Centre has always been there — whichever cloud platform you might be using. Be it GCP, AWS, Azure — all of these Infrastructure as a Service Providers, eventually have their data centers running in multiple locations (mostly dedicated and at times shared). So, there is no running away from that Data Centre.

The idea of hosting on demand

Let’s go back to 90s. In 90’s, there used to be shared hosting providers. If one had a simple site and can’t afford to own a server, shared hosting Provider was the only option. In a way it is, to rent a small part of an internet server. These hosting providers were running their own cloud. This eco system still exists in many geographies.

Now imagine, renting a small internet server is like; registering a new email address for yourself. Ask any late 90s, millennial web developer. That was a dream of any early web developer. “Give me a connected server and a place to code and I will change the world.” Typically, there is someone who already has a server in an existing data center and you are utilising their services. They would open up everything on CPanel and there are other panels. These service providers used to provide credentials of the server — windows / linux. So, it’s not new.

What Cloud brings to table, is a lot of security. Here is quick take that explains how cloud works -

  • Computing Power unlike electricity can’t be stored. It can’t be “transferred” either but can be made available to others, specially when you are not utilizing it. Think of this as you lending your laptop to your friend when you are sleeping.

Who really has so many spare computers/ computing power for the world ?

Let’s take another shot at this. Say, you have a website which receives most of it’s traffic seasonally/ when some event happens. Consider ProKabaddi for an instance. It doesn’t happen throughout the year and whenever ProKabaddi Championship is in place, the website witnesses a considerable spike. To support this, you need hardware. ProKabaddi now has procured it’s own hardware. There would be a time when the hardware utilisation will go to peak and hence they will definitely buy a optimum hardware to manage peak capacity. Say, I’ve bought 50 servers there and say after ProKabaddi, 20 servers are spare. I’ll can put them to Cloud and ensure that the computing power of those servers can be made available as service. So, this is my Cost optimization and then now it makes it clear that, why Amazon did it ? Why Google did it ? Why all these big shot players are doing it?

All the market leaders have already invested in state of the art infrastructure, optimizer their power utilization and in this process have access to “spare”computing power.

“Spare” = Enough to support you

Who should opt for Cloud based infrastructure ?

Ideally everyone. Anyone and everyone who needs a server connected to internet. More specifically -

  • Anyone who needs the servers and DOESN’T have management resources,
  • Anyone who stays lives in a geography where those resources cannot be made available.
  • Anyone who wants to stay focussed on their core business/product.

That would be, ideally everyone and that’s the best thing. As a developer, I believe that Hardware as a Service, is the best thing that could happen to the universe. There are lot of reasons why I say so -

  • There is no charm left in managing a hardware. Thanks to platforms such as Google Cloud Platform, Amazon Web Services, buying servers and maintaining them is redundant.
  • There is someone out there who can do everything including buying, maintenance and optimization better than you, because that is their core business. Let them do what they are good at.
  • Optimising power and a lot of it. It will be greener and hopefully better world.

I understand everybody has their security concerns and all but I think they are sorted by now. I might be a little unrealistic about it but whoever needs a server, whoever needs a hardware connected to internet, should be on internet as soon as possible. Hence the choice of cloud.

Alright. So who needs to be in the Data Center ?

If you have a very very specific use case and a very very secure intra use case, you could have your own hardware like ISRO or a defence organisation. They definitely need their own hardware. CIA or RAW being on Cloud will definitely not help. Now you can draw a lot of examples out of this.

  • Think about a Bond movie. Bond is trying to save the world and in order to save the world, his ship crashes into deserted island and the island sinks (which is possible in a bond movie). An island is destroyed killing a small tribe. Now, this is MI. Say, this information is stored in a Cloud server and say this information is stored in a private server. Because a tribe died, there will be a lot of political pressure because this information is available on Cloud to give me that information. Even if the information is encrypted. In that scenario, MI would be uncomfortable and not want this on the cloud. Because MI decides on its own. It believes that I might have saved 1 million people by just letting a tribe die. So, I have just created a hypothetical situation here. You would definitely want that information to be in a private domain.

So basically there is a very very bookish answer to this question also, you will find it everywhere. I just tried to trivialise it. But you understand the bigger picture.

How should one really choose the right Cloud platform ?

There are a lot of Cloud platforms. There is Google Cloud, Azure and of course AWS (Amazon Web Services), Rackspace, Digital Ocean, etc. Almost all of them provide good services. Now, it depends which one are you comfortable with.

  • If you are a typical Data Centre person, Amazon is a very comfortable place for you.
  • If you are a core developer and you want lot of help on development and you immediately want to begin, you can just directly go to Google Cloud.

There are lot of advantages on Google Cloud, lot of AWS and of Azure but there is one thing about Google Cloud is that, you can just go there and inside the web page only you will have a Console access and you would be playing with your server inside your web page.

For instance if you have a Google Apps account, you can directly provide an access of your project to somebody who has a Google app account. If you are an organization on Google app and you need to manage access control of your users, Google Cloud lets you do that very smoothly. At the same time, it integrates well with Data analytic services, big data like Big Query. It makes your life much easy. Adobe integrations are relatively very simple, very easy and smooth. Google data store has it’s own advantages and that can be directly connected with spark and other languages. So that’s very good with Google.

Now lot of these services are similar across these platforms. If you go to Rackspace or Digital Ocean also, you can get a Linux server, a Windows server, databases so on and so forth. But what differentiates Google is that their objective is to stay developer friendly. Google Compute Engine is beautiful because it scales itself. You just need to be a developer, you can use your language of comfort and compute engine will take care of everything else. You can choose direct database that it connects to. It exposes lot of APIs, Cloud will expose lot of APIs itself. They are very easy to understand, very easy to execute. Best of it all — these are available in all the languages.

So which one should you start with?

Depends.

  • Say if you are not very well versed with putty (and there are developers like that), so go to Google Cloud and just use Console inside a browser. You can get put putty on Google cloud also, it doesn’t restricts you and technically you can start in seconds.
  • In AWS, you might have to do that but once you’re done with that, it’s a cake walk. AWS community is very strong. The support system has grown organically over the years and the community now drives it. They know what users want or how does user want it. They present it well.

Is there a limitation to Cloud, apart from the fact that CIA can’t use it?

Now that the servers are available in India, should make it available in Africa as well. It could be geographical constraints for Africa. Other than that life is good.

Over the past two years I have used multiple cloud platforms. AWS for Capabiliti and GCP for iZooto. A more detailed post on experience with each platform in the next post.