Function is not the point
If you like Lambda And choose Serverless, The reason you did it was wrong . If you choose Serverless, It's because you like FaaS, You're doing it for the wrong reason . Function is not the point .
Of course , I like Lambda —— But this is not what I advocate Serverless Why .
Don't misunderstand me , The function is good . They allow you to scale transparently , You don't have to manage the runtime , And they naturally fit into event driven architectures . These are very useful features .
But functions should eventually become a small part of the solution . You should use functions that contain business logic as the glue between managed services , These managed services provide most of the heavy work that makes up the application .
Hosting services is not the point
We are very lucky , Cloud providers can provide such a wide range of hosting services for many different parts of an application . database 、 Identity and access management （ I'm glad I don't have to own it myself ！）、 analysis 、 machine learning 、 content distribution 、 Message queuing and so on .
Managed services provide the functionality you need with less hassle . You don't have to patch the servers they're running on . You don't have to make sure that autoscale correctly provides the required throughput without a lot of free capacity .
Hosting services significantly reduces your o & M burden . Hosting is great —— but …… They're not the point .
Operation and maintenance is not the point
It's nice to know that you can use fewer O & M resources to keep your applications healthy . Especially important is , The resources you need are mainly based on the number of functions you provide rather than traffic .
Reduce operation and maintenance 、 More efficient —— but …… This is not the point .
Cost is not the point
ok , Sometimes what companies want you to do is to reduce costs —— And that's what you care about .Serverless Will help you to do this . But on the whole , The cloud billing is not the point of the problem .
Your cloud bill is just a component of the total cost of Cloud Applications . First , It's the salary of operation and maintenance personnel —— If you have fewer O & M staff resources , The cost will be lower . And your development costs .
There are a lot of cost advantages here —— but …… These are not the focus .
Code is not the point
The code is not just the point , And it's a responsibility . Code can only do what you want to do .Bug Will weaken that . You just lose focus by writing more code . The more code you have , The more opportunities you have to deviate from your expected values . Understand that this is a cultural shift .
Technology has always been difficult . Smart people create value through technology . So developers are beginning to believe that intelligence is innate , Good. . It took us so long to make Swiss watches , So that they didn't realize the appearance of Cassio , And accused the evolution of lack of elegance .
We need to understand and solve business problems , Instead of using our ingenuity to solve technical problems . When you have to code , You're solving technical problems .
Technology is not the focus
The reason why we do this , It's to achieve some kind of business goal . The business value your organization is trying to create is the point .
Now? , occasionally , You're selling technology . But even if your product is technology , That may not be the value of the product you sell .
There is an old saying that , People don't buy drills , It's a hole . When you need to drill a hole in the wall , You don't care how beautiful the drill is , You just care how well you drill to get the hole you need .
stay iRobot, We don't sell robots . We don't even sell vacuum cleaners . We sell clean houses .Roomba Give you time to go back to your daily life and focus on what's important to you . therefore , If technology is not the point , What are we here for ?
The point is to focus on
Serverless It's a way to focus on business value .
How do you deliver function value ？ They let you focus on writing business logic , Instead of writing supporting infrastructure for business logic .
Managed services allow you to focus on writing functions . Less operation and maintenance resources can free up manpower and capital , Create new value for customers .
Observability provides you with a way to deal with MTBF and MTTR Tools for , Both tools measure how often your customers get value . Spending less on cloud computing means you can spend more directly on supporting value creation .
Concentration is choice Serverless Why
You should choose Serverless, Because you want to focus on creating value —— In your company , You try to apply technology to create business value .
Back to the cost ,Lyft Of AWS bill , Every year, 1 Billion dollars , It's been news lately . A lot of people chimed in that they could make it cheaper —— They can't , But that's not the point .
If Lyft Switch to Lambda And hosting services as much as possible , Will their bills be lower ? Probably . But when they take the time to restructure , What's the use of this ? They lose focus .
The company is in a more important stage of development than cost control . Final , This may change . Listed companies are responsible to shareholders , So cutting costs can bring value to them . But for the present Lyft Come on , Delivering value to their customers means executing their current applications and processes . They are making a Serverless The choice of .
What I want to tell you is ,Serverless It's never been about what we call Serverless Technology . So what we call Serverless What does technology have to do with it ?
Serverless It's the result of focusing on business value
Technology is the result of how you deliver value . The development team and the operation and maintenance team are traditionally separate , Because they have a different focus . But we see this trend changing .
The traditional model focuses on Technology —— Development technology vs Operation and maintenance technology . But we see people realize that the focus should be on value —— Delivered features , Including how to build and run .
When we adopt this concept of focusing on business value , And run its logical conclusion , We get Serverless.
When you want to focus on delivering value , You want to write functions . When a function needs state , Need a database . To get it from someone else , You can use DBaaS—— You can choose between your options based on how focused it is .
When choosing a hosted service , Some of them may even be user oriented . If you can log in with a social account instead of having your own , Then you have one less thing to manage , It's also less of the chip you have for the user experience .
Now? , For everything you outsource , You still have a responsibility . Your users don't care that their bad experience is caused by a third party , It's still your problem . You need to leave the interruption to your users , At the same time accept that you can't completely control your destiny there . This is an uncomfortable place , But it's worth it .
You can't win points on these things —— But you can lose . That means you need to know “ bad ” What does it look like . This requires that you have a good understanding of the outsourcing products and technologies , To ensure that you provide the user with enough quality .
Please note that , In depth expertise in a key area , And there's extensive but weak knowledge in the neighborhood , This is related to T The concept of t-skills is very similar —— For organizations and teams .
Serverless It's a trait
Serverless It's a company trait . If a company decides that it should not have core technologies that are not realizing its business value , So it's going to be Serverless Of . Few companies are completely Serverless Of . But inside the company , There can still be Serverless Part of .
If your team decides to focus only on the value it conveys , And delegate anything beyond these values to another team , Or ideally delegate it to the outside world —— Then your team will become Serverless. You can't always choose to use external technology —— This is good , You can still make the best choice under limited conditions .
In a large enough organization , It doesn't matter anymore . When http://Amazon.com Use Lambda when , It is complete Serverless Of , Although it is in a sense on-prem Of . But what if you're the only one ?
If you are right about Serverless Feel excited , But what if you feel completely alone in the company ? If you are far from the actual business value —— If you patch a team that's working on a team that creates user oriented content , So what do we do? ? I want to convince you , You can be... In any situation today Serverless.
Serverless Is the direction , Not the end
I used to Serverless Technology is discussed as a spectrum , Because I know that there is no clear line to distinguish Serverless Technology and non Serverless technology . Well, I mean , There is hardly a bright line to separate any given group , So I'm safe in this assumption .
I talked about things like Kinesis This requires the management of debris , It is Serverless Of , But more than SQS a little bit less Serverless. You don't have to use RDS Repair examples , But you need to choose the type and number of instances . These technologies are all to varying degrees Serverless.
But recently I've come to realize that I'm going to Serverless One of the problems described as spectra is , It doesn't mean moving . Just because you're using something designated as Serverless Products , It doesn't mean you should feel like you've got Serverless - Keep using it and think you've selected Serverless Check boxes are acceptable .
Climb up Serverless ladder
I began to put Serverless Think of it as a ladder . You're climbing something , There you can deliver pure business value without overhead . But every step on the ladder is effective Serverless step .
If you on-prem Move to the public cloud , That's the ladder . If you migrate from a virtual machine to a container , That's a ladder . If you migrate from no container choreography or custom choreography to Kubernetes, This is the ladder . If you move from a long running server to a self hosted one FaaS, It's going to be the ladder . But there is always a rung above you , You should always keep climbing .
" ladder " One thing that's not conveyed is that it's not linear . From virtual machine to container to Kubernetes It's all on the steps , But it's going to be the same with the cloud . In these cases , There's usually no specific “ Better ”.
I think of metaphors of many paths to the top of the mountain , But one thing I like about ladders is that they can be infinite . There is no final state . I like Lambda, But I've been looking for better ways to deliver code , Make me pay more attention to value .
Serverless It's a state of mind
Serverless It's about how you make decisions , Not your choice . Every decision is binding . however , If you know the right direction , Even if you can't move directly in this way , You can also choose the one that's most closely integrated , And then move up another rung . that , How do you use this way of thinking ？ How do you make Serverless choice ？
Configuration is your friend
I think a lot of developers look down on configuration , Think of it “ It's not real programming ”. Now there's a cult of programming . We were told “ Software is eating up the world ”, And we don't exactly translate it into “ Coding is swallowing the world ”.
We already believe that , Developers are the only important people in the organization , And our sense of productivity is the only thing that matters . We want to feel... In the area , That's what coding provides . Any obstacle to this is not good for the business . We're really quicker to get into the area than alternative routes , There's no sense of creating value better .
Bear in mind ： Days of programming can save hours of configuration
Restraint is good . Deleting options can help you stay focused . obviously , Not all constraints are good —— But in general , The ability to do general things comes at the cost of taking longer to do a particular thing . The guardrail may wear , But you're going to run faster than you've been staring at the edge of the fence .
such ,Serverless It's about minimalism . Eliminating interference .Marie Kondo Now it's big , And the same advice applies to . Find components in your stack that don't generate value .
Afraid of the big things that could happen
There is hidden complexity in possibilities . For any technology , One of my main indicators of assessment is how much it has beyond the task at hand . When there is a lot of extra space , The complexity of learning and dealing with it is unnecessary .
People put Kubernetes Touted as a single tool to fulfill every cloud requirement —— It does ！ But if everything is possible , Anything is possible . For a given task ,Kubernetes There may be errors , Because you don't think about how it behaves in situations unrelated to the task .
On the other hand , When you consider Serverless The service of , You may have to provide 80% Choose between a solution from a third-party provider or services that are more suitable for your needs . But what are the O & M needs of the new provider ？ What is authentication like ？ These are hidden complexities , You need to introduce these features , You need to weigh these differences in characteristics .
Accept the discomfort of not having your own destiny
When you use a hosted service , Disruption of providers can bring pressure . You can't solve their problems . This is unavoidable —— It always feels bad . You might think ,“ If I run my own Kafka Cluster instead of using Kinesis, I can find the problem and solve it ”. This may be true , But you should remember two things ：
- That distracts people from creating business value .
- You will almost certainly do worse in running it . You're going to encounter more and worse things . The life goal of a service provider is to be good at it —— They have economies of scale , And you didn't .
transcend “ I can always build it myself ” It can be difficult .Jared Short Recently, it has provided an excellent set of guidelines for selecting technologies .
These days, my thinking about server free is in the order of consideration .– If the platform has , Please use – If the market has , Please buy – If you can rethink the requirements , Please perform – If you have to build , Please have it .——@ShortJared
therefore , If you're using a cloud platform , Please stay in the ecosystem as much as possible . such , You can eliminate a lot of possibilities from the equation . however , If you can't get what you need on the platform , Please buy from other places .
If you can't buy exactly what you need , Can you reconsider what you're doing to adapt to what you can buy ？ This is really important . It's at the heart of time to market .
If you have something you think is valuable , You will want to ship as soon as possible . But deliver something faster , It's better than building exactly , Because you don't know if this is the right thing .
Not only does it take longer to wait for the right thing to build , And the subsequent iterations will also be slower —— And maintaining it will take up the resources you can use to deliver more things in the future . Even if the technology is not Serverless Under the circumstances , It also applies ： Always ask if adjustments to your requirements can be made faster , Better or more focused value delivery .
however , Last , If you have to build it , Please have it . Find a way to make it different . Now? , This doesn't mean that everything you've built should be differentiated . In a perfect world, only see what you can't buy . Imagine, completely Serverless What will the realization of green space look like , And find what needs to be built there .
Find your business value section
therefore , Fundamentally speaking , You want to find the value part of your business . What kind of technical work are you serving ？ Maybe you are far from user oriented products . You may have contributed only a small part . But it's there , You can find it - And focus on that value .
Start with the direct value you provide to others in the organization , And focus on this . And then start tracking the value chain . Make sure all decisions are made around the value you create . To make a Serverless The choice of .
Hire people who can do their jobs automatically , And then continue to offer them jobs .——@jessfraz
I like Jessie Frazelle Words . You can turn it around ： Automate the work , Continue to do the required work .
please remember , You're not a tool . For any value you want to create , Please create it automatically . If you manage build servers , Find ways to make them self-service , So you're not delivering the build itself , It's a building tool , So that the team can deliver the build itself .
summary ：Serverless It's a state of mind
The point is not the function , hosted services , Operation and maintenance , cost , Code or technology . The point is to focus on —— That's the choice Serverless Why .
Serverless It's the result of focusing on business value . It's a trait . This is the direction , Not the end . Climb up the endless Serverless ladder .
Configuration is your friend . A few days of programming time can save hours of configuration time . Afraid of the big things that could happen . Accept the discomfort of not having your own destiny .
Find your business value section , And implement Serverless state .
author ：Ben Kehoe
This article is the original content of Alibaba cloud , No reprint without permission .
本文为[Alibaba cloud technology blog]所创，转载请带上原文链接，感谢