Conf42 Open Source Showcase 2020 - Online

- premiere 5PM GMT

Webiny - your open-source foundation for building serverless full-stack applications

Video size:

Abstract

Serverless infrastructure is changing the way how applications are architected and coded. However, today there isn’t a framework that you can use to help you build and architect your serverless application. Webiny is here to solve that problem. It’s your serverless foundation.

Webiny is an open-source framework for building serverless applications. Webiny is coded 100% in JS, with React.js on the frontend, and Node.js on the backend. Webiny gives you a blueprint to code your first serverless application, but without the pains of figuring out how to do proper routing, SSR, a file system, ACL, DB connection pooling and much more - these things behave differently when using a serverless infrastructure. Essentially Webiny removes the risk of adopting serverless.

Summary

  • Sven: Webiny is your opensource foundation for building serverless applications. What is serverless and why does it matter? Sven: Because there is no infrastructure, we can spend more time on the actual product. Many enterprises are adopting serverless at a rapid pace.
  • A survey done by O'Reilly on one hundred different organizations on why they haven't adopted serverless. The challenge they're facing is educating current staff. Webiny is an open source project that helps you build a serverless application. If you like what we're doing and want to be part of it, welcome to join.
  • Webiny is all about creating and deploying serverless applications with ease. Webiny also provides you several readymade applications out of the box. Finally, Webiny provides you documentation. It's all about guides, tutorials, reference manuals.
  • The admin UI is built using a set of reusable react components. Each plugin you can changing, you can turn on or off. And the most important feature of all, webiny has a dark mode.
  • Webiny is a drag and drop tool designed to build serverless landing pages. It also has a headless CMS that runs on top of serverless infrastructure. Everything presented here is fully opensource and you can check out the full source code on GitHub.

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.
...

Sven Al Hamad

Coder @ Webiny

Sven Al Hamad's LinkedIn account Sven Al Hamad's twitter account



Join the community!

Learn for free, join the best tech learning community for a price of a pumpkin latte.

Annual
Monthly
Newsletter
$ 0 /mo

Event notifications, weekly newsletter

Delayed access to all content

Immediate access to Keynotes & Panels

Community
$ 8.34 /mo

Immediate access to all content

Courses, quizes & certificates

Community chats

Join the community (7 day free trial)