Editor's note: Wang Lijun, the author of the Sina Cloud computing SAE, participated in and was responsible for the development of the internal dynamic platform (private PAAs) and later led the entire SAE (public PAAs) project. After leaving Sina, set up the Nicescale, is now mainly for developers and enterprises to provide a simple and easy to use server management platform, can manage physical machines, virtual machines, cloud host even Docker containers. The product is still in beta, the official said in early 2014 to complete a round of financing, the specific amount is ominous. This article is the author of the past ten years work summary, the PAAs practice and thinking. The following is the original text:
Overview
First, this article is not an attack on PAAs, nor does it negate the value of PAAs. On the contrary, the author wants to have a clearer definition of PAAs through this article, what it is, what problems can be dealt with and what problems cannot be solved. This can be a reference for all enterprises that are exploring PAAs or preparing PAAs.
This article as the author of the past ten years work summary, the PAAs practice and thinking. The author has served in Sina for nine years, participated in and is responsible for the development of internal dynamic platform (private PAAs) and later led the entire SAE (public PAAs) project development, because of the dynamic platform of practical experience, but also the emergence of the SAE later, both causal link.
Dynamic Pool
This noun is relative to the static pool. Because Sina has built a static pool for news service very early (is still in use).
The project of the dynamic platform of
originated in 2004, when CTO Li Songpo was in charge of Sina's technical work and he was very supportive of it. Dongjian was the leader of the project.
The problem that the dynamic platform solves at that time:
resource sharing to avoid an application a bunch of machine developers have specifications that cannot be unified according to the likes and dislikes of each developer. The management developer does not manage the machine and is responsible for coding and database design development
The development of dynamic platform has benefited from the support of company leadership and the strengthening of cost management. This makes it difficult to apply equipment budgets to new projects, which in turn facilitates the rapid development of dynamic platforms.
Major challenges in the development process:
Resource scramble conflict problem Troubleshooting difficulty large database management faces challenge development and operational coordination
These problems in the dynamic platform of different stages of development, the degree of performance is not the same. At different times, there are corresponding processes or techniques to solve these problems.
Growing
2009, the micro-blogging technology leaders decided to use the dynamic platform, which makes the dynamic platform load scale in the subsequent years have a blowout-type of high-speed development. And make the dynamic platform adaptable.
The fundamental reason for the rapid growth of dynamic platform lies in the support of company leadership and strict cost management, and the reduction of IT budget in business unit. This is for the private IaaS or private PAAs of the enterprise reference, if you have a lot of budget, then the private cloud, ten to one will fail! Clearly, the business unit's IT budget is sufficient to have no initiative to use the private cloud.
If you want to ask the largest PAAs in the global business, it must be a dynamic platform for Sina research and development!
SAE
2008 Google Gae released. I was responsible for the day-to-day management of the dynamic platform. At the time, Gae was stunning when I saw it, and developers could manage their apps themselves, write code and run it directly. At that time, the dynamic platform is still a work order era, developers need to submit application applications, we have manual configuration in the background after the opening. There was an urge to get a similar product. This became a reality in 2009. November 2009 SAE was on line, and soon released Alpha1, ALPHA2, beta and many other versions. With the development of Weibo, 2011 micro-BO Open platform for the rapid development of the application, and effectively led to the fast growth of the SAE, the micro-bo vote, fan sinks, micro-bo data analysis, chat tools, such as a large number of third-party applications quickly born in the SAE, and daily visits can be easily tens of millions.
Challenges
SAE's technical framework, there are many dynamic platform shadow. Its operational maintenance also benefits from past years of proven experience. But the difference between external users and internal users, the impact on the SAE, especially after the IaaS and cloud host rapid development in the country, SAE development speed slowed.
The difference of
external business is big, internal business is relatively neat; external customer collaboration is more difficult: external customers a large number of service support can only focus on important customers; Sensitive application regulation is difficult; DDoS attacks daily: This is the pain of all the people who do the public cloud. Malicious application of more: such as malicious Taobao Guest.
Why users use SAE
There is no doubt that the SAE is the earliest PAAs platform, but also the most mature in China, the largest user-scale PAAs platform. Even in today's increasingly competitive cloud computing users, there are still a large number of users registered to use the SAE platform every day. The reason why there are users willing to use SAE, the core reasons:
fast access to the app's operating environment. Although the user built a lamp or tomcat environment is not complicated, but if not very skilled, look at the document to do, a few hours still need; This is the most critical and core. With the SAE, you don't have to care about the operation, as long as you're responsible for writing code, which is attractive to many developers; the inexpensive SAE implementation has the highest density, and there are no other modes to compare. That's why it's cheap to use the SAE. This is attractive to many individual developers. PAAs decryption
definition
Wikipedia explains: In this model, the consumer creates the software using tools and/or libraries from the provider. The consumer also controls software deployment and revisit settings. The provider provides the NX, servers, storage, and other services that are required to host the consumer ' s creator
The above definition should be a summary of the products of multiple PAAs vendors. Including Gae, Heroku, Cloudfoundry, OpenShift, SAE and so on. The meaning of translation is: The user only submits the application code, and all the rest is done by the PAAs provider.
What a wonderful vision! I think it's the dream of all the developers, only care about the code, the other do not have to pipe, the service can also run very well, 99.99% availability, do not worry about the middle of the night out of trouble still have to climb up, do not worry about the database to forget the backup caused data loss, do not worry about the sudden doubling of traffic, service, Do not worry about network failure to switch services back and forth. The world has become so orderly.
The vision described above is very desirable. If there really is such a PAAs, if Gae really did that, why is the cloud leader in AWS, not Gae?
I wonder if such a panacea for all ills really exists? Whether as a pioneer of Gae, Heroku, SAE, or later cloudfoundry, OpenShift, or now based on Docker Flynn, Deis.
If let me now give a definition of PAAs, I will write this: PAAs is a set of development, operational dimensions of the specifications and processes, through a number of auxiliary tools to the specification, process precipitation down. But while business and technology are always in a changing era, processes and specifications also need to adapt to change. Without a set of process specifications that you can use for a lifetime, there is no tool that can help you solve all the problems once and for all. Sina Dynamic platform has not been in the history of the 10, has been in constant evolution, change, adjustment, the reason for the continuous evolution of change, because the technology in the changes, business changes, organizations in the change, do not expect the same, it is impossible can not be done.
PAAs solve what problem
To talk about what the PAAs can solve, depending on what the PAAs offers, in general, the current PAAs provides:
code deployment capabilities; Code runtime environment, such as Java, PHP, Ruby, and so on; the services required for various application operations are typically databases;
From the above features, PAAs is primarily addressing the deployment and execution of applications.
PAAs does not solve what
PAAs can not be fully automated, fault-free operation and management; PAAs can not replace you to implement the development and operation of the process of carding, and this I think that the core of the enterprise, is a development and operation of the concept of change, light has tools is not; PAAs needs operational maintenance tools, Still need to be developed or purchased by yourself. PAAs cannot provide a full range of management tools; the services provided by PAAs are still limited. For example, you need a lbs service, or a message push service that may be provided by a PAAs, but not in another. No almighty manufacturer can provide all the services, and if he offers it, it must be a showy.
Do you think PAAs is useless when you see the above points? Not really, PAAs is just a tool, you need to first change your philosophy, or you do not use cloudfoundry such a complex system, but if you have to do your development and operational process specifications in place, then really do not need PAAs, or you in the implementation of your process, Have consciously or unconsciously used some tools, you can deploy software very quickly, implement monitoring, organized backup, then you really do not have to introduce a PAAs platform.
The PAAs should ultimately be a solution that adapts to the needs of the customer and needs to evolve as business requirements change. Rather than customer fit to adapt to the PAAs tool. In that case, the PAAs path must be disastrous.
Nicescale
After leaving the old club Sina, I was determined to do a very flexible PAAs, can support any software stack, can help users manage all of his software stack. This project has a larger target than Cloudfoundry, and of course we have enough experience with PAAs operations. But how much more does a general-purpose PAAs mean when the Docker is booming? It also has a high degree of complexity to address the need for PAAs delivery. But the key is, do users really need such a complex tool?
I reread the classic Unix classics and think about how our predecessors handled such complex projects. We recognize that the management of service operations is indeed very complex, but if the use of complex tools to manage, it will only bring higher complexity. Solve complex problems, only simple, any complex things, can be decomposed into simple.
From the simple start, so there is a new nicescale. But Nicescale's goal has not changed, reduces the user to use the cloud computing the complexity degree has been our pursue, is our unwavering goal!
This new product, which solves only one small problem upfront, helps you manage multiple servers very easily. Scripts are executed in batches on multiple machines, and the behavior is recorded. Although the function is few, but I believe that after you use, will experience its powerful and convenient.
The original server management can also be no longer boring, become fun, very cool!
Beginner has not changed, but we have chosen another road, simple way.
Keep it simple, stupid ...
The author of this article: Wang Lijun (@IT person), was responsible for Sina research and development of private PAAs (dynamic platform) and public PAAs (SAE). Hybrid Cloud management platform Nicescale.com founder.
Scan two-dimensional code, you can get Nicescale invitation code
Original link: PaaS, not silver bullet-written after Nicescale product changes (Zebian: Zhou Xiaolu)