Developing cloud based systems & apps

Cloud computing perhaps has been the most uttered technological term that’s least understood as well in the world. Well, by now it might be dethroned by the new entrant: Blockchain, but for years the meaning and purpose cloud computing systems have tormented several businesses and people who have had a tough time adapting to new technologies. We are not sure whether people understand it clearly now, or not, but one thing we know for sure is the power and impact that Cloud Computing has had over the world of software development in the past decade. Cloud computing is like steroids for the internet. Internet is powerful, but with cloud computing, web apps and mobile apps can have unprecedented power, which was previously only accessible to the top few players in the game. Undoubtedly, cloud computing is one of the major milestones in the evolution timeline of personal and commercial computing.

The terms SaaS (Software as a service), PaaS (Platform) & IaaS (Infrastructure) have got a whole new meaning with the advancement of cloud computing technologies. These technologies gained prominence and widespread attention around the end of the first decade of the 21st century. 2005 onwards, when the world woke up with Facebook, Youtube, Whatsapp and smartphones. It became pretty evident that there would be tremendous amount of data that’d be generated and we’d need to manage it efficiently. We entered the age of Big Data and the world was looking beyond normal database systems, and orthodox hosting servers. Cloud Computing was the hero in need. With the power of Cloud, we were able to empower the new age of computing that not only allows people to upload a zillion videos of their cats yawning, but also gives the freedom to anyone to build a truly world-class web app or mobile app.

cloud-apps

Amazon AWS, Google Cloud, Microsoft Azure & Alibaba Cloud: Our fantastic 4!

It’s clear that Amazon AWS is in a league of its own, but Microsoft Azure, Google Cloud, and IBM Cloud are definitely gaining strong momentum with each passing quarter. There are several others as well like Alibaba Cloud, Oracle, Rackspace, Salesforce, etc. that are noteworthy players trying hard to get a bigger share of the global market. With so many major cloud computing providers available in the world, it is hard to gain a consulting and development expertise on all of them. Also, the more options we focus on, the lesser our expertise is going to be on any of them. It’d make us jacks of all and master of none. We clearly didn’t want that to happen. So, we narrowed down our cloud computing service spectrum on the 4 major providers namely: Amazon AWS, Microsoft Azure, Google Cloud & Alibaba Cloud.

  • Amazon AWS
    Amazon AWS
  • Google-cloud
    Google-cloud
  • Microsoft Azure
    Microsoft Azure
  • Alibaba cloud
    Alibaba cloud

There are simple reasons why we chose these four over the rest. AWS was our darling. We’ve worked with it on several of our client projects and that’s where our core competencies lie. We started with it and now it’d almost sound stupid if we called ourselves cloud computing service providers if we didn’t work on Amazon AWS. The reason for working with Google Cloud is because Google is a full-stack technology company, they’ve got their Chrome web browser which has the largest market share in the world and they’ve got Android as their native mobile platform as well which is powering more than half of world’s smartphones. So, it’s a no brainer that their cloud platform and their product offering would be focused around these two platforms.

Azure is the fastest growing cloud platform recently and they’ve got their own technology stack based on .net platform, which powers a considerable portion of the world’s web apps and mobile apps. Hence, keeping a close watch on it would be wise. Honestly, we have done only a few client projects in it, we’ve definitely plunged ourselves deep enough to be able to comfortably work on its products and offer it to our clients. If a client comes with a preference to use Azure and if it makes sense for the project, then we wouldn’t hesitate one bit. Lastly, Alibaba Cloud might be a small player compared to the other 3, but since we’ve got a significant client base in South East Asia and East Asia. Hence, Alibaba Cloud becomes our most important cloud service offering.

cloud-apps

Consulting for developing a cloud powered system

Deciding to develop a system with cloud computing features starts right from the conceptualisation stage. Based on the right type of infrastructure, computing abilities and scalability requirements, that your system might need in at least next 2 years of operations, we need to pick and choose the right fit of cloud based products for developing your system. If your app is based on AI or machine learning, or if your system requires relational database, or if you want your system to have a lean server infrastructure, or no server at all yet fulfil all your computing requirements, choosing the right cloud computing partner is the correct way to go. Our team of system analysts and technical team leaders are the right people to have this conversation with. They’ve got hundreds of hours of experience of working on all the 4 major cloud service providers. They’ve worked with almost 70-80% of their product portfolios. You won’t even have to worry about asking if you should go for a cloud powered system or not. While you’re discussing the features of your system with them, they’ll suggest you the right cloud powered products for your system on their own.

