Backend-as-a-Service (BaaS) for Efficient Software Development

简介: The adoption of the Internet and mobile technologies has revolutionized the business ecosystem, with entrepreneurs able to implement ideas quickly by .

First-generation cloud services, such as Alibaba Cloud IaaS and PaaS products, eliminate the need for managing servers and O&M systems by deploying cloud data centers. Backend-as-a-Service (BaaS) represents the second-generation cloud service platform. BaaS can further simplify and optimize cloud computing resources and provide all-in-one cloud services including development, O&M, and service management.

BaaS can package public cloud data center resources based on frontend application scenarios and provide them to developers through simple interface invocation. With those benefits, developers can focus on studying users, creating and designing app software, and developing mobile-end apps. This greatly simplifies the development procedure, development cycle and personnel, as well as capital investment while accelerating the launch of apps to the market. The objective for the development of the BaaS architecture is to solve business development efficiency problems. From this article, you can understand the development trends of current software development models.

The New Age of Technology

With the proliferation of the Internet and the booming number of mobile-technology-based start-ups, the time for implementing an idea is as short as a few months. With intense competition, if a company fails to do so, other similar products may come out, which is true for O2O, Internet of Things and Internet finance. For entrepreneurs, launching products quickly, going through market tests and occupying the target market is undoubtedly a quick-action battle. To survive and thrive in such a competitive marketplace, you must run your business efficiently and effectively. Rooted in the furnace of the mobile internet, the BaaS architecture has gained importance.

For entrepreneurial developers, the priority is cost and efficiency. They normally lack technical accumulation, and they need to develop their businesses by proving their business models with low costs. In this context, cloud service providers become their best options.

When entrepreneurs' technical teams are trying to implement their architectures, they will be delighted to find that dedicated entrepreneurial technical companies are providing some of those required common features. Being open to developers as cloud services, these features can either provide certain portions of the required functionality or complete features. On this basis, the cloud service ecosystem is formed and can provide entrepreneurs with various technical services.

Let us assume that you are the CTO of an O2O entrepreneurial company and are considering developing a business platform from an O2O idea. In this age of the mobile internet, mobile app and web features are mandatory. You are likely to face the following challenges:

●Deployment and maintenance of servers
●Development of apps and websites
●Development of backend servers
●Platform functions like authentication and authorization, file storage, pushing and communication, mapping, payment, social sharing, verification and security, intelligent identification, searching, and user behavior analysis
●Services like Activity management

As a CTO, to overcome these challenges, you need to recruit backend, frontend, iOS, Android and O&M engineers. However, when trying to design and implement each of these features, you may find that some of these recruits are technically not sound. On the other hand, implementing these features independently and quickly requires high costs, time, and resources.

However, by researching the technical market, you can find that these basic services are already available as solutions from dedicated companies, so all you have to do is integrate those solutions to save development costs.

You can find entrepreneurial technical companies that provide dedicated services in almost every common functional area. With sharp business acumen, these technical companies can quickly respond to market needs, and this boosts the emergence of new technical architecture services. Entrepreneurs can directly utilize such rich solutions to meet their business needs and quickly develop product platforms for end users.

In fact, those entrepreneurial and technical platform companies are building a complementary relationship between themselves. While entrepreneurial companies are using the services from technical platform companies, the latter can obtain more data, and the former can obtain free and improved services. Through competitions, technical platform companies can enhance their services and offer developers a better development experience. This allows those companies to take the lead in their respective business fields.

In this mobile internet and cloud computing age, the technical platform companies can encapsulate certain features as services to acquire new users (in the form of developers). The strategy has resulted in the popularity of the BaaS architecture soaring in recent years.

Real World Challenges

Redundant Systems against Lightweight Scale

Today, so many systems exist in Taobao's technical departments, and we know little about their specific roles. To figure this out, we can go over those systems by using the domain layered model:

1

Surprisingly, we find that there are hundreds of systems supporting a relatively small number of services. By exploring those systems in depth, we can find the following major problems:

  1. Repetitive construction
  2. Unplanned implementation

Here, you can easily see the waste of development and physical resources. Those systems have also become a huge burden that requires lots of effort and resources to maintain, upgrade, develop, run, and monitor. To perform code-level reconstruction on a software program that is complicated and difficult to maintain, you probably require architecture-level reconstruction to overcome the system-level complexity.

Excessive Workloads on Developers Prevent Development of Critical Systems

Alibaba Cloud's developers have deep technical understanding as well as extensive practical industry experience in cloud technology. On the one hand, Alibaba Cloud has outstanding business scenarios that require excellent technical skills to maintain; on the other hand, internal developers have to go through highly intensive development practices, which make them come out on top.

While outsourcing internal systems, for example, to develop a new business system, Alibaba Cloud was able to determine some of the best practices that developers need to follow during different phases.

●Development phase:
Developers need to consider how to design databases, separate databases, and tables, and ensure high security, concurrency, and performance. In this case, developers need to use the databases (MySQL and Hbase), message middleware (notify and metaq), cache (Tair), distributed invocation (HSF) and .J2EE.

