Chapter 86. Focus on Your Team, Not on the Cost

Guillaume Blaquiere

Public clouds come with a new capability: the real knowledge of cost. In my company, this generated fears: “Whoa, it’s expensive!” No, it isn’t—but the cost is known, visible. In an on-premises environment, it’s very hard to know the real cost per service, especially the human cost or the cost of mutualized resources (network, storage, hosting, etc.).

When you choose a technical solution, it’s important to take into account all the pieces of the project—and first of all, your human resources. Google Cloud Functions, AWS Lambda, or other FaaS solutions may seem cheaper because your use case fits them well. But is your team able to develop functions in the available languages and within the existing limitations?

The scalability and simplicity of these serverless solutions makes them popular, and companies have built entire new stacks on top of them. Some projects have thousands of functions, and it’s hard for a newcomer to understand the impact and the role of each one.

For a lot of teams that move to the cloud, splitting their monolith applications into microservices is a real challenge in terms of design, documentation, and organization. If you consider a simple microservice with four HTTP verbs (GET, POST, PUT, DELETE), FaaS architecture splits it into four parts. Functions are simple, but hard to consolidate and test, and it’s difficult to keep consistency among them. Code factorization and reutilization also can be a challenge, and the tests are often redundant.

In addition, the current limitations, like the difficulties in using private libraries when deploying or loading third-party binaries can be a real challenge when you start a FaaS project. Sometimes you have to reinvent the wheel to cope with the existing constraints.

Do you really know the cost of your FaaS choice? Here are some of the human considerations:

  • What is the impact of valuable/senior employees resigning because they are not comfortable with the new stack?

  • What is your training session budget?

  • What is the impact of having no productivity during the training session?

  • How do you manage the lack of code quality, reliability, performance, and productivity because of the new stack?

These costs, most of the time, add up to far more expense than the cost of the cloud provider.

In addition to this human aspect, there are other potential costs. What will be the cost of refactoring to achieve portability? What will be the cost of having x% more bugs because the software is difficult to test or the team lacks experience in a new language?

Before you start using an online pricing calculator, be aware of your teammates’ capabilities, wishes, and skills. Start to think about containers and portability. Be smart before being a cost killer!

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.14.130.24