We’ve had a privilege of working on some amazing cloud powered projects in past few years. We’ve done projects based on live video conferencing, image recognition, chat messaging, media streaming, etc. Systems that require real time updates, or run complex algorithms, or need relational databases, or demand elastic computing servers, etc. we’ve built them all. Thus, its safe to say that anything related cloud computing services is a familiar terrain for us. Not just the programming team, but even our business analysis team and the QA/QC team have an in-depth knowledge of these cloud computing products. This allows us to ensure that the cloud services have been integrated in the system properly and they are being used optimally to supplement and empower your system. Cloud based products are one of the best gifts that the programming community has ever received. This has enabled even the smallest of teams to be able to build sophisticated systems that can withstand the demands of a global user base. No longer we need to look up to the guys in the Bay Area as if they are superheroes and we’re mere muggles. Cloud is our superpower now!

Solution

Full Stack Tools

It gives us a full stack of tools.

As a development team, cloud is a full stack technology platform, so be it mobile app development or web app development, or back-end development, it has solutions to all of them. This means that the development team is leaner and more powerful.

Next Frontier

It’s the next frontier in bespoke apps.

Up till cloud became mainstream, developing truly tailormade, bespoke systems was a perilous undertaking. But with the advent of all the modern cloud service providers, a new world of powerful bespoke systems has emerged giving businesses limitless opportunities.

Use Data

You can use data like never before.

It is a unanimously accepted fact that data is the most powerful entity in the world today. It’s the next oil. Cloud computing products allows you to use your business’ data like you’ve never imagined before. It gives your business operations unprecedented power.

Questions in your head right now:

Umm... Not exactly! Let’s try and super-simplify it. If you’ve seen the movie The Matrix, you’d be familiar with a scene with Neo and Trinity on a roof of the building in front of a chopper and Neo asks if Trinity knows how to fly that thing. Trinity says, ‘not yet’, and then straight away makes a call to the operator saying, ‘Tank, I need a pilot program for a B-212 helicopter.’ The operator punches some keys on the keyboard, and within seconds she knows how to fly the helicopter.

That’s essentially the philosophy of Cloud technology and how it works. In a normal world scenario, if someone wants to learn how to fly a helicopter, which is like any other trained skill, they’d have to undergo hours of rigorous monitored training. But in an advanced world, people don’t want to waste their time in acquiring those skills, if you can simply download them in your brain just as you would after undergoing that training program.

Same way, few years back, if someone wanted to build software systems with advanced features like facial recognition, or artificial intelligence, or big data management, or running complex algorithms, they had to write every line of code for building those modules themselves. This was not only extremely time consuming, but also inefficient as the quality of the code wasn’t world-class. Thus, advanced systems took too long to build and once they were built, they were not reliable and didn’t perform at their best.

Due to all these complexity, major software development companies thought why not build all these heavy computing modules and offer them to software developers, so they don’t have to worry about building it themselves? That’s when the world of cloud computing came into existence. In simple terms it means that software companies like us can just integrate any product offered by the cloud service providers based on the features that our systems need. This integration takes only a few days, and after that our systems have same powerful search capabilities like Gmail, video streaming can be done in a way that’s indistinguishable from Netflix, suggestive algorithms can be as clever as the ones suggesting videos on YouTube. All this can be done at a fraction of the cost, and more importantly in hardly any time without any compromise on the quality and performance of the system.

There are tons of features provided by companies providing cloud computing facilities. They also offer web hosting servers, database facilities, analytics solutions, and whatnot. Basically anything that your system might need, they’ve have got it. They bundle all of it in form of packages and charge you a monthly usage fee, just like the hosting servers used to do previously. 10 years ago, small software companies couldn’t compete with the A-listed bigwigs like Google, or IBM because with their workforce of thousands of engineers, they could afford to build any complex system in the world, but with Cloud Computing even the small boutique agencies can now rub shoulders with them. Phew! That answer took longer than we expected. But finally this question needed to be answered once and for all. If this still fails to explain what Cloud Computing is, we don’t know what will do the job.

On theory, yeah it can be done. But practically it needs to be given a proper thought. There is a saying in Hindi culture which goes something like, ‘don’t use a sword to do a needle’s job’. Similarly, cloud computing systems are powerful technologies, and if the system that you’re building is a small system for a small and simple business, then it doesn’t require cloud power. At least not as of now, maybe in the next few years to come, if the traditional hosting servers, SQL databases and such basic stack of technologies get obsolete, then yes, everyone would might need to migrate to cloud powered backend. But for now, it’d be wise to ask if you system has any high computing requirements, any advanced features, or any critical modules that needs to support a large userbase. If that’s the case then by all means scream Cloud technologies left, right and center.

Absolutely. You can build mobile apps that are powered by amazing cloud technologies. Not all the products offered by cloud service providers can be used in building the mobile apps, but all the major cloud service providers have a dedicated section for Mobile-related products in their offering sections.

