Find out why Google Cloud can be a great challenge for us to offer competitive pricing for our future Web Store App and how we planned to overcome it.
Lately, you might have already aware that we're busy building our new Web Store App to offer a greater sustainable marketing platform, not only for training providers but also for every content marketer in other industries. But building such a marketing platform and expecting it to be competitive is not easy, especially on a cloud platform that is completely new to you, that is Google Cloud Platform.
In the past, even until today, we're capable of offering as low as RM0.50 per Unique Page View (UPV) to our Classic I'MTP members because the platform that we use to host their course contents is completely free -- the only cost is our professional effort, i.e. our SEO skills, Web Design, Social Media Marketing, account management services, and on-demand content maintenance and support. But such a backend-less platform is no longer sustainable due to the following reasons:
- Due to limited manpower and completely no automation, our resources have been holding back by those on-demand service requests, preventing us from developing and extending our business further.
- Also the same reason, we're unable to host more members. This leads to low monthly revenue because traffic performance may vary from member to member depending on their number of courses, content quality, course content popularity and demand etc; therefore, the frequency of their top-up payment may also vary.
- Lesson learned from COVID-19 pandemic: Widen and diversify your target audience and market segments, go beyond training industry whenever possible. As we all know, training business has been one of the most unfortunate victims in this pandemic as online training wasn't really that popular in the Malaysia's training market at that moment. As an Internet Marketing Service Provider, focusing only on a specific industry may kill yourself -- Be expect for the unexpected!
But why Google Cloud and how it helps to turn the table around?
Undoubtedly, Google Cloud Platform (GCP) is one of the most cost-effective cloud services for developers. The Google Firebase that sits on top of GCP offers the pay-as-you-go Blaze Plan, which is very much affordable to a solo technopreneur and small business owner like us. Without them, low budget business like us can never afford an upfront cost where the outcome (success or failure) is still an unknown. If we really need a reliable and scalable backend database for a completely self-service and self-sustainable online marketing platform for our customers without worrying much about the start-up investment costs, then GCP or Google Firebase is definitely the choice for us.
But what are the challenges that we're currently facing now with GCP?
After several months of development, testing, and deployment to our GCP, we realized that monthly usage on GCP may not be as relaxing as what you expect it to be -- if you're not careful enough on your architectural design, coding patterns, and the
underlying charges of GCP, especially on the Cloud Functions deployment part that involves the
Cloud Build and Container Registry services that has
no free tier. These two GCP services may quietly use up your GCP Cloud Storage until it can be easily exceed your 5GB free quota if you don't set the
Life Cycle settings to auto delete old version images upon every new deployment. If you're a Firebase developer, you can take a look at
our answer to one of the Stack Overflow community members on Firebase Costs Reduction Strategies.
Besides the Cloud Functions deployment part, it is hard for us to identify the optimum UPV cost for our members because on every page view (where one Unique Page View can be multiple Page Views), it may incur various charges from GCP, such as Cloud Function invocation charge, computational charge, bandwidth cost. memory usage cost, Firestore database read/write costs etc. Those prices may seem extremely tiny in their GCP Pricing page, but in actual execution, with all those costs added up together, your total daily usage with slightly larger user population can be easily spiked up, making you very hard to offer an affordable and competitive pricing to your customers. Due to resource shortage, it's also very hard for us to quantify the total costs of every page view followed by an average cost per UPV. We still prefer to take UPV captured by Google Analytics as a base unit price to our members because it's easier to understand by layman rather than bringing the GCP complexity to those non-technical business people -- They only care about how many unique viewings (UPVs) and repeat viewings (PVs) on their course content pages, that's all. Another advantage of charging by UPV is to prevent spammers from keep refreshing our members' pages and drain all their credits overnight. This is why most of our members feel safe to be with us. Some of them have been with us for more than 7 years!
How we planned to retain the simplicity of pricing to our members without making losses at our end?
Obviously, in the technical point of view, the only solution is Content Delivery Network (CDN) Caching, namely CDN Caching. According to Google Firebase team, GCP server resource consumption can be minimized by implementing proper caching mechanisms on your Web app. This is what we're currently looking into, but the greatest challenge with CDN Caching is that: How can we update the UPV usage and credit balance of each member upon every visit when the content page is not accessing the server resources in real-time? -- Ladies and gentlemen, this is our job and our only chance to survive in this difficult time, we'll get it resolved, we will.
Come on Antonio, when can we start to rock-n-roll on your MalaysiaTraining.net again? Just give me a date!
Although the ETA for our official launch is still unclear, we expect our first Close Beta (for existing Classic I'MTP members only) to be taken place somewhere in Q1 2021 and the official launch in the beginning of Q3 2021. It can be delayed further, but it can also be ended up with great surprises to you and me, who knows? Let's see how we run the show for saving Malaysia Training Network (MTN, aka. MalaysiaTraining.net) in this pandemic! Stay tuned for our future news and stay safe!
In Chinese: 欲速则不达
"The more you rush, the slower it becomes"
Impatient rush leads to defeat