Danke dir. Hallo, ich bin Michael Klein vom Nordwester University Libraries.
Ich bin der Tech-Lead in einer Repository, die development im Industration-Team ist,
mit den in Europa Repository und digitalen Purationen Work-Group.
Und ich bin nicht talk about just a small part
of our journey of moving tourday more cloud friendly infrastructure.
Wir beenden uns auf dieser journey for a couple years now.
Und ich like to highlight different part of it.
The first question is when that we build they proformed standards compliant
to applie of service in last and 500 lines of Jarvis cript the ends to that is in November
We mean, what have done it suner?
It was done in a bit of a hurry and I
will get to that in a moment,
because the next question is, why, did we build they performance
standards confline it trip life service in last in 500 lines of Gerviscript?
We were working on our digital collections discovery and a face,
which has a tiling image discovery, back biotriple life server.
And we found that as,
we were getting closer to our releasedate,
we were having and image serving bubble that.
Sometimes images one show up it all
Sometimes, thominals and tyles were slotal load,
I'm sure everyone's here had that everyone here has had that experience, where you looking
Google Maps and the one tile that has the one place
your trying to get to is the one thing that stays looking
like your ram and create instead of actually filling and with streets or other data.
And we found that are accessing system was not working it scale.
Part of the reason for that, this is are infrastructure diagram,
you can know just about everything on it,
except for that bit in the sample,
the can to look tripleary are fimage server.
We were using and open source solution, cop can loop, which is great.
Cannot is a really nice product, the documentation is good.
It's flexible, it's powerful and it is highly configurable.
But high we can figurable for us and first,
but especially for me is a developer.
I find highly configurable to be highly problematic. At some point,
highly configurable, just means programmable using a sintax and domain model,
ritten specifically for this application by a developer who probably
didn't realized,
they were writing a programming
line which
When the configuration becomes to complicated,
you might is what we right in code,
but the time you get through the configuration.
And so we decided, to go back,
and take a look at with no assumptions,
what we were running as our trip life server.
This can fake fire by the way in throughing comments to 6508 lines long.
So this config fire as longer the niron tire,
trip life, deployed solution at this point.
So, the next question is what did we actually build?
And the enter is partially this
This is a screenshot of Amazon, Webservices, API,
Gateway, which allows you to define HTTP,
APIs and resources that respond to different back
ins. So you can have resources and you are
all fragments that are backed by running HTTTP-Applications.
They can servestatic data out of Amazon as 3 storage buckets.
They can go out side of Amazon and serve proxy information
for many where. Is just an aggregator for different back
And hours, just happens to be surf by a
lame to proxy. And it ab your aslamda,
I don't want to get into much detail,
cause I have sure on time or ready,
cause I started sure on time.
But it they surveilless function. It's justly function,
that the infrastructure that it needs launches, when it's need it,
it goes away when the function returns.
It's fast that small your build by the my pro-secondor,
something of that nature. So you're only paying when the server
is active and not paying to have a server running,
20,
It's also this. This is the heart of the System,
it is a tripley of processor class, written in JavaScript.
So it's not just a lameda,
it can also be a standard on a vocation for testing
or a not express application to run on the death top.
The constructor takes two proremedas and you are ell of the request and a stream resolver.
The you are all, a purses out,
it purses out the ID, region size, rotation quality,
and format proremedas over things that the tripley are for quest provides.
And it hands onto that
stream resolver
And all your streamers over has to do for your unique implementation.
This is what I mean, by code instead of configuration.
Where instead of telling can loop or ideas have to me meniple
late it this way and turning to this location and start on the file system in nest
three or that database or. Any of the things that can loop
nose how to do, but you have to know how can figure.
All you do is take an idea and return and open
jobscripts, stream handle to the image.
And that and then this class will take over from there.
And This is the Groucode, that turns that processor into a limb that.
It's pretty sure, this is in the holding,
but this is the hard of it.
The whole file is a 100, 12 lines lang
. So short of the net config file was, even if
you stripple those comments out of it. And this also
add the authentication authorisation in contactual air handling that the tripley
of processor doesn't sairely need to know,
had it do in the first place.
This is a stream resover, it just return to stream,
takes an idea and stream out. How did we build it?
We used for shouldly there were some amazing tools aveilable to as lib webs,
a yeah, and Image processing library,
that is faster and less memory the manding,
then any other, I've seen.
And shop and excellent JavaScript-Binding for the lib webs.
And the last question, I have an interview yet,
is who birt this, the answer is I did,
but I don't do when you think without these people involved.
And I'm not the first person to have built a no triple life server on sharp,
I want to make that, clear Jason, Ronaldo,
of did it, before,
but his was not gear tour cloud deployment.
And then we have it