Sunday, 26 November 2017

Week 5 [27.11-03.12.17] Serverless — the Future of Software Architecture?

Hello! I have an interesting article about serverless technology.

There are many scientific articles that describe the use of a cloud for a variety of tasks, from data storage to gigantic computing. The Serverless architecture is quite new even for the reality of the IT world.
The article shows the differences between standard and serverless approaches.

My questions:
1.Have you heard about this paradigm?
2. Do you think this is the future of some kind of application?
3. What is your idea for applying this technology?

21 comments:

  1. 1.Have you heard about this paradigm?

    I have heard about this paradigm, if I am correct there are systems with serverless architecture such as Centum, DeltaV, Metso DNA, Freelance and Symphony +. Such functionality is offered by Amazon, Google, Microsoft and many more. This is based on functions that can respond to requests and process data based on events. In my opinion there is not enough operational tools for debugging and monitoring. As a developer I would say that it is not efficient for long-running applications.

    2. Do you think this is the future of some kind of application?

    For some kind of application it might be the future. Developer can focus on applications instead of the infrastructure, can get the flexibility of scale and pay only for the resources that is using. At the same time, as we can read in the article it is important to focus on security. As with any cloud-service there are some obstacles. There is a bit of hassle with that in my opinion. Personally I don’t think I am going to use such solution any time soon.

    3. What is your idea for applying this technology?

    This technology is used most often when building solutions based on micro-services. I think that such solution only increases complexity. It can be used whenever developers want to reduce time to market and operational costs. At the same time when we use third-party services and eliminate configuration of physical servers or virtual machines, we are dependent on specific service provider.

    ReplyDelete
  2. 1. Have you heard about this paradigm?

    Yes I have. If someone is into software development (I am), he just has to know the trends. At least briefly.
    I think one of the first articles I found about this paradigm was also connected with A Cloud Guru. I remember they cut the costs going Serverless on AWS (with AWS Lambda of course).
    I think Serverless is a natural consequence of Microservices Architecture. When the service is supposed to be small and to do one thing well, it can be converted into a single function.
    On the other hand, I was surprised with the numbers presented in your article. "95% of the code-base resides in the front-end". Really? I didn't expect that.

    2. Do you think this is the future of some kind of application?

    Cloud computing is the future, so all the things allowing paying less for AWS, Microsoft Azure, etc. are the future ;)
    I think Serverless can help all kind of modern applications, where fault tolerance, responsiveness, etc. are crucial.
    Also, I think programming languages like Erlang, Elixir (built on top of Erlang) and other functional ones where Serverless-like before it was cool ;) and Erlang was created to handle huge traffic e.g. in the telecommunication systems. WhatsApp is also written in Erlang, so I think this kind of applications can be written with the Serverless paradigm in mind as well.

    3. What is your idea for applying this technology?

    As I mentioned, it can be used in all the responsive and fault tolerant applications, which has to deal with a huge traffic.

    ReplyDelete
  3. 1. Yes I have and I agree with Cezary that it's not efficient enough for long-running applications.

    2. Of course it is. Cloud computing is one of the most important trends in IT development. And Serverless is characterised by one of the most important thing for the world of business - it's cost effective. However, it might not suitable for certain business branches, as one of its most significant flaws is security.

    3. At the moment nothing innovative comes to my mind.

    ReplyDelete
  4. Thank you for an interesting article, I have heard about it recently. I think this is a little revolutionary but a very interesting concept. At the moment there are not many applications yet - but it's a matter of time. As far as I know, this is a relatively new concept that has already some applications. I think that it has an enormous potential. Regardless of the field when there are a few innovative solutions, at the beginning the interest in them is relatively small in them - then it starts to grow rapidly and when it reaches its maximum, it decreases gently. I believe that this technology would work perfectly well in database solutions where data is relatively independent of time.

    ReplyDelete
  5. This is kind of a buzzword, which is a misnomer and creates a feeling that serverless approach is a new trend when we are moving the application to a client, and we don't need servers anymore. And in the end, the author is writing that "this doesn’t mean there aren’t any servers.". Of course, we do need them for core operations. Only thing is that all of the services (Auth0, S3, AWS. Firebase, Stripe), gives us REST API which we can talk in JSON, which is very comfortable for JS programmers. But I do agree that this is a good approach- from my experience; my company also creates applications in that model and they work well. Nowadays, frameworks like Angular or React provides good "backend for frontend" applications, that helps us to organize business logic on the front, so the job could be done faster and relay on well-designed backend environments.

    ReplyDelete
  6. 1. Have you heard about this paradigm?
    I have not heard this term but software architecture was never my interest. Reading this article I have similar felt as the previous commenter that this is just a new word for something that already exists.
    2. Do you think this is the future of some kind of application?
    I think it is. Modern devices can handle more computations than before so there is less need of doing that on the server side. It could be also faster to run most of operations on the client side. Probabl, companies will save money on less number of servers.
    3. What is your idea for applying this technology?
    It could be applied everywhere where it is safe to run code on the client side. As it was mentioned in the article it should not be used in online payments.

    ReplyDelete
  7. 1.Have you heard about this paradigm?
    Yes, I have heared this wording. It is not my area of interest but I like to broaden my knowledge in all areas, so thank you for interesting article.

    2. Do you think this is the future of some kind of application?
    I think this is very useful technology for storing data which can not be lost. As I know you can easly make a copy of some part of data and store it as backup in geographically separated places. Of course security is a problem to be solved.

    3. What is your idea for applying this technology?
    I think it is a great idea for data scientists not related with any company or university. They can easily store their data and relatively cheap gain access to almost not limited computational power.

    ReplyDelete
  8. 1.Have you heard about this paradigm?

    Yes I heard about this paradigm. As Cezary said this solution is offered by Amazon, Google, Microsoft and others.

    2. Do you think this is the future of some kind of application?

    Not so long ago there was big hype on microservices, now on other technologies like this. I don't think that this will be the future of software architecture. One big con is that, that ~95% of code resides in frontend. Frontend is usually thing that is changing most often in application, so you can imagine that creating application in this solution and then changing it, because some new software come out, can be very expensive.
    I am not fan of microservices so this solution is also not for me :D.


    3. What is your idea for applying this technology?

    I think that you can apply it wherever you want with exception of application with huge amount of business logic ie. Bank/Insurance Backoffice apps and others.
    If you are fan of microservices this should be your next step.

    ReplyDelete
  9. 1.Have you heard about this paradigm?
    Yes, but it's still based on servers. So it's not entirely true in my honest opinion. Still, it's worth to consider using it for new projects. With a bit of knowledge you can get far cheaper infrastructure than you would by buying hardware.
    2. Do you think this is the future of some kind of application?
    For some kind, with a proper preparation for most of new applications. We can always make hybrids, right?
    3. What is your idea for applying this technology?
    Generally, same as with using cloud in broader perspective. It's worth to use it, but it is still hard to transfer all of the infrastructure into it. We can migrate slowly or decide to ditch an old application and write or buy new one. It's about changing our mind set. There is always a problem with security and confidentiality of our data.

    ReplyDelete
  10. I'm not sure if it's exactly the same paradigm but it looks like the way mobile applications are built. A programmer doesn't have to include all the functionalities in her app, but just call other applications or services already installed on a phone which will perform required actions. It helps to make a software extensible more easily.

    It's already widely used so I think that as long as a problem allows some dependency on 3rd party solutions more and more developers will choose it as a preferred solution.

    For the last question, I think that the Google cloud platform can be very inspiring here. Using it you can easily create a program that would, for example, detect text on a video input, translate it in a real time to the language of your choice and display the video with translated text. Then you could use another service and for example retrieve images associated with the detected text. As everything would be computed in the cloud you could run such a program on your mobile. It would be perfect for translating menus in exotic restaurants. I usually don't have too much luck with and get something barely edible when ordering randomly.

    ReplyDelete
  11. Hi everyone!
    1. I’ve heard about the issue discussed, but I didn’t examined it too deeply yet. I suppose the disadvantages of the idea are connected to possibility of additional latency, resource limits imposed by the cloud providers and problems with debugging and – the most important - security.
    2. In my opinion this is the future for many applications and solutions for many reasons. The main advantage of the idea is better cost-effectiveness, because this way we can avoid renting or purchasing a fixed quantity of servers.
    Apart from that, the units of code exposed to the outside world are simple functions – that’s why the programmer usually does not have to worry about multithreading and it simplifies the task of back-end software development. As a result, the solution binds up all your tasks of different nature, magnificently managing and interlinking them
    It is user-friendly, the users don’t need to have any special IT skills to work on it. Additionally it shal improve productivity and efficiency of administrators.
    3. For me, the first idea is education – because there can be only advantages of using severless technologies there, security is not a problem, like for example in other solutions, like those, which could find their applications in e-mobility.

    ReplyDelete
  12. Hello!

    Have you heard about this paradigm?
    I've heard about serverless architecture for the first time when Amazon was announcing its AWS Lambda service. I think about it as a natural progression in architectural decoupling: monolith → SOA → microservices → serverless. I guess it's kind of unavoidable, especially with recent rise of extremely light virtualization (https://doi.org/10.1145/3132747.3132763)

    Do you think this is the future of some kind of application?
    Of course it is. It's a great thing once we realize new products should not be created to handle google-scale loads from day 0. Serverless functions, that are mostly sleeping (we have not that many clients yet...) and can be spun up in milliseconds to handle event, no management/provisioning costs, being charged only for actual running time - are great for start-ups.

    What is your idea for applying this technology?
    I think once we'll get beyond the saddle of famous hype curve, one of main applications would be processing events from IoT devices - especially low-powered sensors, which get online only once in a while to upload collected data.

    ReplyDelete
  13. 1.Have you heard about this paradigm?
    Yes I've heard about it on Docker conference. First we have got containers technology and than we got to the point where we are talking about serverless architecture where you don't have physical server you just use services which are being executed in containers or 3rd party services like Amazon Labda.
    2. Do you think this is the future of some kind of application?
    Yes I think this is a future as we will migrate from managing physical servers or operating systems to managing microservices and PaaS operator will take care about hardware.
    3. What is your idea for applying this technology?
    Any application can be build using micro services and serverless application.

    ReplyDelete
  14. 1.Have you heard about this paradigm?
    Yes I have heard about this approach, and its most popular examples such as AWS Lambda or Azure functions.
    2. Do you think this is the future of some kind of application?
    I my opinion this approach is rather suited for rapid prototyping and idea validation but it os hard to imagine ti use this in large production ready solutions because it is vendor dependent.
    3. What is your idea for applying this technology?
    As I have mentioned above this could be good for prototyping of ida validations because of short time to market but in a long term I an not finding commercial solutions for this.

    ReplyDelete
  15. 1.Have you heard about this paradigm?
    Yes, I have but not in this shot. As it was mentioned in the article, this solution is based on the client-server architecture so it isn’t “serverless” at all. I’ve heard about peer-to-peer solution – it is a real serverless technology.

    2. Do you think this is the future of some kind of application?
    It may be but I don’t think it will be a breakthrough. Layer reduction is undoubtedly attractive but entails problematic security issues. Nowadays we use such solutions offered by, for example, Google company.

    3. What is your idea for applying this technology?
    Nothing else besides the micro-services. This technology can be used for richer, more powerful applications on our mobile devices however I don’t think that they will be very popular services.

    ReplyDelete
  16. 1.Have you heard about this paradigm?
    Yes, I have heard. As it has been mentioned it is offered by Google, Amazon, Microsoft and many others.
    2. Do you think this is the future of some kind of application?
    I think it is a future of some kinds of applications. I have some experience with SAS software and one of the recent trends is SAS Viya. So far, customers where buying software with appropriate hardware. However, some customers are not willing to pay for servers and set up whole infrastructure. It is also a meaningful expense. It is much cheaper to use Vyia platform as a service to cut the costs.
    3. What is your idea for applying this technology?
    Any idea which is cutting costs and applicable for particular users/businesses.



    ReplyDelete
  17. 1.Have you heard about this paradigm?

    I did not hear about it. I am not especially interested in IT infrastructure, so I am not up to date with all the new ideas and technologies in this area.

    2. Do you think this is the future of some kind of application?

    For some kind it will be a future. Every company tends to reduce its costs and the cloud or serverless infrastructure enables it. The flexibility and scalability of available resources is also an advance.

    3. What is your idea for applying this technology?

    I am not able to give you specific examples at this moment, but I am sure there will be a lot of interesting applications created based on serverless technology.

    ReplyDelete
  18. Hey,

    I think that for the first time I've heard about this paradigm during your presentation on PhD workshops. As Emilia, I'm not interested in IT infrastructure, but it seems interesting and I hope to hear in the future something more about development of this technology.

    Some people have pointed out that there might be some security issues that can block growing popularity of serverless architecture. Now, when we need more and more computational complexity to cypher even simple requests, it can be problematic to ensure security of all serverless communication.

    Even though I am not an expert, I believe that this technology can be applied in IoT systems.

    ReplyDelete
  19. This comment has been removed by the author.

    ReplyDelete
    Replies
    1. Hello, sorry for my late answer but I had an issue with Internet access. The problem was solved couple hours ago, so I post the answer right now :).

      1.Have you heard about this paradigm?
      I have heard about this paradigm and it is very interesting idea. I am not sure is it something completely different then present solution. Nevertheless sentence: “It has been extremely fast to build and continually improve, and it can scale like mad” sounds like commercial… Each “new / fresh idea” looks perfect in couple projects. Unfortunately it is extremely hard to fit it to each project that we have to develop.


      2. Do you think this is the future of some kind of application?
      I believe it can be and couple of existing applications use this kind of “schema”. It looks like a framework with ORM, where we have a database working in a background, then ORM which works as middleware between application layer and database engine. API is on the top of most applications :)

      3. What is your idea for applying this technology?
      This solution (as someone wrote) is an architecture for solution based on microservices. Decomposition is one of the most popular in complex apps.


      Delete
  20. 1.Have you heard about this paradigm?

    No, I have not

    2. Do you think this is the future of some kind of application?

    I think that it will be same as with other tools. It will on depend on the situation. There is no gold solution for every problem. If it will be a proper way to solve particular problem, it will be used.

    3. What is your idea for applying this technology?
    I think that it is too soon to answer on that question.

    ReplyDelete