This is part 3 of 7 in the series "7 modern trends every IT pro should know about"
This part introduces the concept of serverless architecture in the cloud.
3. Serverless is a major shift in deployment paradigm
that is radical and will affect even how front end is
built to interact with this new backend architecture.
cc: Doug Kline - https://www.flickr.com/photos/26728047@N05
4. Serverless architectures remove the need for the
traditional 'always on' server sitting behind an
application. Such systems can significantly reduce cost
and complexity.cc: szeke - https://www.flickr.com/photos/43355249@N00
5. Behind the scenes there are servers, but you never
need to think about them. No more capacity planning,
deployment, scaling, installation, patches...
cc: Leonardo Rizzi - https://www.flickr.com/photos/29479498@N05
6. Serverless is often seen as NoOps or LessOps, but
really it’s DifferentOps. Code still needs to be
organized, developed, built, tested, versioned,
released, logged, and monitored.cc: Matt Moor - https://www.flickr.com/photos/23271214@N02
7. Serverless implementations comes in 2 architectures:
BaaS (Backend as a Service) and
FaaS (Function as a service)
cc: Tom Raftery - https://www.flickr.com/photos/67945918@N00
8. BaaS (Backend as a service)
refers to third-party services that replace entire
servers and back end functionality in apps.
cc: sponki25 - https://www.flickr.com/photos/147079914@N03
9. One good example of BaaS is Firebase which is a
hosted database solution that takes away the need to
provision backend database and data processing
server.
10. Instead of the client side talking to server code
that in turn talks to a database, the client directly
talks to firebase.
11. BaaS based apps rely on third party backend services
and tend to move much of the functionality and
processing to the front end.
12. FaaS (Function as a service) refers to custom code
that's run in ephemeral containers. You just write the
code function, upload it to the FaaS provider.
13. Whenever the code is triggered by the
specified events,
the code is run on-demand.cc: ST33VO - https://www.flickr.com/photos/94299816@N00
14. A jvm or other environment is quickly spun up to run
your code and after the code has finished it’s task, the
instance just dies - waiting to be called again by an
event trigger.cc: Diluted - https://www.flickr.com/photos/24978846@N00
15. Your function can be written in any language
supported by your provider. Each provider has its own
set of supported languages, conventions, procedures,
costs, capabilities...cc: JanneM - https://www.flickr.com/photos/37921614@N00
16. The most popular FaaS service is Lambda by Amazon
Web Services but now others are entering the fray too
like Azure Functions, and Google Cloud Functions.
cc: darkismus - https://www.flickr.com/photos/10681974@N04
17. With FaaS, you are paying for consumption and are
charged only when your function runs. You never pay
for idle compute time.
cc: Thomas Hawk - https://www.flickr.com/photos/51035555243@N01
18. There is a big boom in Serverless deployments
currently. But there are some disadvantages too with
serverless in its current form which could limit it’s
growth.cc: Old Shoe Woman - https://www.flickr.com/photos/83955435@N00
19. Current challenges to the
growth in serverless
architectures:
cc: DVIDSHUB - https://www.flickr.com/photos/28650594@N03
21. So where would the state go? In BaaS it is
mostly shifted to the client which has its
own limitations.cc: Yu. Samoilov - https://www.flickr.com/photos/110751683@N02
22. In FaaS, all you see is a function, there’s no
place to store state. When a function is
done executing, its compute resources can
be garbage-collected and reused. State
must be stored in some other service like a
database or a cache.
cc: kjetikor - https://www.flickr.com/photos/43642098@N06
23. With FaaS, since the state is
persisted in databases - This
too introduces its own set of
problems.
cc: Oracle OpenWorld San Francisco 2009 - https://www.flickr.com/photos/43156897@N06
24. There are restrictions on execution time which can
limit the functionality of serverless. For example
Lambda has a cap of 5 minutes for running functions.
This might change in the future as serverless providers
improve their technology.
cc: Leo Hidalgo (@yompyz) - https://www.flickr.com/photos/69474058@N03
25. There is latency and inconsistent performance on the
FaaS side. This is because servers need to be spun up
in real-time and depending on the frequency of
function calls and the resources it needs, there could
be latency issues.
cc: pineapple palace - https://www.flickr.com/photos/76912924@N00
26. Serverless implementations are not CI/CD
friendly (Continuous Integration/ Continuous
Delivery)
and do not integrate well with automated
development processes and workflows.
cc: Public Domain Photos - https://www.flickr.com/photos/28958738@N06
27. So, will Internal Sys Admins soon be a
thing of the past as the popularity of
Serverless soars? What do you think?
cc: weesen - https://www.flickr.com/photos/36317426@N00
28. Part 4/7 - Coming Soon.
cc: yourbartender - https://www.flickr.com/photos/10164012@N00