Bestand wählen
Merken

Serverless Applications with Chalice

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
I hi everyone my name is found that and I'm a software developer at Amazon Web Services where I primarily focus on focus on developing Python can't client-side tooling such as data why Davis St caper python arsonist but a 3 and a Python Magritte framework for developing service applications known as showers and today we're going to talk to you about is how you about writing service applications using jealous yeah to start what I wanna do is go over an outline of wanna talk about 1st time to give an introduction into service cations I talk about what they are why you care about
them a given introduction to Challis so getting started a chalice and the core concepts then I'm going to go ahead and actually have a simple application show you how you can build from the ground up using shells features so before I talk about what
exactly the service application is when we talk about why you care about in the benefits of
service applications to start service of occasions mean you're not managing a provision servers so that's less of a Dev Ops load for you next you only paying for the execution runtime for your code so if you manage your answer restore paying for the server to be up and running by even if there's no could run is still paying the cost and finally did scalability so in terms of service applications are usually used by service and handles all the scaling for you so you have to worry about load balancing to meet their requests needs of years you're saying for your service application so now we talk about what exactly service application is so here we have just a client and a server and server we just have a simple Hello world function running when a client sends a request to the server FIL read go ahead run the code in reply back with Hello World so with the service application this all complete goes away and it gets replaced by a service such as it was and it aside as a service format for hosting your Service applications what happens here is you have a bunch of code you uploaded to its land and it centers store that code for you so that when you make a request in the center of the head and execute that code and return the response
Hello world back for you so the key part here is in that you're on the server that you know managing editor anything it'll have a it is saying in all handled
all the scaling for as well so now with a brief introduction of what Service applications are when you
talk about a chalice so jealous
is an open-source Python uh micro framework for managing service applications on a bus slander and integrating the service applications with other resources in your cloud so get a better
idea of what charles can do is go over a common use case you shells for in that comes with rest CPIs so with a typical REST API you sending a resource for request so use and you get to the root path of the API and you'll get a rigidity response back or maybe you send a requests to the resources component and you get all your resource back from the rest EPI or maybe wanting change to method may be wanna put a specific resource interior PI in to apply that this response so the way that's it takes it land it uses as the back-end your core functionality for your REST API and another
service called amazon UK gateway which is essentially a front door for your Service application attending the spear questioning this response is handling the throttling and that any often indication for you so now if you send this request here of this setting is and you get away as an
AKG will then invoke during the function a run your code and return a response back to his anti-gay way giving you needs to response back OK so now what the Itti's
can take a look at this simplified version of howard set up it looks pretty simple
adjusted to wait directional relationship but reality if you to go ahead and start this from scratch it's a little more complicated and that in reality you need to worry about say
but I'm role for your land function so you know what permission to have you need actually to decode dependencies if it up and said it's pretty function it decrease wire documents to create your recipe I presented today weight and we could all together with that by adding permissions for Amazon E UK gateway to go ahead and and and locating pre-deployment seeking you hit it with a
dispute request that further Callisto is that you really have to worry about this in a few years but he ended up to go the consul you have these or CloudFormation template but shells handles the self or you allowing you to focus on the actual Python aspect of your application so what I have here is a
video of hiking and started jealous
of life has been a little spotty so I was in July demo but in order to save some time if case says things don't go as planned so I have this video being ran the superseded pip install chalice by using pepper Saltash's pre and brain shows is 1 . 0 beta so you need to provide and once you do that
you can go ahead and run shows new project and I'll get you started with a new printer shells project applications application will create a new directory inside the structure and you'll see it's files there's an app up the why in a promise that text
the recurrence of text initially set to start and that is where you specify all dependencies for you Charles application so what happens a chalice is that if you specify dependency
in your grammar so text so go ahead and download dependency when setting you deploy package to lambda so the 2nd file that up PY file is where all your core functionality exists if I open it up right here in this it's actually very similar to the familiar flask where you create an app objects and you go ahead and specify routes for that up so right here registering a route out so that we FHP request is sent to investigate the index function brand in return Hello World so let's go ahead and she just quickly just to point this out using
a chalice so as this chalice apposed employed 1 thing on mention this is well this application is just saying hello world this is a production-ready application you can you can send as many requests you want an avis land was still up for you and they will handle any incoming requests the so once is going be done deploying it will go ahead and there's 1 more thing remained even order starting at the API and
that is a Python library called HDP private-sector premotor command line tool for making each bequest from the command line so if I go ahead and actually french uh
0 I can see them API you're is again go ahead and copied and send a GET request
to my API and you can see returns back Hello world cool so now we can do is if I
want more out some application going to map PY file in go ahead and add new route so for example I'm going to go ahead and add the throughout to this application so that if they get request is made it through I will go ahead and run that through function now return to the so now once they have that uh updated I can go ahead and run just apply again and I'll update
my the function and I should be ready to go and actually are using this new opted to my API so now and again I you're all Quixote because they don't have memorized and I go ahead and this that and add the 2 components my path and from there will get is the expected response want back so we should return to war which does so the 2 things I really hope you guys got out of this demonstration was uh how quickly can
give you hit the ground running using just application to start using this shows you project entails deployed and also the fact that tells us having all the areas Resource Center for useractive to worry about address you just set the focus on the Python-specific logic of your application so
now what I do is go some of the key components of a chalice application and by going over the simple
up on the right so what I have here to start is a map object that create a register but 2 rats to so a stick some sample http requests and see how they have react so here were just sending a GET request to the root a path and for that happened is a match of this rout and therefore when it was it's invoked will right index function once the runs the return back hello world to the end users and anxiety they were afforded HGP response back I'm saying hello world so now let's take a gets to the research well this will match up with this rap here and run there hello your Python functions and what is wrong return hell your Python there's a it is the response back again so now it's like to look at something different now so with this request right here you'll notice that the exact path is action match up with an evil literals here in out of the y file from will happen is it actually matches up with
this rout and that's because if you provide a curly bracket in your path means it's a variable so you can write any value in our case workers providing pile as a variable the so as a result go functional Linda will run the
Helen name function returning back using the name of provided In the same parameter is passed and using the variable in the past and as a result so the value of name will be tiled in go hand in return hello Kyle back to then uses aged response so if I wanna talk about is the post so with the post what happens and you'll notice
that that uses the resource how well but it doesn't use the 2nd from the top function and that's because it's a post and the rout registered only last for poster views in the methods keyword art so by the fall if you don't specify any methods it only allow for gets so as a result it has on the data will invoke this linear function with this
and of the POS function involved if you're looking into the POS function you'll notice that users applica request the refers to the HP request that triggered the when the function indicator properties of the process the disembodied so for example you get you'll have the value j some body you actually invoking here functions so now that we need return you'll notice that the some body matches up with the actual request mn 4 so that was
just a brief introduction chalices talk about the main points I covered 1 day or certainly shells project using a rummage chasing project to you as listed the regard running and immediately deploy that just a boy if make any changes to your application all you do is run Chaucer appointing really start using it and saying it's the request to it that are out there and that allows you to run specific functions based on the to be requested path a method that you sent and finally there is the current requester property which allows you to access the curl request that you your function the so let's talk
about the simplification part this is the Kneber the doc on In my simplification what I did was I created trivia so
here is a video of me matcher react if you're interested you can go to that you're all its public uh as 3 objects a bucket ends undergo hadn't had stimulus from the video so here what happens is that
the application will well as my REST API a specific question so we'll give me the question and as was the possible answers to use and will happen now is a straight answer this question hopefully everyone knows where they currently now in case you don't know where in Rimini Italy so let's go ahead and select that answer yeah and then there is a separate API request that will now let you post answer to figure out if you got it right so of course said about posting is a remedy Italy we got that right in with the go-ahead inquiry for another answer on our REST API so now here's the 2nd question uh asking about spaces how many should be used for annotation was a completely new impact in Python and 9 steps which is obviously wrong and so that's our sample
tools and request and it will tell you that you're wrong in the the next question so let's say we have a lot of we've been answer all questions you might
keep track of a score where we are so we had this additional ability to go ahead and sign up as a user and keep and be able to log in and keep track of a score over time so we go ahead and add this as my username in file and give a password mn and then from there can go ahead and log in the so once a London wilt thou do is to be back to original question I can start answering so for this 1st edition let's say I forgot that is 20 17 of us 16 of a buildup of on which is on the wrong now with that you get this answer correct and so want to for here will we should be able to go ahead to the next question and see where current stories you see that topractice 1 2 lances 2 I can now say let's say I think a breaking go log out and resumed later so if I go ahead log out a return to me back to the original question entity
yet log n again Ch and that should take me back to were left off was that the question about desire Python so
that's the and the gist of my application what I wanna do now is actually talk about how you go about writing this
application chalice so there's 3 steps
in writing this application 1 if the were about the question answering cattle idea of getting a question and imposing that answer in order determine if to right or wrong there's levitation portions so specifically the
browser logic to make sure that you can work in a browser and in the 3rd step which is authentication uses so we will handle registration log login and will score so in order to show
the rest at the the gate answering post-injury PI undergo over this new video in which well do it is also you initial branch of Ray I the master branch as
all the prod stuff on it and using this in this way PI branches has the given posters of the strike as only later on but to can chalice deployment when interiors deployed this branch to it was slammed any way and I wanna make you make you understand that in this command I'm running I am running it with a dash stage argument so the purpose of Dessau stage is that allow
you to the combined you resource into specific stage groups so by now I have a bunch of resources running my pride applications so if you went to the browser page uh it's hitting all myprog resources if I'm gonna go ahead and deploy a to deploy new races is 2 point logic and wanted to point straight to prod right I wanna be to point to some other stage has all the resources isolated so that is what I'm doing here in 1 simple comfortable I can go ahead and appoint a prime so it and I know about him at that point home all to do is run chose
0 I with the stage you're all to show that the actual your eye that I get back is completely different from what the debt stages the so now let's actually get into the question answering part of API so if I wanted to go ahead and get a question I going to copy this you're all
and I am the prof components questions in so in terms of how we do questions and they can we get the provide a question I did the start at 1 increment by 1 each time so by running get on this year you'll get the 1st question for the trivia application so we run rerun again on that you'll see that it returns back that your Python words being held in the possible answers you can use and it didn't reply to an answer back so you have to go ahead and post a sensor these allow for post the same year I and then Warren do is include a disembodied in this post for our server to be able to figure out what the correct answer is surprised the answer key and the actual answer and once we have to add emphasis this will tell us if work correct not in which we're were correct In the case of where we select a wrong answer and we'll do a similar thing but no so let's say I put down Bilbao Spain instead for this and will happen said those tell you are right you the correct answer is actually Rimini but the you any guy for your answer wrong so let's go ahead now they have an idea of how the rest API looks at such a go at a talk about how you go about doing this
so let's imagine we have are the question API we have a question table that has over questions in order to set up a a REST API for that so when you do is stick chalice
application in between the 2 so that if you send a GET requests uh we for its by anxiety you in this land which will read from the question Table In return the information back to the user is a severe response so now if they provide a answer that question that doesn't exist the the same logic but the land were realize it's not on the table
and tell em Amazigh k way to give the user a 4 4 at the very end so here's some sample code on how you actually
mn it don't worry about trying to read through all right now step through 1 by 1 so initially attention and so the start I just import
chalice here the 2nd thing I import is it shows the duck questions so this is not a dependency of chalice it's actually built and functionality so if you want your application to grow outside of laptop people why file like you 1 more than 1 file and involved you can use this in the college also in which what do is you can create a new chalice lib directory in your chalice that allow me to put new models like I added a questions by module into much else lib directory and this is a lot different than requirements tax because were promised that text is mainly for third-party package dependencies so step the union right but you just want a dependency on afterwards ago heading frame my app objects and then I register are out in and the hammer for it accepts a question ID because question ID is a variable in the your hands now while we deduce pretty questions stable called a question this return none of the
question as exists for a name tuple of information about the question so if a question isn't this go ahead and raise this chosen not found their has a bunch of built-in exceptions that allows you to receive your code in EMS will propagate the specific status code back to the end users so by raising it shall stand up and there you will raise a 4 4 to the end user it so now after all that's been done through we can go ahead and return the question idea was found so the posts side of that
is very similar to the get all you have to do is enable slander once you get the question
back is determined if the provided answer is correct and if it is going a return true stand user so here again is the code required to do this don't worry about reading the sulfur renowned step through it again so to register the register we use the same path
as before but instead we specify post the last row registered was only again so now we go ahead and free or function handle in which we accept question is a parameter because it's available in in the past and then from there we the very 1st thing before we do any core logic is to make sure that the answer is actually in the body and if it isn't we raise another built Charles exception which is the bad requested this will raise a 400 heir to the end user it in terms of a should be response and from there what we can do is to some the more core logic and fear the provided and get the actual question make sure that the provided answer is a list of possible answers if it's not as tho had raise another bad requester another 400 and tell me you need to provide an actual answer a list of possible answers I'll once all the sex incomplete what we do know how to do is return at the cracks was provided answer in actual correct answers so
that was the question answer pod API let's talk about what we coward in this section of
1st we talk about joules test stage so the idea of being able to procure resources in different stages so you don't interfere deploy over a year existing resources so if you wanted uh experimented does stage you can keep your prod stage running and not have to worry about deploying over where you had previously it's privacy point we talked about just exception-handling handling so raising a built in Charles exception to go ahead and probably the system status could you want back to the user and we'll start else lives so you won't outgrow your app . py file you can go ahead in rich also directory and for your own modules inside of the so now we talk about the question answer EPI was talk about the web application portion of it so for levitation is 2 things around the worry about there's where they're at ability for costs and or else they have to get SEKT people interact with our API in the browser so with costs brain I would've been doing is just making API requests with my laptop to my recipe I really have to worry about cost but the minutes at a browser and there we have to worry about data security in terms of making cross-domain request and to do that we had bye bye costs and here's example for break assemble GET request what happens here is that when we send a GET request will send the same response back but we also include this header right here the access control allow origin header which specifies what words and allowed to read this resource in our case we just provided to restore meaning any resource can and if they if Fig requested so more concave maybe the put or as an extra headers the browser also sent some free flight request in terms of options HCP Method and In order to do that will determine what pra permissions it has to send in this request so specifically this reply back with if what had originally using your request 1 method you can use and sending it and also what resource swear words and allowed access this resource and odds enabled us in a tossup vision is quite simple you just add critical lstrip but I'll give you all the default values of the US star for little Lao hours of give you a preset of uh headers into anything any methods that have been labeled as course also that's you've enabled methods allow methods for the course highest anyone even more specific you can go ahead and run court right with cost Fig instead of a Boolean indicator-specific values that way as well so now what I wanna do is talk about the gender case so the web the front end application I have is already job script don't worry I'm not going to show you very very much of a script is a Python Conference on way more cut away were company with my Python abilities so in in his spare you guys have that but with a jealous generate STK well as you do is generate jobs replaces decay to interact with your API so
here is example of how you go about doing it so all you do is is run jealous generate STK as specified directory the and what's to happen here is that chalice will make an API requests to it Amazon EPA gateway and Amazon EPA day we'll go ahead and generate your job sophisticated for you gel so then downloaded and unzip it in the directory that you specify so now I have a go ahead and CD into this structuring you can see the different files available to me and you can see that I have it that day we client JS file and under here you can see some client code let's look at the moral uh specific things related to applications so for example here we have a invoke you're all you can see this is exactly the same as at that stage so this is the you're already beginning in the end then I escape along a little bit too the later on in the file
you can also see similar methods is on the roads so you can see here this is just the question so this the get question part of API so this allows me to get my information about question so that's in terms of how much of the pressure you but it just gives you an idea of how you can have easy access to your API from a friend and applications so continue on so let's go ahead and talk
about the last piece that we need in order to complete this application which is authorization in users so in terms of authorization uses the 1 theory or if you're ever from the same population there's ability to log n there's ability to register yourself in be able to keep track you're scoring read socialist has a bunch the graph rization options available to you there's of course none of which we've been using our time we don't have to be authorized to user there is I am authorize there which is using it is pressure credentials and Amazon sick before signing to give authorization there is Canada user pool authorizer which is using Amazigh incognito which is a managed service for managing users and user pools inhaling credential Send login registration 1 up and finally there is ability to define your own authorizes using the decorator at that authorizes so in your child's skating go ahead and actually implement all the logic that you need for your authorizes and then linked up with the arrest API handlers for this application i using the communities report authorizes mainly because in I Kaneda user posted you on functionality rather box so mainly is we'll manage users as it manage all user data there antenna log-in registration or for you uh it provides us a case for user registration and so my from an application is just a simple function call to do my credentials or to register a new user and also Vries it a slender triggers so while providing out of box solution if I wanna customers along hiking free when the functions L customize and the process in terms of how a user signs in a registers himself so in order to talk about uh how an authenticated user uh answer would be let's talk about the anonymous 1 1st so here's the center for the non is 1 if want actually add offered authenticated answer API we go ahead and add the user component here and adding the user point component we need to more uh resources 1 being a user table we also need Amazon Cognito so in terms of the workflow in order to actually keep track of the user's answers be the following 1st the kind laughter you make a request in as I can you using the username and password i think it's authenticate themselves was the been authenticated vendors and Cognito ago had a return a GWT token back to be used in subsequent requests and from there you can go ahead and poster answer but notice that there's an Authorization header and included that matches the exact same GWT token and IMS EPA D-Wave will then check to make sure that the authorized and go ahead and book that it assigned the functions it assigned the walled make sure that what the answer was was correct in base of the result would go to score that in our user table and finally return that each the response back to the end user so to actually implement this and here is simple could I do it and step through this 1 by 1 again so following here what I have is the pull on so the enzyme target a user pool I set this up prior
to initialize appointments in the pull on is essentially the identifier for this poem and from there what do they cut used user pull authorizes so I provide my pool onto that have authorizes that I can then take that take my rout in assigned as mouth arises so any request going through this rout hostage have cognitive user authentication in order for it to pass through the the now from there will go ahead and do it is for a function and so go ahead and run the answer did questions function if remember before it's a question comes from just anonymous post questions question ID Rao once have answer data we actually figure out who the user was adjusting answer that question In order to get that what we can do it is go ahead and run this up a function called get authenticated user name which uses a property on the curry quest object which is the context the context provides information about what exactly triggered the function in just information about it the never open this up you see a big Jason on dictionary I actually shorten this dictionary because if I didn't kill filtering top agent in every room so I surrender just for a specific so we want and specifically what we want is the cognitive user name of that in this case the user name was my username so an elective point I wanna make out to you is that ideally if using keeping these in a database you probably be using the sub token but this is a unique and uniquely generated ID by in as I can you have so if you're trying to add these users to use the pool brother 1 use that as a primary key but I'm just using can your user for simplicity and reading for this so now I go heading for my user table I am I optimize a score in returning enter data which came from they answer questions so now that we have log in all handled
and keeping track of you score for 1 thing we haven't covered is how we handle registration of users so I is said before is I cognitive revised to you they Allebach solution but you may wanna customize it in my case as you want customize it specifically in terms of pressuring you user usually sign up and they have to do a confirmation of this the the user has been confirmed themselves I wasn't particularly interested in doing a confirmation so I want to be able to say all that the 2nd thing I wanted was that immediately after a user registers I want to keep track of them in my Dec dimer DB database I did not want to only have access to users that have just answer the question gives us the only way to be able to track it by an Adam when I'm before when the functions so in order do this I add 2 more land the functions 1 land a function for order confirming functions brought out confirming users and another lender function for actually adding users it and the way works now is what's resistor I sent a username and password to enter the country you know and invoking key it start the registration process and design of functions are hooked up to specific points in the registration process so that has I can be lower then invoke aid the land function on a specific point so at the sign of trigger will go ahead in Boca autoconfirmed function in which case the when the function will respond to Amazigh Candido to go and say you go had an article from the cesium after the and after this end up and confirmed there is another trigger called the post confirmation trigger and with the post-operation triggers will do is have them Amazon when the function go ahead and actually had the user tour are table OK turned back a response and it is a country tell the user your all signed up you could go thank you so the article from functions and it's not very difficult to do this
am I have to do is in your laptop I file go ahead and add this puncture here so this is all the different then you've been seen previously been using routers a decorator this time actually using the when the function decorator so what that means is a stand-alone when the function so it's not connected to any API gateway so you can actually make at rest EPI Stewart rest but request to it and it's also isolated from your we're API even all logic detailing around so this function out steps 2 arguments there is the event in context the event is usually dictionary the has all parameters that it was trick that triggered this when the function in the context has information about how and the functional triggered effect you look at the event here you can see the the differ information I have available to myself for this precentor prevent and specifically what I'm interested in is telling this autoconfirmed user value of false and saying that the true in after that I'll go ahead and return the event this entire thing
telling is like a NATO to skip the confirmation sign not the confirms an upset so in order to have a user now
so this is not a difficulty they're all you have to do is add another 1 the function here ends like like it's like it did the last 1 the the function is essential in the function because it's using when the function decorator so it's not connected to the enzyme mediated the idea when but and the event that it adds is the vendor takes and is this event here and Alice event I can get information such as the username which will allow me to go ahead and add the uses the debt to user table I can go and return the job and to it on Cognito and then that's all it takes for the entire registration process to happen so 1 thing also I mentioned it before is that after he these then the function employed at to go ahead and add these as triggers to maintain the existing user pool it's a 1 sign set up thing but I'm using chalice mainly here so I can handle the deployments and update my and the functions Michalis application because it makes it very easy for me to update it the so going back to the
outline this talk about real and in section we talked about how using Amazon comedo to get authorization for your yourselves application mn we talked about that occur request context so being able to get
information about your and the function and how got invoked the finally we talked about the for battle and the function decorator Sibeal set up a standalone when the function that is not connected there is an EVA day way and this runs by itself so I have given the time constraints there's a similar jealous features I really wish we got to talk about but unfortunately when I was not able to someone feature being the apple schedule decorator so this is like the when the function a greater but it's cool because you essentially have Kron jobs running for a year service applications so every x minutes every x hours or a specific day of the week you have when the function so that's very convenient another 1 is dependency management so while if you remember forward in my and show demo at a very common Scitex and how downloads all the dependencies you need for you but while that's pretty straightforward but when it comes to use CCA extensions it it's kind a complicated because of various land is were its underlying operating system is running on his is Amazon Linux so if you send up a compiled version of this extension that is incompatible with games on Linux here have a lot of problems when you're Amazon theory of assigned a function of the Copa what Charles would do that 0 is ill actually download wheels for you the data compatible for on Linux unzip it into 2 . package in go ahead and allow you to run that In lambda so for example if you were right you're doing it bonus from when the machine and then you had a dependency on a num pi for example so go ahead and download wheels for you forget about a frame a Linux and go ahead and included a point that is you have an empire on you when the functions it does man and operating system so blessing what I'm about additional Charles feature is that it is I am policy each generation which what allows you to do is if you run from the very 1st of 1 of the 4 slides were talking about it this setting up for scratch above I am policy so landing is a bunch of permissions in terms of if your access other areas resources which also do is stand through source code determine all operations you're using all the is resource using as to generate that I am policy for you see the energy of the worry about that I part of it shall submit the land of the planet part so now it's wrapping this up the 1 thing I really hope you guys got out of this talk was the benefit of using chalice from from the beginning we is
showed how it's easy enough allows for easy and fast pace app development so from Chelsea project to decay quickly started and the point that application it quickly iterate on top of it there's a lot of boilerplate code you to worry about in deploying jobs applications I think in the end my laptop I file for this entire application was less 100 lines a code so that was really nice another point is that handles all areas resource manager for you so provides a nice traction on top of the of the year on top of all the slammed on Age-ID recessive matches if the worry about that FIL handle for you so you just focus on the Python-specific aspect of your code in and finally it produces production-ready applications production-ready being it's being ran on it is lambda and therefore spending all the scaling for you in all the infrastructure management so you can go ahead and deploy it this lever there not have to worry about it Eric keeping are worry about in the Dev related to it
yeah so the final thing I mention is that really shows 1 . 0 beta last week so what that means is that while still Developer Preview word in a very close to actually going GA with this in having that 1 . 0
release so between now and when we actually do 1 . 0 mm is only be small enhances based of user feedback and try to polish up the final interface so I really hope this talk is motivated uh you guys to all try a chalice strive writings and service applications in if you have any feedback come find me or others another depth here James from from the shell steam error or you can also put issue and get help in any feedback we needed between now and we go g is very valuable so review I'm grateful for so 1 thing I wanna say is here some related links is shells repository and Charles segmentation and also all the code use for Michalis trivia you can find it here the idea of the renewal its if you try to deploy it initially I will that issues but you can at least just of how I actually about writing this application and them in vomit Twitter at the town are for any updates related to this talk and also if you wanna talk about it every as chalice or any of the libraries I work on please come find me or a by a team member team member it's later this week I'll be here an entire conference so if we have time for questions rekindle after but thanks everyone for coming listening few
we do have a few questions so the I hope these writing that would probably have faced the sounds broadening um anyway to Monash of resources like this through markets or or those as someone not not currently from the closest thing you could do is it provides a ability have confirmation templates we can have an S 3 bucket there but 1 feature really wanna add is on some of the major resources like S 3 . 0 dB something you'll be added be using a lot in your application and being able to manage it but that's something on the road map yeah this for your talk yet and there's a lot about the persistency what parts of databases because you sure what a user table question to get options are uh and you could across I can hear enough his sorry cell in terms of about the persistence like databases what can you use can use like my sequel pause careers done would be yeah I mean whatever it's a whatever table available to you on fact C I was in Vanity be in my user tables so that's really nice because it's just a race really well areas just resources in 1 the right answer the question or this thing this I thank you for the talk and what about this thing because I get cold you sold the wall so really really tight coupled and also what about the yes so intimate yes searches testing you can go ahead in the he got just test general of function the general handlers but in terms of actual framework and eat it from other fast and how it has its own testing framework it doesn't tell us is really have anything specific like that but is something we want add and and the coming days Ch I think it will look at that not Verna slicing the breast makes what was in this they of and my question is that if you told the main difference between prior art is that you don't have a server to manage but like if you take a lasting Beanstalk for instance you also the mention in the interest of logs of artifact like respects was yeah have said like was the difference and the concepts of lust itself feels like is guided yes so I mean or demand that yeah yeah yes hear and so the thing with Elastic Beanstalk is that you have you still have application up and running but with the using it is landed 0 you're only paying for the execution runtime so and you still may have your Elastic soccer application still going use paying for that resource both its slander you only have to worry about whenever it gets executed that make sense was less cushion and the question I ask if if I get like denial of service attack until like scales like yeah crazy like would isn't of you me all that's the dust or some for it were time by the dedusting mn how work at the denial-of-service so I I get all of traffic the Amazon can handle it but all to all my expense because of 0 yes no way that was set up is interview Canakci set of totalling 3 gateway and dell actually handle make sure that your plan of Onsager's and get a vote evoked way too many times so you can avoid that I can just get the threat yep thank you I actually think we have time for 1 last question anyone has 1 the the the the top that so I just look it up on the internet and it seems like there some limitations of the costs everywhere and of its like you can have only 2 thousand so bottle threats like Preston Brooks this executive full 1 function 1 of the function so my question is what if you need to serve more than thousand QPS accurately repeated again I think it's a lot yes I basically I looked at them that sites and talk mother stations so the limitations so you can run I think the 1024 threatened proteases full on land the function by this time what if you need to serve more than 1 thousand QPS I believe there sorry so I believe it that's your cap terms of when the functions in terms of having invoke I believe that's not the limit as that well that's what I what I've seen maybe I and I'm pretty sure you can only have about you going have 1024 I think that was the I think that's for the current limit is just simultaneously the functions going like the Cyprus the separate ones not all the so it's not next cell so at the same when the function for your API so you can get that as much as you want to being issue that other makes and sells the limitations of the cool things get them all right thank everyone have fj
Dienst <Informatik>
Font
Kartesische Koordinaten
Softwareentwickler
Fokalpunkt
Framework <Informatik>
Computeranimation
Lineares Funktional
Zentrische Streckung
Nichtlinearer Operator
Nabel <Mathematik>
Stichprobe
Rechenzeit
Kartesische Koordinaten
Term
Code
Computeranimation
Dienst <Informatik>
Client
Skalierbarkeit
Last
Endogene Variable
Server
Dateiformat
Speicherabzug
Speicher <Informatik>
Lambda-Kalkül
Umwandlungsenthalpie
Lineares Funktional
Zentrische Streckung
REST <Informatik>
Mathematisierung
Stichprobe
Kartesische Koordinaten
Framework <Informatik>
Computeranimation
Texteditor
Dienst <Informatik>
Endogene Variable
Mereologie
Server
Bus <Informatik>
Speicherabzug
Zusammenhängender Graph
Wurzel <Mathematik>
Lambda-Kalkül
Innerer Punkt
Lineares Funktional
Versionsverwaltung
Gateway
Kartesische Koordinaten
Computeranimation
Richtung
Dienst <Informatik>
Dämpfung
Menge
Endogene Variable
Gateway
Indexberechnung
Lambda-Kalkül
Lineares Funktional
Gewicht <Mathematik>
Funktion <Mathematik>
Nabel <Mathematik>
Code
Gateway
Kartesische Koordinaten
Identitätsverwaltung
Lambda-Kalkül
Computeranimation
Gammafunktion
Videospiel
App <Programm>
Demo <Programm>
Nabel <Mathematik>
Betafunktion
Kartesische Koordinaten
Elektronische Publikation
Computeranimation
Videokonferenz
Installation <Informatik>
Projektive Ebene
Datenstruktur
Ordnung <Mathematik>
Verzeichnisdienst
Objekt <Kategorie>
App <Programm>
Lineares Funktional
Automatische Indexierung
Formale Grammatik
Speicherabzug
Routing
Kartesische Koordinaten
Elektronische Publikation
Computeranimation
Differenzengleichung
Programmbibliothek
Kartesische Koordinaten
Ordnung <Mathematik>
Computeranimation
Mapping <Computergraphik>
Lineares Funktional
Hash-Algorithmus
Indexberechnung
Routing
Kartesische Koordinaten
Elektronische Publikation
Computeranimation
Lineares Funktional
Flächeninhalt
Adressraum
Endogene Variable
Projektive Ebene
Kartesische Koordinaten
Zusammenhängender Graph
Mathematische Logik
Fokalpunkt
Computeranimation
Lineares Funktional
Matching <Graphentheorie>
Konvexe Hülle
Gruppenoperation
Indexberechnung
Kartesische Koordinaten
Routing
Computervirus
Elektronische Publikation
Computeranimation
Mapping <Computergraphik>
Objekt <Kategorie>
Rechter Winkel
Automatische Indexierung
Endogene Variable
Stichprobenumfang
Zusammenhängender Graph
Wurzel <Mathematik>
Resultante
Parametersystem
Lineares Funktional
Poisson-Klammer
Konvexe Hülle
Endogene Variable
Indexberechnung
Routing
Computervirus
Computeranimation
Resultante
Lineares Funktional
Prozess <Physik>
Sichtenkonzept
Kategorie <Mathematik>
Gateway
Indexberechnung
Routing
Indexberechnung
Computeranimation
Lineares Funktional
Punkt
Nabel <Mathematik>
Kategorie <Mathematik>
Mereologie
Mathematisierung
Stichprobe
Kartesische Koordinaten
Projektive Ebene
Strömungsrichtung
Computeranimation
Trennungsaxiom
Objekt <Kategorie>
REST <Informatik>
Stichprobenumfang
Kartesische Koordinaten
Raum-Zeit
Computeranimation
Videokonferenz
Weg <Topologie>
Mereologie
Fächer <Mathematik>
Passwort
Passwort
Elektronische Publikation
Computeranimation
Mereologie
Browser
Stichprobe
Kartesische Koordinaten
Mathematische Logik
Login
Ultraviolett-Photoelektronenspektroskopie
Computeranimation
Authentifikation
Registrierung <Bildverarbeitung>
Julia-Menge
Authentifikation
Randelemente-Methode
Ordnung <Mathematik>
Parametersystem
Verknüpfungsglied
Zustand
Verzweigendes Programm
Innerer Punkt
Computeranimation
Videokonferenz
Umwandlungsenthalpie
Punkt
Browser
Mereologie
Gruppenkeim
Kartesische Koordinaten
Mathematische Logik
Computeranimation
Homepage
REST <Informatik>
Server
Kartesische Koordinaten
Zusammenhängender Graph
Wort <Informatik>
Ordnung <Mathematik>
Schlüsselverwaltung
Term
Computeranimation
Demo <Programm>
Tabelle <Informatik>
Tabelle <Informatik>
Stichprobenumfang
Endogene Variable
Information
Mathematische Logik
Code
Computeranimation
Tabelle <Informatik>
Tabelle <Informatik>
Umwandlungsenthalpie
Lineares Funktional
App <Programm>
Subtraktion
Rahmenproblem
n-Tupel
Ausnahmebehandlung
Kartesische Koordinaten
Elektronische Publikation
Modul
Code
Computeranimation
Objekt <Kategorie>
Informationsmodellierung
Rechter Winkel
Programmbibliothek
Information
Verzeichnisdienst
Tabelle <Informatik>
Service provider
Lineares Funktional
Parametersystem
Datensatz
Cracker <Computerkriminalität>
Phasenumwandlung
Ausnahmebehandlung
Speicherabzug
Mailing-Liste
Term
Mathematische Logik
Code
Computeranimation
Subtraktion
Punkt
Freeware
Browser
Web-Applikation
Kartesische Koordinaten
Term
Computeranimation
Benutzerbeteiligung
Prozess <Informatik>
Notebook-Computer
Konstante
Endogene Variable
Multitasking
Skript <Programm>
Kontrollstruktur
E-Mail
Default
Maschinelles Sehen
Cross-site scripting
Softwaretest
App <Programm>
Datenmissbrauch
Assembler
Computersicherheit
Stichprobe
Ausnahmebehandlung
Physikalisches System
Elektronische Publikation
Konfiguration <Informatik>
Rechter Winkel
Geschlecht <Mathematik>
Debugging
Gamecontroller
Wort <Informatik>
Ordnung <Mathematik>
Brennen <Datenverarbeitung>
Bit
Kartesische Koordinaten
Elektronische Publikation
Term
Code
Computeranimation
RFID
Client
Druckverlauf
Mereologie
Gateway
Information
Datenstruktur
Verzeichnisdienst
Resultante
Konfiguration <Informatik>
Punkt
Prozess <Physik>
Quader
Familie <Mathematik>
Kartesische Koordinaten
Term
Mathematische Logik
Login
Kontextbezogenes System
Computeranimation
Weg <Topologie>
Vorzeichen <Mathematik>
Endogene Variable
Biegeknickung
Zusammenhängender Graph
Passwort
Lambda-Kalkül
E-Mail
Autorisierung
Lineares Funktional
Graph
Kategorie <Mathematik>
Datenhaltung
Systemaufruf
Routing
Token-Ring
Kontextbezogenes System
Konfiguration <Informatik>
Objekt <Kategorie>
Druckverlauf
Dienst <Informatik>
Informationsverarbeitung
Registrierung <Bildverarbeitung>
Login
Authentifikation
Identifizierbarkeit
Information
Registrierung <Bildverarbeitung>
Ordnung <Mathematik>
Schlüsselverwaltung
Lesen <Datenverarbeitung>
Tabelle <Informatik>
Punkt
Prozess <Physik>
Term
Mathematische Logik
Kontextbezogenes System
Computeranimation
Weg <Topologie>
Vorzeichen <Mathematik>
Notebook-Computer
Endogene Variable
Datenverarbeitung
Gateway
Passwort
Router
Ereignishorizont
Soundverarbeitung
Lineares Funktional
Parametersystem
Datenhaltung
Kontextbezogenes System
Ereignishorizont
Endogene Variable
Dezimalsystem
Funktion <Mathematik>
Registrierung <Bildverarbeitung>
Client
Information
Ordnung <Mathematik>
Versionsverwaltung
Tabelle <Informatik>
Tabelle <Informatik>
Lineares Funktional
Prozess <Physik>
Kartesische Koordinaten
Kontextbezogenes System
Ereignishorizont
Computeranimation
Funktion <Mathematik>
Vorzeichen <Mathematik>
Prozess <Informatik>
Registrierung <Bildverarbeitung>
Datenverarbeitung
Client
Ordnung <Mathematik>
Ganze Funktion
Versionsverwaltung
Ereignishorizont
Tabelle <Informatik>
Nebenbedingung
Demo <Programm>
Punkt
Rahmenproblem
Versionsverwaltung
Datenmanagement
Programmschema
Zahlenbereich
Kartesische Koordinaten
Identitätsverwaltung
Term
Physikalische Theorie
Computeranimation
Virtuelle Maschine
Dämpfung
Datenmanagement
Font
Prozess <Informatik>
Reelle Zahl
Spieltheorie
Netzbetriebssystem
Maßerweiterung
Demo <Programm>
Metropolitan area network
Autorisierung
Nichtlinearer Operator
Addition
Lineares Funktional
Stichprobe
Physikalisches System
Quellcode
Kontextbezogenes System
Rechenschieber
Scheduling
Energiedichte
Dienst <Informatik>
Generator <Informatik>
Flächeninhalt
Mereologie
Garbentheorie
Information
Lambda-Kalkül
App <Programm>
Zentrische Streckung
Punkt
Matching <Graphentheorie>
Betafunktion
Datenmanagement
Kartesische Koordinaten
Code
Computeranimation
Datenmanagement
Flächeninhalt
Prozess <Informatik>
Notebook-Computer
Wort <Informatik>
Projektive Ebene
Softwareentwickler
Textbaustein
Normalspannung
Gerade
Abstimmung <Frequenz>
Nabel <Mathematik>
Dokumentenserver
Schreiben <Datenverarbeitung>
Fortsetzung <Mathematik>
Kartesische Koordinaten
Login
Computeranimation
Internetworking
Eins
Erneuerungstheorie
Schnittstelle
DoS-Attacke
Softwaretest
Umwandlungsenthalpie
Lineares Funktional
Zentrische Streckung
Dokumentenserver
Datenhaltung
Template
Konfiguration <Informatik>
Kugelkappe
Dienst <Informatik>
Twitter <Softwareplattform>
Menge
Rechter Winkel
Server
Tabelle <Informatik>
Fehlermeldung
Instantiierung
Rückkopplung
Web Site
Subtraktion
Besprechung/Interview
Automatische Handlungsplanung
Zellularer Automat
Term
Code
Framework <Informatik>
Arbeitsplatzcomputer
Programmbibliothek
Gateway
Inverser Limes
Elastische Deformation
Hilfesystem
Rechenzeit
Binder <Informatik>
Mapping <Computergraphik>
Flächeninhalt
Mereologie

Metadaten

Formale Metadaten

Titel Serverless Applications with Chalice
Serientitel EuroPython 2017
Autor Knapp, Kyle
Lizenz CC-Namensnennung - keine kommerzielle Nutzung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben
DOI 10.5446/33736
Herausgeber EuroPython
Erscheinungsjahr 2017
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Serverless Applications with Chalice [EuroPython 2017 - Talk - 2017-07-11 - PythonAnywhere Room] [Rimini, Italy] Serverless computing: it is the practice of building and running services and applications without having to worry about provisioning and managing servers. Serverless computing has been a popular topic the past couple years, and with respect to Python, there have been various different frameworks and tools released for developing and managing your Python serverless applications. This talk will focus on developing and managing your serverless applications with chalice (https://github.com/awslabs/chalice), a python serverless microframework for AWS. Discussion points for this talk will include, but not be limited to: • Overview of serverless applications • Best practices in writing a serverless application • Basic usage and core features of chalice • Writing complete, production-level applications using chalice • Managing and maintaining serverless applications using chalice tooling By the end of the talk, audience members should have a better understanding of serverless computing and how to use chalice to develop and maintain serverless applications

Ähnliche Filme

Loading...
Feedback