There are different opinions about the stability of back-end cloud, and I just saw a Bmob user’s personal experience, which I reproduced here, hoping to have a deeper understanding of the stability of back-end cloud.
Original address:http://blog.csdn.net/difficultt/article/details/78843488
“When it comes to back-end cloud services, people are still very positive about the value of it — ease of use, speed of development, cost savings, etc. — but when it comes to stability, gee, gee… I faintly heard voices behind me. As an individual developer who has personally used Bmob’s back-end cloud services, I’d like to talk about my experience.
Around June 2017, due to the particularity of the APP I developed, which is actually not very special, I believe that many people develop the same APP, but there will be a traffic burst at some point, the data is as follows:
And then, as you might expect, hung up… Hang up… , I think that will be a promotion and pay increase, the apprentice, win Bai Fu beauty, hang on to the top of your life, that’s not dozen 1 come, TMD you fool, don’t you give us some unstable cloud service more than a lot of good ah, you are not stable even save money and effort you have Mao Yong ah, then just drove me big weekend night to find their customer service theory, unexpectedly is someone, A technical customer service guy named Magic got back to me.
Service hung mulberry heart person: customer service in? My service is down. Come out and explain yourself. Hurry
Magic: What’s the name of your APP? What’s your account number? We’ll take a look backstage
Service hung mulberry heart person: ******, quick check
(2 minutes later)
Magic: OK, I have found that your application has a traffic outbreak and frequent instantaneous high concurrency. Is your application hacked?
Service dead man: No, that’s my business
Magic: Ok. Because of the free version of the public cloud service you are using, a traffic outbreak from a single user can affect other users in the same cluster, and you happen to be in a cluster with several similar products. Well, let’s do a stress test for you, separate it out for you, and then come up with a technical solution for your type of application to deal with the frequent traffic bursts.
(It seems they’ve had more than one of my customers with a sudden spike in traffic that affected the rest of the unified cluster.)
Sure enough, there were no problems with the service during the migration. Then, Magic contacted me, saying that in order to solve the high concurrency impact of most people, they planned the enterprise version and enterprise Pro version completely isolated, can greatly improve the stability.
Although the migration version of the experience is good, but to buy the enterprise Pro version or more or less a little worried, the amount of money is not much, but is afraid of the money is not stable. So I asked them how stability works.
Magic: “With Bmob’s operation and maintenance experience, the CPU of the cloud DB server is different from the CPU monitoring of the cloud host. The CPU of the cloud server DB reaches 60% and the data in the DB can not be read basically, while the CPU of the cloud host reaches 90% and the program can still run normally. For redundancy, we usually keep the DB load around 3%, like the following:
Improve stability, mainly improve the processing ability of the DB machine, when the DB machine, the CPU is more than 10%, we will be able to receive alerts, enter the machine for which application is abnormal, the watch for a period of time, if others not affected, found that the application resources possession or high, we’ll get him isolation to temporary server enterprise version, watching him 2 days, If yes, migrate back. If not, tell the developer to close the application. If others are directly affected, we will temporarily shut down the app on the spot. If it is the enterprise Pro version, there will be no such application affected by other people’s performance, from bandwidth, IP, interface, database are completely independent, equivalent to your enterprise private cloud services.”
This sounds more reliable, so I decided to try the whole enterprise Pro version. Although it cost a little money, it was really goods for money. I found the cause of instability and gave this plan based on the reason, and there was no problem in these months.
Magic technology is good, people are also good, can very timely help me to solve the problem, naturally became gay friends, oh, no, friends! I asked him: Many people on the Internet say that the backend cloud is unstable, not only you are unstable, but other companies are also severely criticized. Have you analyzed the reasons for the instability?
Then he gave me a lesson
“We tried a lot with instability, and then we rearchitecting it. Just like the concept of microservices, as long as the network API layer remains unchanged, the underlying technology will become less important, at least to developers. You don’t care what the container is, what the virtual machine is, you just need them to use RESTful apis. Whether it’s android, ios, nodejs, C#, etc. SDKS, at Bmob they’re all based on RESTful apis.
The stability of the platform mainly depends on the following aspects:
1. Maturity of platform technology. Bmob Baas has developed for many years, and this problem hardly exists;
2. Machine room network failure rate, such as line factors, local telecom, network instability, etc.;
3. Machine failure rate, such as physical breakdown;
4. Work human factors, such as code release failure;
5. The server performance is poor and cannot run stably.
Due to years of technological accumulation, the first four items, almost negligible, rarely appear once a year. It can be judged that the biggest reason affecting the stability is that the server performance is suddenly insufficient, which affects the stability. “This is probably a problem for all IT companies. If there is no big concurrency, everyone can be stable.”
Later I seriously thought about what he said, also quite reasonable. Objectively speaking, free users are in a public cluster, it is difficult to ensure that their products are not affected by other products, completely guarantee stability, to be completely unaffected, you have to have their own independent cluster. It would be like to live a house, if cannot afford the price of urban village of low-rent housing, it will be the couple of noisy upstairs, downstairs, the howling KTV, and the sound of bursting from the next door at midnight, want to quiet, is not affected, it can only spend a lot of money to buy a home or furnished villa, this is nothing but a penny a points goods.
I’ve also come to understand the cause of the legendary instability, mostly due to instantaneous high concurrency applications in the same public cluster, either to get your annoying neighbor to move out, or to pay your own money to move out, as simple as that!
Of course, I know the stability of architecture is not that simple, the above is my personal experience and simple understanding, if you don’t like it, just shout at me…”