New retail benchmark SKG fully embraces serverless, agile delivery

Subtitle: SKG Channel Mid-Taiwan uses SAE + Dayu to build cloud-native DevOPS, increasing efficiency by 60%

Authors: Chen Chen (SKG), Xin Chen, Long Chen, Dai Xin

Background of the project

Future Wearable Health Technology Co., Ltd. (SKG) is a high-tech enterprise focusing on providing smart wearable health products for individuals and families, specializing in the research and development, design, production and sales of SKG brand wearable health products and portable health products.

With the rapid changes in market demand, SKG's IT system has gradually faced problems such as inaccurate inventory, inability to coordinate online and offline channels, inflexible deployment architecture, and slow IT response speed. In order to adapt to sales expansion, improve efficiency, To strengthen large-scale operations, SKG has reached a strategic cooperation with Alibaba Cloud to create a channel middle-office project based on online and offline connections and covering omni-channel application scenarios.

This time, the channel middle-station construction is aimed at the marketing management of SKG online, offline, gift and other channels, opening up the multi-end business data of dealers, shopping guides, and back-end SAP, and at the same time integrating the C-end member data and channel retail terminal sales data. The Internet architecture cloud-based system capability supports the rapid development of business.

The marketing operation management platform, dealer portal, and shopping guide terminal applet built on the basis of the underlying channel middle platform require multi-end reach capabilities, and at the same time meet the personalized business demands and access characteristics of different ends, requiring the middle platform to have flexible expansion and customization capabilities, And the flexibility to adapt to the traffic needs of different channels.

Status Quo & Analysis:

Before the construction of the middle platform in the channel, SKG mainly rented the IDC computer room to deploy applications, and some businesses also ran on the cloud. The whole is a hybrid cloud architecture of IDC computer room + ECS self-built application supporting RDS and other cloud products. The entire system architecture requires manual maintenance in many places, such as application release, open source product construction and access, cloud service integration, cluster maintenance, etc., which are basically single-point management and manual operations. The pain points during the delivery of the old system and after the transformation are as follows:

**The maturity of agile collaboration, DevOps, etc. is low: **In the past, project iteration lacked full life cycle control, and the follow-up of problems and task progress mainly depended on offline communication and lack of online tracking tools; DevOps process lacked automated tool support , For example, the release of business applications is basically human flesh release, which takes a long time to release, the process is inefficient, and it is prone to online security failures.

Application deployment is cumbersome : It requires a long process of resource evaluation, application server purchase, installation of supporting software initialization, etc.; in addition, cluster monitoring, publishing & scheduling script service management, configuration management, log backup and other capabilities are required separately. Deploy companion components or systems.

There is a cost to implement containerization by yourself: the development is unfamiliar with the underlying details of container management platforms such as K8s, and it is relatively black box, and the progress of troubleshooting is slow.

Elastic scaling is inconvenient : there are certain peaks and valleys on the business side, and the resource utilization rate is very low during the trough period; expansion requires a new set of online procedures, and it is not easy to get off the machine after expansion; after the subsequent middle platform is online, it is expected to be dismantled. More microservice applications, but these applications need to have more flexible and elastic policies due to uneven traffic in different business scenarios.

High cost of later operation and maintenance : not only need to maintain the application itself, but also need to maintain the entire set of infrastructure and corresponding supporting systems; need to invest more additional manpower

Technical selection & comparison:

