Serverless landing practice

Architect advanced Club 2021-10-14 06:44:17
serverless landing practice


.Net Core Serverless First experience

What is? Serverless

Serverless It's a relatively new topic in today's software world . It doesn't have a universally accepted definition of authority , Everyone and every enterprise may interpret it differently , and Serverless It is in this situation that the development of . But even so , Somewhat Serverless It's still widely recognized :

  • The host and process of the server are completely managed by the supplier

  • It can automatically scale according to the load

  • Charge according to the exact usage , Like water and electricity .( Utility calculation )

Quote Nuggets , Original address :https://juejin.im/post/5c68fdbfe51d4539a569f259

 

Serverless evolution

 

 

In this development process, there are several gradual milestones :

  • Virtualization technology is used to virtualize large physical machines into a single VM resources .

  • Move virtualization cluster to cloud computing platform , Just do simple operation and maintenance .

  • Take every one. VM According to the principle of minimizing the running space, it is divided into more detailed Docker Containers .

  • be based on Docker Container building does not manage any running environment 、 Just write the core code Serverless framework .

Quote alicloud , Original address :https://help.aliyun.com/knowledge_detail/65565.html?spm=a2c4g.11186631.2.1.4f811bbeDYGmvp

 

Alibaba cloud Serverless -  Function calculation

Function computing is an event driven fully managed computing service . Use functions to calculate , You don't need to purchase and manage infrastructure like servers , Just write and upload the code . Function calculation is ready for you to calculate resources , Run tasks flexibly and reliably , And provide log query 、 Performance monitoring, alarm and other functions .

With the help of function calculation , You can quickly build any type of application and service , And just pay for the resources actually consumed by the task .

Quote alicloud , Original address :https://help.aliyun.com/document_detail/52895.html?spm=a2c4g.11186623.6.541.23dc641aB3U3K0

 

To write .Net Core Code

1. Create a new one .net core Console program , It's called AliyunServerless.

 

 

2. Reference the function calculation component provided by Alibaba cloud Aliyun.Serverless.Core

 Install-Package Aliyun.Serverless.Core

 

3. Write according to the requirements of function calculation .Net Core Class and function of , Here are two classes and functions

a. Print execution log


 /// <summary>
/// Print execution log
/// </summary>
public class LogHandler
{
public void Handle(Stream input, IFcContext context)
{
ILogger logger
= context.Logger;
logger.LogInformation($
"Handle request: {context.RequestId}");
}
}

 

b.  Print server IP


 /// <summary>
/// Print server IP
/// </summary>
public class IpHandler
{
public void Handle(Stream input, IFcContext context)
{
ILogger logger
= context.Logger;
var ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());
logger.LogInformation($
"Handle request: {context.RequestId}");

foreach (var ipAddress in ipHostInfo.AddressList)
{
logger.LogInformation($
"IP Address:{ipAddress}");
}
}
}


 

explain :

  Please refer to the original address for details :https://help.aliyun.com/document_detail/112379.html?spm=a2c4g.11174283.6.567.206852120XSx37

 

4. Release the program and package it into zip

 dotnet publish -c Release

 

 

Configure Alibaba cloud function computing

1.  Fee description and free quota

 

2. Select the region where the function executes

Refer to the entry address :https://fc.console.aliyun.com/fc/overview/cn-shenzhen

 

 

3. Create services and functions

a. Create a function

 

 

b. choice “ Event function ”, then “ next step ”

 

c. Configuration function information

 

among :

“ The service ” It's grouping , Fill in as needed .

“ The name of the function ” Is the name. , Fill in as needed .

“ Running environment ” choice dotnetcore2.1.

“ Function entrance ” Fill in... As required , The template is { Assembly }::{ Namespace }.{ Class name }::{ Function name }, Here is :AliyunServerless::AliyunServerless.LogHandler::Handle

“ Function execution memory ”, Memory required for function execution .

“ Timeout time ”, Function execution cannot exceed the set time .

d. Execute function

Click on “ perform ”, You can see the executive summary ( execution time 、 Using memory 、 Execution status, etc ) And implementation results :

 

e. Create trigger

 

It's used here “ Timing trigger ”, Support Cron expression , The highest scheduling frequency is 1 minute , Second level scheduling is not supported ; except “ Timing trigger ”, There are also the following trigger types :

  Interested friends can do their own research .

  After the trigger is configured , The function will be triggered by timing , Because here is the print log , You need to configure the log to see , No log is configured in this article , Don't show the trigger effect .

 

Extended testing

Follow the steps for creating functions , establish “ Print server IP” function , Execute and track , give the result as follows :

1. Multiple execution (5 Different times RequestId), The server IP It hasn't changed ( All for 21.0.3.3), Description assign to the same server

 

 

2. Re upload package , The server IP Will change , But the same package server IP unchanged

a. First time upload again :

 

 

b. Second upload :

 

3. My choice of execution area is “ south China 1( Shenzhen )”, But the server IP Is the U.S. IP; Because there's no server information , This conclusion is only for reference

 

4. Call statistics will be non real time ( Normal phenomenon ), Most business months should be free enough to use

  

Source code address

https://github.com/ErikXu/AliyunServerless


