Utveckling av moln baserade applikationer 2020

Kurs från 2020-08-31 till 2020-10-08

Röda tråd: Internet och moln

Lektion 1 av 12, måndag den 31:e augusti 2020, online

Målet med denna lektion är komma igång igen efter sommaren. Denna lektion är en uppstarts lektion, och introducera övergripande dom ämnen som dom kommande 12 lektioner kommer att bygga på. Det primäre mål i denne lektion är att bygga på eran kunskap från webutveckling backend, och börja prata om vad molnet är, vi kommer specifikt att jobba med Azure.

Inget i molnet har ett värde för någon annan än den som använder det

Lektionsplan

Lektion från kl. 8:30 till kl. 16:30

Lunch 12:00 till 13:00

Lektionsteori

Detta är material (artiklar, videoer, blogs etc) som är den teoretiska bas för denna lektion, det antas att du har läst/set/lystnad detta innan lektionen starter.

Artikel (4min): What Are Network Protocols?

Tecknad serie (15 min): Comic zine: Networking! ACK! - by Julia Evans

DNS

En protokoll som gör att man kan använda enkla namn till att kontakta en server

TCP/IP

En mycket använt protokoll, som är basen för webtrafik

HTTP

Den protokoll som webbläsare användare till att prata med webserveren, via TCP

Cloud

The cloud is hosting, made elastic with and API wrapped around it combined with flexible billing

Azure

Total:

Bok: Learn Azure In A Month of Lunches

Detta är vilka delar av den frivilliga bok (Learn Azure In A Month of Lunches) som är releavant för denna lektion

Bakgrundsmaterial

Detta är litteratur som är frivillig, och som kan kan används till at få en djupare insikt i dagens ämnen. Oftast förklara det bakgrunden till dagens lektionsteori, går mer på djupet med ämne eller han har en annan vinkel på det samma material.

Kurs: Powershell Tutorial

TCP/IP

HTTP

HTTP/2

DNS

Cloud

The Internet

Azure

Övning med buddy

Telnet en webbserver

Det är möjligt att manuellt förbinda sig till en webbserver, och denna övning visar vad en webbläsare gör bakom det fina skalet.

Först måsta man se till att ha programvaran Telnet aktiverat i Windows (borde vara aktiverat i Linux som standard). Windows 10: Enabling Telnet Client

Det är möjligt att testa detta med vilken som helst webbserver på nätet, StackOverflow är bara ett exempel:

Starta en kommandoprompt eller powershell, detta exempel kommer att starta telnet klienten och öppna en förbindelse till servern stackoverflow.com via port 80. Skriv:

telnet stackoverflow.com 80

Skärmen blir blank, det betyder att du har förbindelse till servern och att du nu kan skicka kommandon till webserven, skriv så (du ser inte vad du skriver):

GET /questions HTTP/1.0
Host: stackoverflow.com

Och tryck enter två gångar (två tomma rader). Du borde nu få ett svar från servern (högst sannolikt ett HTTP status 301, varför?).

Testa med en websida efter eget val, och eventuellt att ändra på input till servern.

Buddy diskussion

Ta fram prisen per månad för en virtuell server per, hos olika moln operatör.

Sammanhåll prisen med en eller fler hosting företag (svenska, nordiska eller inom EU).

Tanken är att servern ska köra en simple websida med en enkel databas, alt installerat på samma server. Kanske krävs 2 CPUs, 8GB RAM och 10 GB disk på en Linux server i Europa

Vad är för och nackdelar med cloud vs hosting?

Mini-projekt i grupp

Programmera en simple webbserver

Det är möjligt at .NET och .NET Core väldigt enkelt att programmera en egen webbserver. Denna övning handlar om att ta koden i exemplet under och lägga in det i en konsol applikation (och få det att bygga och funka).

HttpListener Class

När programmet är klart kan ni starta det med kommandon (beroende på hur ni har lagt upp projektet):

MinWebbserver.exe http://localhost:3000/

Nu kör webbservern lokalt på eran dator, och ni kan nu tillgå den med en vanlig webbläsare eller telnet :)

telnet localhost 3000

Ni borde få ett svar med:

GET / HTTP/1.0
Host: localhost

Testa eventuellt att bygga ut webbservern så att den kan svara på olika anrop eller läsa en fil från disk.

Individuell uppgift

Detta är en förberedelse inför lektion 2

Azure

Create an account at Azure and install the Azure CLI

Browse around to get a feeling of the possibilities in Azure, but besides this you don’t need to do anything.

Kurs om huvudprinciperna bakom molntjänster

Gå igenom denna kurs (62 min): Molnbegrepp – principerna bakom molnbaserad databehandling