They all are pretty great from the technology, performance and product offering perspective. They also overlap on most of their products, so it isn’t like one of them has a major advantage over others. Even from the pricing standpoint, they all cost nearly the same. Surely, they charge separate figures for different products and that makes sense as well. It’d be stupid to charge a simple database product the same way as a machine learning product. So, there isn’t a clear winner that has come through in the industry so far on any major factors.

Having said that, Amazon AWS does have a significant market share and is chewing up its competitors with a market share of over 30%. But Microsoft’s Azure has been the fastest growing platform since past few years. Combined with Google Cloud, these 3 control more than 50% of the market and with the staggering rise in their revenues it shows that they’ve got the attention of the majority of the customers. These 3 companies have been known fo reliable products and good customer services as well. So, you couldn’t go wrong with any of them.

But before you choose any of them, you just need to give this decision a one more thought about where your system is going to be deployed geographically, and where are your system’s users going to use the system from. The reason for this is if China, or Hong Kong, or Taiwan are your targeted markets, then Google Cloud is not an option since Google’s services are not permitted in that region. They’ve been been thinking of banning Amazon as well, so relying on AWS might also be risky. Thus, in that case, Alibaba Cloud is the best option. It is natively Asian brand and is widely accepted as well. They are specifically creating products keeping in mind the Asian users and their social landscape.

Even if you’re going to be focused on European market, or if your users are going to be primarily from African countries, or South America, or CIS countries, it’d be wise to check out on the technical support provided by these cloud computing providers in those specific territories. All these companies have their server centers, or nodes as they like to call them. Make sure that they’ve got a major server center in or around your deployment location and there are no geographical or political obstacles in offering you system to your users using that cloud computing option. Apart from that, you’re good to go with any of these big 4.

Oh, that’s a tricky one! This question is almost impossible to answer. But let’s start with making things simple. First things first, none of them are cheap, so to say. If you compare their pricing with the traditional hosting servers like VPAs or Dedicated servers with cPanels and stuff, they’d cost you somewhere around $50-$100 per month, but these cloud computing servers for hosting facilities, they’d cost you much more than that for sure. But of course, you get much for your money as well. When those traditional servers would crash your system when they get a huge load of traffic, these cloud servers expand their computing power whenever these is a spike in your user activity to ensure that your system’s performance isn’t compromised and you can continue to sleep peacefully. Likewise, there are great advantages in using other cloud computing products, but no good thing ever comes cheap.

Now, since none of them are cheap, which is the cheapest among them all. That question is like a difficult maze as well. If you look at the pricing section of all these 4 major providers, you’ll see that they’ve made it extremely complicated to understand how much exactly you’d be charged before you sign up and subscribe to any of their products. They tell you it’s going to be extremely cheap, barely a few dollars and you’ll be good. But the reality strikes when you’ve started using those products. When your billing invoices start to come every month, that’s when you realise how much your monthly expense is going to be. It’s like they’ve purposely made those pricing details too complicated to understand. But don’t worry, they won’t slap a bill of $5000 on your face one fine day. It’d be a sensible figure where they’d have explained you their billing clock-times and their actual charges. And in case If they do hit you with a huge bill, then it’d mean that your website or app is being used by a huge number of users, so that bill wouldn’t look too big to you in that case.

Each of the 4 major providers charge their users differently, on different terms, for all of their different products. In most of their products, they also have different tier of services as well. This means that if you’re not going to be the next Netflix, and you’re not expecting hundreds of thousands of users as soon as you launch then you can opt for lower tier, or medium tier plans as well and save your costs. That’s about as far we can grasp in trying to understand how the pricing policies work for all these 4 major providers. Even if you ask around to see how much people getting billed every month, you’ll hear figures ranging from $200 to $20,000 per month, some even more probably. It all depends on how many products do you subscribe to and how much do you use them. So, no point asking others. Just select the products that you’re going to use, and try and run down a few sample scenarios for your system based on the median usage that you expect, you might get some rough numbers on what your monthly cost is going to be like. That’d give you a good enough idea on your monthly system maintenance costs. You can even use the pricing calculators that they have on their respective websites. Even the complexity of their pricing calculators would prove our point.

We’re sorry for not being able to give you an exact figure and a simple answer, but that’s the world we live in. It’s like your cell-phone’s tariff plan, or your gym membership, you’ll have to make a couple of calls to these guys to understand why did you get charged that unexplained amount in your invoice, in order to understand their billing model(s) properly.

India Office
F-4, Navrang Complex,
Swastik Cross Road,
CG Road, Navrangpura,
Ahmedabad 380009 (GUJARAT).
+91 79 40086120
Kuwait Office
M9,10
Al Ibrahem Center,
Ibn Khaldun Street,
Hawally, Kuwait.
+965-66259611
Hong Kong Office
Room B, 7/F,
Kwai Shing Industrial Building Phase 1,
36-40 Tai Lin Pai Road,
Kwai Chung, Hong Kong.
+852 3168 5822