API & Microservices
Tuesday, November 17, 2020
All successful APIs have one thing in common: users. And users need tools, including an API Explorer. Join us to see how the Google Blockly library can be used to create an easy to use graphical block-oriented API Explorer that works well with any API, including those with deeply-nested API objects.
RESTful APIs have been around for a while now, but they are flawed. Things like non-standard CRUD operations, response validation, error handling, in-memory state management, etc. just get really hard. In this talk, you will learn how GraphQL - a standard that unifies server and client communication - comes to save the day, and why the tooling around it is a game-changer.
We will answer the following questions. What is the philosophy behind GraphQL? How do you architect a scalable schema? How can GraphQL boost productivity? How can you avoid common pitfalls?
We will then get a GraphQL server up and running while focusing on exploring real-world patterns for architecting our schema. We will discuss and implement practical steps to improve query performance, error handling and caching.
There is a strong demand for using Rust to write web services and applications. We need a fast and safe execution engine for Rust programs on the server side. WebAssembly could fill this role. In this talk, we will introduce open source tools and frameworks that enable WebAssembly and Rust-based microservices.
The Rust programming language is Stackoverflow’s most beloved programming language for the past 4 years. As it's adoption reaches beyond alpha developers writing system software, there is a strong demand for using Rust to write web services and applications.
Originally created by Mozilla, Google, Microsoft, and Apple as the next generation code execution engine web browsers, WebAssembly is the ideal execution engine for running Rust applications on the server side.
Compared with low level virtualization containers like Docker, WebAssembly is lighter, safer, and easier to manage. WebAssembly is supported on almost any computer operating system today. WebAssembly bytecode applications can just run anywhere. There is no need to package an operating system inside your virtual machine like Docker does.
Being a bytecode virtual machine, WebAssembly has a well-designed security model for accessing hardware. It is a lot harder to crash or do dangerous things in WebAssembly than in a native environment like Docker.
In this talk, we will review recent open source innovations that bring WebAssembly-based services to the market. We will provide a live demo on how to create and deploy a Rust application and deploy it on WebAssembly as a microservice. Topics we will cover include the following.
* Introduction to Rust and WebAssembly
* The case for WebAssembly on the server
* WebAssembly implementations that are optimized for the server side
* Dependency Injection container for WebAssembly
* RPC services for WebAssembly
* A complete stateless microservice example in Rust
* A complete stateful microservice example in RustPRO SESSION: Rust and WebAssembly Powered Microservices
Wednesday, November 18, 2020
Microservices is not a buzzword but Observability is. With cloud native microservices architecture, the hard failures are almost eradicated, and we live in the era where soft-failures are new normal. At the same time, enterprises are also interested in reducing those soft failures. How do we do that? How does Observability help in reducing those soft failures? This session is targeted to demonstrate the key elements to be added in each stage - Development and in Operation (Dev-Ops) cycles so that we can build Observable Microservices which will enable better workflows for debugging, performance optimization, and fire fighting