●Maintenance phase:
Alibaba Cloud's attitude towards system stability is that stability prevails over everything. During one recent promotion event, most development teams focused on ensuring system stability by reviewing system architecture and dependency strength and designing traffic limitation plans. Thus, high concurrency, system performance optimization, and JVM have also become strengths of Alibaba Cloud developers.

However, we must go over the following questions: Is it necessary for developers to master so many skills in developing business systems in addition to implementing business logic? Shouldn't business system developers focus on developing business logic? Shouldn't system stability and high backend concurrency performance be implemented by less advanced and professional teams, why does each development team have to do the same job? Is this the result of job division, planning or the technical architecture?

Vague Boundaries of Business and Technical Platform Systems

In Alibaba Cloud, there is a trend: after a certain period, technical system developers are prone to running businesses, and business system developers are prone to building platforms. On the one hand, this phenomenon reflects the developers' desire to promote themselves based on KPIs; on the other hand, this reveals their confusion about career development resulting from ambiguous objectives.

To be specific, business development teams need to meet business requirements while technical development teams need to provide various capabilities for business development and ensure underlying support services. Such architectural specificity ensures unambiguous assignment of responsibilities.

Lack of Inter-System Integration Collaboration Standards

To solve problems of complexity, we need to learn from enterprise middleware software programs. For example, for traditional banking businesses, different internal systems can combine various standards such as EIP and ESB to work out complicated businesses together.

Alibaba Cloud Recommendations

Software engineering draws many references from construction engineering. In the construction field, China Grand Enterprises is famous for constructing the Broad Pavilion overnight at the Shanghai Expo 2010.

Recently, China Grand Enterprises constructed a high-rise with 57 floors in 19 days. Their constructional renovation achievement demonstrates China's progress in today's world. Their achievement lies in the innovative construction method, namely constructing buildings by following the "standard construction model.

If you can standardize and modularize your accumulative technical skills so that business teams can quickly utilize those skills, you will be able to gain the expected "platform" capabilities.

For Alibaba Cloud, its technical accumulation has formed a complete system from cloud infrastructure construction to middleware, to e-commerce systems.

This system covers almost all technical fields, and the accumulated skills can support the world's largest e-commerce businesses. To solve current problems, it needs to review existing processes and "modularize" its capabilities in addition to combining those capabilities through "standardization."

In this way, Alibaba Cloud development teams can effectively develop separate capability modules while business systems can use these modules in the standard way.

Build a Capability Supermarket

Building a capability supermarket allows you to use refined market management to transform the development model from an open market to a modern supermarket. As we all know, supermarkets are bound to replace open fairs during urbanization development.

The reasons are simple. Essentially, supermarkets outshine open fairs due to their chain of operation, which features centralized procurement, distribution, and management. Centered around the linking system, chained supermarkets rely on the network of mass outlets, develop sales revenue based on the centralized procurement system, and make a logistic profit out of modern distribution centers. They route marketing information to the processing and manufacturing industry to develop OEM products and even form a supply chain to develop manufacturing profit. That is to say that chained operation expands standardization, routinization, and industrialization to the circulation domain to reduce costs dramatically while providing consumers with tangible benefits.

In this centralized management and standardization approach, chain operation can earn maximum scale and efficiency advantages. Similarly, business development teams should also learn from this modern supermarket operation model to improve work efficiency through centralized management and standardization.

Nowadays, uneven business development and technical planning have created a gap in Alibaba Cloud's operation. By reviewing its internal development ecosystem, Alibaba Cloud found that different development teams develop based on separate department businesses, resulting in cases of repeated construction of resources. Technical and business departments cannot fully support and complement each other while they do not have a clear understanding of each other's capabilities or overall market capabilities. This results in redundant workloads that create a similar situation to that of repetitive procurement in open markets. To solve this problem, we can take cues from modern supermarkets for their overall management and planning of operation models, layouts, stocks, and capabilities. In this way, it is possible to manage the responsibilities and capabilities of different development teams explicitly while ensuring close cooperation among them.

Metaphorically, capabilities are like products in a supermarket. You can purchase the required capabilities, while at the same time able to discard the unsalable ones. You can enhance salable capabilities, and avoid repetitive capabilities. You can also centrally plan categories of capabilities, with their utilization monitored and charged accordingly.

By doing this, you can formulate an effective mechanism with which a newly-developed capability will be available to all business teams, and it can undergo further development to meet the requirements. In this way, different development teams will not develop similar capabilities repeatedly, preventing wastage of resources. (For example, think about how many rule systems are there internally.)

By operating capability developers and consumers, one can create an efficient ecosystem to avoid resource wastage. By using the supermarket capability, consumers can understand all internal capabilities while capability developers can respond to market needs to develop required capabilities.

Set Up Inter-system Enterprise-like Integration Standards

.

Legacy enterprise middleware uses enterprise integration systems to coordinate complicated business problems among multiple systems. Similarly, Alibaba Cloud's business development also requires the coordination of its systems and needs to respond to complicated businesses quickly.

Many scenarios need data synchronization, such as the data synchronization between business systems and search systems and the data exchange between ODPS offline data and online data.

