Dom Ceja Journey of a Software Engineer

Serverless architectures allow for building and managing static client based applications and single page applications that leverage connecting APIs and their widgets to perform all the heavy lifting of managing infrastructure that was once needed to provide client/server architectures. Gone are the days that developers have to provision, scale, and maintain servers. Now you can think of an idea, write your code, test your code and push that code to your remote repository. The rest is history. Sounds a bit unicornish, huh? This article will provide a brief summary of the different components that can be leverage within the overarching concept of serverless computing.

Advantages

  • Outsourcing solution
    • from a business standpoint this is all about Capital Expenditures and Operation Costs with the reduction of infrastructure costs and devops costs
    • we can leverage a business concept called Economics of Scale
  • Zero System Administration
    • as a developer, playing the role of a sys admin takes away from my creative flow and tinkering as a developer
  • Scaling
    • your simple idea becomes a very popular, horizontally scaling your app will be automatic, elastic and 100% managed by your chosen provider

Disadvantages

  • Debugging
    • can be very challenging as your code relies on many third party APIs
  • Security
    • leverage the client to provide majority of the heavy lifting increases your app’s attack vector
  • Vendor Control
    • this is a big disadvantage as costs can change, API updates, system downtime, loss of functionality and limits

Happy Coding

Comments