Transcript
This transcript was autogenerated. To make changes, submit a PR.
Hi and welcome to this presentation on Webiny,
your opensource foundation for building serverless applications.
My name is Sven and I'm going to guide you through this presentation.
To get started, there's going to be a quick intro about
me and then I'm going to talk about serverless in general.
We can't really talk about Webiny unless we talk
about serverless. And after that I'm going to explain
to you what Webiny is and how it can help you both
as a developer as well as an organization, adopt serverless.
So I'm the founder of the project. I'm a developer
by my background, but I'm also an entrepreneur. You can
find me on Twitter in case you want to connect.
So what is serverless and why
does it matter? Well, serverless for us
developers is going to change many things,
how we build as well as architect applications.
And serverless brings many benefits. First of all,
there's no service for us to manage. Sure there are servers
behind it, but they're abstracted away. We do not access them,
we do not care about them. We do not care about how they scale in
or out, the load balancing the networking in between and all that.
We just deploy our code. But serverless also
the way how we consume services, we pay for what we use
or the other way around, we stop paying for things we do not
use. Today in the traditional infrastructure,
there's so many idle time and underutilized
resources that we're paying with serverless that ACL goes away.
And because there is no infrastructure, we can spend more time
on the actual product. We get faster to the market. And again,
no infrastructure means no scaling headache. That is done
under the hood automatically for us.
Because of these many benefits serverless brings,
many enterprises are adopting serverless today
at a rapid pace and they're reporting back on what they're
seeing in terms of cost. Some enterprises cut their
build by half while others cut their bill by like
60 70, all the way up to 80%,
which is tremendous.
Vinescent serverless allows us to spend less time
worrying about infrastructure, how it works, how it scales,
how to orchestrate it, and gives
us back more time that we can invest on solving business
problems.
But serverless comes with many challenges.
So there was a survey done by O'Reilly on one
gives hundred different organizations on why they haven't
adopting serverless, or if they did, what are the challenges they're facing
and how are they going about adopting serverless?
So if we focus here on the first question,
like why organizations haven't adopted serverless these first two
are tightly coupled. So these are big security concerns.
But those concerns are driven by the fear
of unknown. You can really secure something you
do not understand. And that fear of the unknown
is driven by the lack of experience. Developer teams
have not been exposed to serverless offering
and infrastructure prior, so they do not know how to build
things for serverless and they do not know then how to put these
proper security measurements in place.
Now if an organization has adopting serverless,
the challenge they're facing is educating current staff.
Like maybe there's a small pocket of engineers that has adopted
serverless within that organization, but how do you
educate everybody else? How do you scale that again?
Also how you build your application and how
your application interacts with the serverless infrastructure,
it's often leading to heavy lock in. You can't
really changing your cloud vendor which can be a negative thing.
And because serverless has many services,
these requests go through many different jumps
and contact many different services along the way. It's super hard to
test and debug all that. And on the
last one, how do organizations build serverless applications
today? By far they are
building custom tooling. So if you go back to that
benefit, that serverless actually cuts down the development time.
It does in the fact that it reduces the overhead
that infrastructure management brings.
But what you've saved there
you're going to usually removes here. So it's not
going to be a big benefit at the end of the day potentially for you.
And that's where Webiny comes in. Webiny is
can open source project and we like to say that Webiny is the
easiest way to adopting serverless. So to
explain where Webiny sits, I'm going to focus
on this image here. It's essentially an illustration of
your application stack. At the bottom of your stack you have
your infrastructure providers, your clouds, AWS,
GCP and Azure for example.
Then you have tools and third parties that
you use for deployment monitoring that can be anything from
serverless framework to AWS cloud formation
to Lumigo for monitoring or thunder similar things.
However, these guys here, they do not help
you build your application. They help you orchestrate
and monitor. But when it comes to actually building it, that's where
Webiny is. Webiny sits on the application layer and Webiny
provides many different components to help you build a serverless
application and in general adopt serverless. I'm going to dive
a bit more into them in the upcoming slides.
Webiny in terms of how you build things with Webiny,
how Webiny was built, we are pretty much on the JavaScript stack,
so we use node on the backend and react on the front end.
We also use a GraphQL API layer in
terms of a database. Webiny today runs on MongoDB,
Atlas in particular, but we have an abstraction layer
in how we interact with databases and are already working on
adding more databases. The first one on
our list at the moment is Dynamodb. It's going to hopefully come
in the upcoming weeks or months and Webiny
is also designed to work on multiple clouds.
To date runs on AWS, but again there are layers already in
place and later on we plan to add GCP and Azure
to the list. So to
emphasize webinar is fully free and open source.
We got an amazing community of people contributing to the project
and I want to just give a shout but to them and thank them.
And I also want to invite new members. So if you like what we're doing
here with Webiny and want to be part of it, welcome to join. We would
be super happy to have you.
Now as our mission is it's
ACl about empowering developers as well
as organizations to create serverless application in general.
Adopt serverless. So how
do we go about that? There are a couple of parts to Webiny.
First of all, we have a webframework that is the
code, that is the main product we have. It's all
about creating and deploying serverless applications with ease.
Then we have an admin UI which you
can use if you want an out of the box front end,
and then you can pretty much just register your modules
and quickly build additional
interfaces for your business logic for your applications.
Webiny also provides you several readymade applications out of the box.
So besides the foundation for building serverless
applications, we actually took the foundation and built several applications
on top, ensuring that we
have a product that can suit multiple use cases.
Finally, Webiny provides you documentation. It's all about
guides, tutorials, reference manuals, so you can educate
yourself and team members on how to actually consume webiny.
Now I'm going to dive a bit deeper into each of these.
So in terms of the framework, there are a couple of
components to it. First of all, there's a command line interface that we
have, and that interface helps you deploy applications
to the serverless infrastructure. It has a
support for multiple environments so you can have pre prod
prod changing and so on. Then we have a
GraphQL API layer that's part of the framework. It's powered
by Apollo Federation, figuring that you can kind
of have microservices that each
microservice exposes its own schema and
then these Apollo Federation kind of merges all together and exposes one single endpoint
to the end consumer. It's all done automatically for you.
And these, there's a ton more right from
routing to server side rendering,
access control, CI CD support. So many
things are a part of our framework, but people
often take these things for granted and
think like, oh, I'm just going to do it myself in the serverless environment.
But these things work quite differently inside
the serverless infrastructure than how they
work on a typical virtual machine or a container.
Now, as a second bit that webinar provides,
I mentioned the admin UI. So the admin
UI, you can see like a screenshot of it here. It's all built
using a set of reusable react components,
and you can use those same components to build
your interfaces, but you do not need to. You can use only the webiny
backend side, but those react components, there's a
significant library of them from buttons,
tabs, accordions, drop downs.
You get a whole set there and it will cut down your
development time significantly. And also, if you
look at the screenshot here, everything you see is actually a
plugin in these admin interface, like this menu is a plugin,
this logo is a plugin, and each plugin you
can changing, you can turn on or off.
Essentially you have full control of everything
you see here and you can change it
to fit your need without the need to do any hacks or bend
the system to your will. It's designed to be changing
and extended. And the most important feature of
all, webiny has a dark mode. So a lot of users actually
are happy about that one.
Finally, what I'm going to mention in bit more detail are the webiny apps.
We've got a couple of applications. So here we have a page
builder which is designed to build serverless landing pages.
Essentially a drag and drop tool where you drag and drop react components,
but to emphasize the fact that those are react components,
not static HTML snippets,
meaning that you can drag and drop business logic. You can build your
own widgets, components and business dashboards using this tool. It's quite
powerful in the way how you can extend it.
These you can also build forms, drag and drop interface for
building forms which are also fully mobile responsive. There are triggers,
webhooks, exports, a lot of
features are there. And once you build a form, you can use the page builder
to then drag and drop a specific form into particular
page. We also have a way to
manage files. You can upload any type of a file,
but if you upload an image, there's also an added processing pipeline
that's going to create thumbnails, resize the image to any dimension
you need it. And there's a built in image editor so you
can crop, rotate, resize images on flight right
away from the interface. And again, this all runs on top of serverless infrastructure,
so it can scale and handle big amounts of data without
the need for you to do anything. It's out of the box.
And finally, I want to mention one of our last
applications, which is a headless CMS. So it's a full on graphql
based headless CMS. Content modeling supports multi
language, you can have multiple environments, environment aliases,
it integrates also with the file manager.
So you can quickly bootstrap an API
for your next project with this. And it's going to run using
serverless infrastructure, massive scale,
but if it's idle, you won't pay a dime for it.
And going back to those serverless challenges,
so how Webny addresses them. So you can see
here, because Webiny removes the fear of the unknown, it's a
deterministic platform, you know how it behaves,
you know what are the access endpoints,
how the requests are routed. You can
be certain that you have a good understanding
of it. And because you have that now,
you can put proper security in place.
So it solves pretty much top two points here. When it
comes to the challenges after adopting,
because Webiny comes with the documentation, the gives
tutorials, it educates your staff, your staff
has everything they need. On our documentation portal,
as I mentioned, Webiny has abstraction layers towards cloud providers.
So a vendor lock in is something that's
an inherited feature of the platform that just
goes away for you. And the fact that you need to test and
debug Webiny has built in processes for that,
it makes it really easy for you to do.
Finally, how you build serverless applications we eliminate
the need for custom tooling. Webiny has can end to end
list of features that it offers you. So you do not need
to reinvent the wheel, you do not need to build new tooling.
And with Webiny you can build many different things
from websites to APIs to applications in
general, any type of a microservice to
finish off. Again, everything I've presented
here is fully opensource.
Webiny is licensed under the MIT license and
you can check out the full source code with all the details
on our GitHub. And we would like love. If you would go there
and give us any feedback on how we can improve the product.
For any kind of additional information, you can find them on
our website. I really hope you enjoyed this platform.
You can reach us as a team on Twitter.
You can reach me directly in case you have any questions. We're more
than happy to assist you. Thank you.