Currently, we achieve data interaction of these systems by custom APIs or scripts of specific systems. To develop such standards, developers need to understand each system's APIs. Once those standards are ready, like enterprise integration, it will significantly lower the development threshold of developers and improve development efficiency.

Upgrade Development from the J2EE Era to the Cloud Development Era

Soon, the new tiers of the mobile internet cloud-computing era (UI, MBaaS, and platform) will replace the three-tier architecture of the J2EE time (presentation, middle and data service tiers).

With the new architecture, complicated business systems can become simple and loosely-coupled as well enable easy sharing of data and interfaces internally and externally.

2

As shown in the figure above, most of Alibaba Cloud's development architecture stays in the tightly-coupled state, or it partially transforms into the SOA a;;rchitecture. Ideally, it needs to move to a third development architecture to meet complex business needs among systems in a simple, standard and interchangeable way.

Also, for business development teams, their development capabilities must align better with the frontend. In this way, those teams only need to retain JavaScript and RESTful APIs in their technology stacks while they can focus on understanding business models and logic to quickly build business systems and implement business innovations.

For backend teams, they need to focus on implementing platforms and services. To implement those services, they need to upgrade their development architectures from the J2EE era (such as MVC and RPC) to new architectures of the cloud era such as microservices, EDA and CQRS. They should enhance their understanding of system complexities and utilize servitization to meet the needs of business teams.

With the upgrade of those architectures, division of responsibility for development teams will have better definitions, for example:
Development team -> frontend, interaction and business logic
Backend team -> platforms, services, and stability

Build a Developer Ecosystem

By building an optimum ecosystem around data for applications (businesses), developers and platforms, it is possible to share all developers' expertise and experience effectively. Further, all developers can review and follow the development of various businesses and the designing and implementation of architectures. Meanwhile, by developing development expansion and module standards, developers can take the initiative to submit their capability modules, which you can purchase through the platform "capability supermarket."

Conclusion

This article looked at some of the development trends of current software development models. We discussed how the adoption of the Internet and mobile technologies has revolutionized the business ecosystem, with entrepreneurs able to implement their ideas quickly by leveraging services of technical platform providers. We also looked at certain challenges that are likely to come in our way, and finally discussed some recommendations by Alibaba Cloud on overcoming these challenges.

目录
打赏
0
0
0
0
45
分享
相关文章
2025年NVIDIA RTX 4090云服务器租赁价格与选型指南
本文探讨了在主流云服务商尚未提供RTX 4090实例的背景下,如何选择高性能GPU服务器。分析了市场现状、替代方案性能,并推荐阿里云的GN7i(NVIDIA A10)、GN6v(NVIDIA V100)等实例,提供了成本优化策略与选型建议,确保用户在AI训练、图形渲染等场景中实现效率和成本的最佳平衡。
MySQL慢查询优化、索引优化、以及表等优化详解
本文详细介绍了MySQL优化方案,包括索引优化、SQL慢查询优化和数据库表优化,帮助提升数据库性能。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
MySQL慢查询优化、索引优化、以及表等优化详解
|
10月前
Nest.js 实战 (十三):实现 SSE 服务端主动向客户端推送消息
这篇文章介绍了在Nest.js应用中使用Server-Sent Events (SSE)的技术。文章首先讨论了在特定业务场景下,为何选择SSE而不是WebSocket作为实时通信系统的实现方式。接着解释了SSE的概念,并展示了如何在Nest.js中实现SSE。文章包含客户端实现的代码示例,并以一个效果演示结束,总结SSE在Nest.js中的应用。
295 2
Nest.js 实战 (十三):实现 SSE 服务端主动向客户端推送消息
​邮件API触发式接口分析?邮件API接口好评榜
邮件API在企业通信和营销中至关重要,通过自动化邮件发送流程提升效率与客户满意度。本文解析邮件API触发式接口,即基于特定事件(如用户注册、购买产品)自动发送邮件的技术,能显著加快企业响应速度并增强用户体验。推荐市场上的优秀邮件API产品,包括SendGrid、Mailgun、Amazon SES、Postmark及新兴的AOKSend,它们各具特色,如高发送率、详细分析工具、灵活配置、强大的日志功能及用户友好的API接口,帮助企业根据不同需求选择最合适的邮件API解决方案。
大数据分析平台之 OLAP 架构的最佳实践
本文将分享聚水潭云原生 OLAP 架构的最佳实践。
iOS App上架新规解析:如何进行App备案
iOS App上架新规解析:如何进行App备案
1674 0
Spring Boot实战分页查询附近的人: Redis+GeoHash+Lua
Spring Boot实战分页查询附近的人: Redis+GeoHash+Lua
524 0
Supabase
Supabase 是一款开源的后端服务平台,可以帮助开发人员快速构建和部署应用程序。Supabase 提供了基于 PostgreSQL 数据库的服务,支持实时数据同步、身份验证和授权等功能。
2173 1
IDEA导出jar/war包(最简单的/maven projects导出)
IDEA导出jar/war包(最简单的/maven projects导出)
765 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等