Based on the above pain points and the implementation experience of other middle and Taiwan projects, the project team rejected the plan of deploying applications directly on ECS or K8s from the beginning when they did technology selection and architecture design in the early stage of the channel middle and Taiwan projects, hoping to have a trouble-free solution. "Container Hosting Platform". Minimize operation and maintenance costs, shield the underlying details, be friendly to development, and maximize the efficiency of deployment and release. Specifically, we mainly hope to achieve the following goals:

  1. It is hoped that there is a unified management platform for online delivery and full life cycle management and control, so as to improve the efficiency of project implementation. The platform needs to have agile collaboration, DevOps, quality assurance and other capabilities, especially with CI/CD pipeline automated deployment to model selection The capabilities of the container hosting platform are used to ensure the quality of project delivery, improve the efficiency of project delivery, and reduce delivery costs at the same time.
  2. The project adopts a Spring Cloud-based microservice architecture, which requires the container platform to be seamlessly compatible
  3. It is hoped that the platform can shield the operation and maintenance work of the underlying ECS ​​and K8s, and most of the development work can be completed in the console, without investing too much energy in the operation and maintenance, and can focus on the development of business functions
  4. It has a certain elastic scaling capability, it is more convenient to expand and shrink, and can customize some resource optimizations
  5. The supporting facilities for microservice applications should be complete: such as grayscale publishing, flow control, remote mode adjustment, monitoring, etc., which can be easily integrated

Based on some of the above demands, we recommend a serverless container platform solution based on SAE (Serverless Application Engine), and make a comparison between the two (the following table):

ECS or K8s direct deployment After using SAE
Application server acquisition Selecting ECS ​​alone requires a bunch of specification selection, network & operating system selection & configuration, monitoring component installation, etc. There is no need to purchase IaaS layer facilities such as ECS separately; directly select CPU & memory specifications and some simple network configuration
Application Creation & Deployment Need to do cluster planning, application initialization, writing application deployment scripts, grayscale publishing scripts, etc.; mirroring needs to log in to the server to operate directly Package images or upload JAR packages and WAR packages can be deployed directly on the console and integrate grayscale publishing capabilities; no scripting or server login is required
Elastic scaling Processes such as server purchase, application creation & deployment need to be done again; machines need to be operated and maintained to join or remove a cluster; the efficiency is not high, and it cannot cope with the demand for elastic capacity expansion of sudden traffic, so it can only be prepared in advance; the resource utilization rate is not high It can realize fast elastic expansion and contraction, and the expansion and contraction can take effect directly on the console; at the same time, it supports automatic expansion and contraction capabilities according to multi-dimensional policies, and can cope with the elastic demand of sudden traffic; when expanding or shrinking, the required capacity can be adjusted at will. CPU & content resources to achieve refined control and high resource utilization
Lossless online and offline Need additional integration, write related scripts yourself Console can be integrated
Current limit downgrade You need to build your own open source tools or purchase cloud services to access it yourself It can be directly operated on the console through the integrated AHAS, but additional AHAS services are required
monitor Build monitoring components & plug-ins by yourself, separate operation and maintenance Integrated basic monitoring and application monitoring capabilities
Configuration Center Management Build your own based on open source or purchase cloud services to do your own integration The Nacos registration center has been integrated, and a layer of packaging has been made for easy use
Post-cluster operation and maintenance Deployment using ECS ​​or K8s requires dedicated personnel to do cluster operation and maintenance, such as operating system upgrade, container management, network maintenance, server replacement and a series of operations Basically free of operation and maintenance, no need for special operation and maintenance, it can be directly operated by the developer on the console

Project delivery progress

During the implementation of the project, the Alibaba Cloud Feitian technology service platform - Dayu was deeply used for online delivery, and unified control and empowerment were carried out through the platform.

At present, the SKG channel middle platform has been launched, including micro-service gateway, micro-service center, front-end Portal, terminal applet, front-end Node application, etc. More than 20 applications belonging to the front-end and middle-end applications are all deployed on SAE; the online process does not require too much extra cost Time to do system transformation or adaptation, you only need to do some necessary configuration on the console, and the platform runs smoothly after going online.

The big picture of the R&D state and operation state of the channel middle-end business system is as follows:

image.pngBig picture of SKG channel middle and Taiwan R&D status & operation status