版权声明
本文为[Architect advanced Club]所创,转载请带上原文链接,感谢
https://qdmana.com/2021/10/20211002145640771q.html

  1. Html + CSS + JS implémentation ️ Responsive Lucky Turnover ️ [with full source Sharing]
  2. Ren Jialun, who married young, was in a mess. Now she feels that it is a blessing in disguise
  3. 达梦数据库使用disql生成html格式的巡检报告
  4. React render phase parsing II - beginwork process
  5. Tableau linéaire de la structure des données (dessin à la main)
  6. In 2022, what are the highlights and popular elements in skirts to make skirts more elegant and gentle?
  7. JQuery installation
  8. Exemple de développement Android, dernière compilation de questions d'entrevue Android
  9. Differences and relations between JDK, JRE and JVM, nginx architecture diagram
  10. 【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)
  11. 【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)
  12. Questions d'entrevue pour les ingénieurs en développement Android, Android Foundation 72 questions
  13. It's kind of Cadillac CT6 to have a Mercedes Benz S-class captain and a 10At entry-level configuration, falling to less than 300000
  14. H6 meets the strong enemy again! The car body has a Cayenne visual sense, breaking 8.8 seconds, and the top configuration is less than 130000
  15. How nginx supports HTTPS and Linux kernel video tutorial
  16. Le martyr se réjouit de sa vieillesse Audi R8 V10 performance Rwd
  17. import 方式隨意互轉,感受 babel 插件的威力
  18. Le mode d'importation peut se déplacer librement pour sentir la puissance du plug - in Babel
  19. Pas de héros en termes de ventes!Du point de vue de la force du produit, la nouvelle version ax7 Mach est plus forte que H6
  20. The vue3 + TS project introduces vant as needed
  21. 深入浅出虚拟 DOM 和 Diff 算法,及 Vue2 与 Vue3 中的区别
  22. 深入淺出虛擬 DOM 和 Diff 算法,及 Vue2 與 Vue3 中的區別
  23. Explorer les algorithmes DOM et diff virtuels et les différences entre vue2 et vue3
  24. 两万字Vue基础知识总结,小白零基础入门,跟着路线走,不迷路(建议收藏)
  25. Résumé des connaissances de base de 20 000 mots vue, Introduction à la petite base blanche zéro, suivre la route et ne pas se perdre (Collection recommandée)
  26. 兩萬字Vue基礎知識總結,小白零基礎入門,跟著路線走,不迷路(建議收藏)
  27. "Talk show conference 4" Zhou qimo a remporté le championnat. Tout le monde l'admire. Il est mature et stable et a une vue d'ensemble
  28. Test logiciel entrevue non technique questions classiques - mise à jour continue!
  29. Digital forward disassembly reverse disassembly
  30. Analyse du cache distribué redis et essence de l'entrevue en usine v6.2.6
  31. [Hadoop 3. X series] use of HDFS rest HTTP API (II) httpfs
  32. Zhang Daxian sang in the morning to bless the motherland, xYG team: singing is much better than us
  33. My three years' experience -- avoiding endless internal friction
  34. Introduction à l'algorithme "dénombrement binaire" modéré 01 - - question d'entrevue leetcode 10.09. Recherche de matrice de tri
  35. Introduction à l'algorithme simple 06 - - leetcode 34. Trouver la première et la dernière position d'un élément dans un tableau de tri
  36. CSS animation
  37. Explain the new tags in HTML5 and the pseudo classes and pseudo elements in CSS3
  38. They are all talking about "serverless first", but do you really understand serverless?
  39. [apprentissage de l'algorithme] 1486. Fonctionnement exclusif du tableau (Java / C / C + + / python / go / Rust)
  40. Front and back end data interaction (VI) -- advantages, disadvantages and comparison of Ajax, fetch and Axios
  41. Front and back end data interaction (V) -- what is Axios?
  42. Front and back end data interaction (III) -- Ajax encapsulation and call
  43. 前端 100 万行代码是怎样的体验?
  44. 湖中剑 前端周刊 #10(ESLint8、Web 端侧 AI、react-if)
  45. 湖中劍 前端周刊 #10(ESLint8、Web 端側 AI、react-if)
  46. 前端 100 萬行代碼是怎樣的體驗?
  47. Huzhong Sword Front End Weekly # 10 (eslint8, Web end ai, React if)
  48. Quelle est l'expérience du premier million de lignes de code?
  49. Pancakeswap front-end source compilation and deployment Linux
  50. Pancakeswap front-end source compilation - Windows
  51. Walls and columns are powered, and 50W transmission power is available in any corner. The University of Tokyo has built a wireless charging house
  52. Pas besoin d'embrayage pour allumer une voiture?Vieux conducteur: la voiture est très blessée par des erreurs. Ces mauvaises habitudes doivent être changées!
  53. Cadre de développement Android MVP, résumé de l'entrevue
  54. [Azure Cloud Service] Azure Cloud Service ajoute des champs personnalisés pour le rôle Web (hôte IIS) (ajoute le champ user agent dans l'en - tête de demande http au Journal de sortie IIS)
  55. Principes de la plate - forme de développement Android, questions d'entrevue de développement Android
  56. [Azure Cloud Service] Azure Cloud Service ajoute des champs personnalisés pour le rôle Web (hôte IIS) (ajoute le champ user agent dans l'en - tête de demande http au Journal de sortie IIS)
  57. Weilai es8 was listed in Norway and SAIC's driverless concept car appeared at the World Expo
  58. One of the most high-frequency algorithm problems in the front end! Reverse linked list
  59. Échange de doigts d'épée 11. Nombre minimum de tableaux rotatifs
  60. Questions et réponses à l'entrevue Big Data (réimprimé)