[Ongoing series of blog posts to inform
potential developers, users and (hopefully investors) about this new app
ecosystem I am architecting, designing, developing and deploying. More details
at this page]
The app ecosystem has many components but it can be broken
down into two essential parts. There are the user apps (all types of users) and
the API engine (which also includes the data storage system). The user apps
live on the web, android and iOS. The API engine and the data storage system
live on the cloud.
For almost a decade now, we have been hearing about this
cloud. We hearing about it so much, sometimes, it’s almost funny to talk about
it. However, the cloud is very real, and it really does make life simpler. For
a developer, the cloud technology is a god send. It reduces costs, allows new
features to become immediately available and mostly makes life better for end
users as a consequence. It is only obvious that my app ecosystem runs all its
processing in the cloud.
For cloud, I can only think of two choices – Azure and
Amazon Web Services. I understand that Google also provides cloud services, and
there are a lot of many smaller companies that provide cloud services. It is
also possible to utilize cloud software to build our cloud services.
For those who are unclear about this concept of cloud, I
will put a simple definition here. Cloud is about a service that can be scaled
up and down as per requirements. Almost instantly. That is the cloud. For
instance, I am running a server on a VM and I realize that I need additional 16
GB of RAM instantly. With a conventional VM, I will have to go through a series
of steps and wait till it gets provisioned. This is just for RAM increase. What
if I only needed the processing power increase for one day (perhaps I was
launching some huge sale which only lasts one day) and no more. What if I
wanted a bigger hard drive for a week only. Or perhaps, I don’t know what I
need, and I wish to increase or decrease or perhaps I just wish to experiment
and find the ideal combination. All this will lead to a flexible solution that
will allow reduction of cost.
In a non-cloud scenario, there are people who have to do
things manually. I am all for working with people (one cannot get anything done
without people) but sometimes, they can be a hindrance rather than help. It is
in human nature to make mistakes. That is why, when possible, we use machines.
Cloud removes that human factor almost entirely. Without going through the IT
team (or not have an IT team at all) I can provision stuff that are required to
allow my service to work.
Now that I have discussed what the cloud is, time to decide
the choice of cloud provider. For extremely obvious reasons, I will go with
Microsoft, with the only alternative I would recommend being Amazon Web
Services. Compared to Amazon, Microsoft services are expensive, and they have
reduced trial periods. For instance, Microsoft is generous enough to give a
month or at most 3 months of trial services. Amazon though, can give a year
worth of free services in some cases. Clearly Microsoft is expensive.
However, for one thing, I have been using Azure for almost 5
years now and so far, it has not disappointed me. Their service is excellent,
and Azure keeps getting better with new services being added constantly. They
met my needs 5 years ago, and I am sure they will meet all my IT needs for
years to come. It is possible I am a little biased here, but I am yet to come
across a simple reason (other than low price, which is not really a priority
for me) why I must explore Amazon Web Services, or some other cloud service.
So yes, the app ecosystem Project TD will be powered by
Follow me on twitter, facebook and instagram for more