Intuitive feeling during project delivery:

  1. Automatic deployment of CI/CD to SAE : Through the CI/CD pipeline capability provided by Dayu, business applications are automatically deployed to SAE, completely replacing the original inefficient methods of manual deployment and human operation and maintenance. While improving the efficiency of application deployment, it also It effectively reduces the risk of application release changes, and achieves the effects of controllable deployment and safe production.
  2. Free O&M & focus on business : In the past, the number of clusters and applications of similar scale required at least 2 dedicated O&M; after using SAE, O&M is basically free, eliminating the need for special O&M investment; some SAE console configuration operations are basically done by developers Part-time jobs are enough; in the past, to maintain application clusters, it was often necessary to troubleshoot some problems at the bottom of K8s clusters and ECS; using SAE basically does not need to be concerned
  3. Good compatibility with various microservice frameworks : It is compatible with applications developed based on Springboot, Spring Cloud, Dubbo and other microservice frameworks, and at the same time easily integrates cloud products such as ACM and ARMS; Key low configuration deployment
  4. Elastic expansion and rapid expansion and contraction : the elastic policy is flexible, and it is more convenient to adjust when optimizing resources

Project delivery effect:

SAE Metrics

It only takes 2-3 hours for all 20+ applications to initialize, configure, create and deploy to SAE ; resource costs are reduced by more than 30% compared to purchasing machines separately ; since SAE supports the 0.5core specification, development and testing environment resource costs can be reduced by more than 50% ; The capacity expansion efficiency is increased from day to minute .

Dayu Index

A total of nearly 20+ applications have been delivered through the Dayu platform, more than 1.8 million lines of code have been submitted, and more than 3,000 applications have been released automatically in the pipeline , with an average release time of 100S; CI/CD automation deployment efficiency has increased by 300% , and zero release failures

Product improvement suggestions:

It is impossible for any cloud product to meet all the demands of users 100%. In the process of using Dayu & SAE, the project team also found some points that can be improved and improved:

  1. Platform open capabilities: Dayu platform provides more open capabilities and provides more OpenAPIs for users to synchronize data generated during project delivery, such as requirements, tasks, defects, man-hours, documents and other data.
  2. Microservice governance: support online debugging based on Feign, Dubbo, Hsf and other framework microservice interfaces, service Mock, and view services from a consumer perspective
  3. Monitoring: At present, the monitoring of SAE is for a single application, but from the user's point of view, because the middle platform often contains many microservice applications with very fine divisions, it is hoped that there will be an operation and maintenance monitoring view from a global perspective; it is convenient for users to view Overall operation of the cluster
  4. Integrated optimization with SLB: When SLB is deleted or invalid, it will still be displayed on the SAE application home page, and the port can still be mounted (the mounting problem may be fixed, but it can still be displayed), it needs to be deleted manually
  5. Support certain dynamic hot deployment capabilities to further improve the iterative efficiency of development and deployment
  6. Integrated optimization of NAS storage: support logging in to the NAS by specifying an account in the image (currently an error will be reported)

Digitization is a stage and a major opportunity for enterprises to improve efficiency and innovate. It is believed that SKG will rely on the PaaS layer infrastructure such as Dayu & SAE under the empowerment of the channel middle and platform, and realize value upgrade through leading digital cloud solutions. big market!


About image.png SKG SKG product design has not only won national and provincial design awards, but also won many international awards such as the German Red Dot Design Award and the Hannover Industrial (iF) Design Award. In addition, SKG has built a core technology moat through continuous R&D investment, and successfully transformed it into intellectual property rights. It has more than 1,000 patents worldwide. In 2021, R&D investment will account for more than 7% of operating income. The sustainable development of the company's business will lay a solid foundation and build a core competitive advantage.

According to Euromonitor's B2C channel retail sales in 2021, the SKG brand ranks first in the country in terms of sales of smart wearable cervical spine massagers, and has established a good brand image and high brand recognition in the industry. SKG took the lead in drafting the industry standard of "Low-Frequency Massager for Household and Similar Uses", making a solid contribution to the healthy development of the industry.

For more content, pay attention to the Serverless WeChat official account (ID: serverlessdevs), which brings together the most comprehensive content of serverless technology, regularly holds serverless events, live broadcasts, and user best practices.

{{o.name}}
{{m.name}}

Guess you like

Origin my.oschina.net/u/4611872/blog/5563707