"Go kit is a programming toolkit for building microservices (or elegant monoliths) in Go. We solve common problems in distributed systems and application architecture so you can focus on delivering business value."
181 karma · joined December 3, 2016
"Go kit is a programming toolkit for building microservices (or elegant monoliths) in Go. We solve common problems in distributed systems and application architecture so you can focus on delivering business value."
For example, the same product will be paraphrased in different ways by your customer, your marketing dept, your business team, your tech team, etc.
On the contrary, Amazon had been quite successful with their 'Working Backwards' model of development because they always document from the customer's perspective. This I believe is the right approach.
I have created my own model on the above premise to make SaaS product development more effective. You can read more about it here - https://medium.com/jugaads/the-stoics-cube-for-saas-product-...
As a company, we decided to give it a try so that we can fund our own product which is under active development.
Having said that, we are unaware of the economics of project development as we all have background in SaaS product companies.
I have come to the conclusion that we should charge them on manpower basis i.e $x per developer per month + $y where x is subjective to skills and experience and y = cloud infrastructure cost. The reason being that this is a long term project and therefore, we didn't want to get slowed down.
This is in contrast to the hourly task/project based approach.
Please advise.
Ive already asked the question here: https://news.ycombinator.com/item?id=16262865
1. How has been your experience with Blueprint JS?
2. Is it possible to take a look at your work?
3. Would you recommend using it? If yes, what types of apps?
1. Mandatory new field.
2. Field is split. For example, address field is now divided into street1 and street2.
3. Change in datatype.
In the above three cases, we had to force users to upgrade their versions.
You always had a choice to stop development in the early stages and: 1) Make it proprietary - Why didn't you do it? 2) Have a commercial version - Why didn't you do it? 3) Change the license from MIT/Apache/etc - Why didn't you do it? 4) Charge for features/support/maintenance/etc - Why didn't you do it?
When you use certain OS licenses, you give the permission to its user to do whatever they wish including selling it and therefore, complaining about it later doesn't make any sense.
Mattermost for example, was APL. Then they changed it to AGPL because they experienced something similar.
Gitea was born out of the frustration that the original code was not maintained properly.
There are numerous examples like this.
So stop complaining and take action else embrace open source with all your heart.
When we call software “free,” we mean that it respects the users' essential freedoms: the freedom to run it, to study and change it, and to redistribute copies with or without changes. This is a matter of freedom, not price, so think of “free speech,” not “free beer.” These freedoms are vitally important. They are essential, not just for the individual users' sake, but for society as a whole because they promote social solidarity—that is, sharing and cooperation. They become even more important as our culture and life activities are increasingly digitized. In a world of digital sounds, images, and words, free software becomes increasingly essential for freedom in general. - Richard Stallman
1. Does it support other languages? If not, is it in the roadmap?
2. Can we expose it to our users so that they can create custom logic? If yes, how do we ensure that their functions do not pose a security risk to our systems? What are other security implications to be kept in mind?
3. How do we test, monitor and trace/log it?
4. Is there a concept of warm/cold in SCF?
5. Can we share libraries among different functions?
6. Can we call a function inside another? How do functions communicate with each other?
7. Can they share memory? How does it handle transactions, persistence, connection pooling, etc?
8. What is the failover mechanism? Does it ensure exactly once semantics for its execution? Does it automatically restart if it died in between an execution?
9. What is the difference between Apache Spark, Spring Cloud Data Flow, Spring Cloud Functions, AWS Lambda/Openwhisk when seen from the perspective of an application developer(writing business logic)?
10. Openwhisk has support for workflows. How does the provided SCF Openwhisk adapter handle such cases?