Kubaka software idasubirwaho yububiko bwa AI-ikoreshwa na porogaramu: Ingamba zubunini n'umutekano | B4N1

Kubaka software idasubirwaho yububiko bwa AI-ikoreshwa na porogaramu: Ingamba zubunini n'umutekano

9 months ago · b4n1 Read time: 5 min

Intangiriro

Kwishyira hamwe kwa Artific Intelligence (AI) mubikorwa bya software byahinduye uburyo twegera gukemura ibibazo, gufata ibyemezo, no kwikora. Nubwo, porogaramu ikoreshwa na AI igenda irushaho kuba ingorabahizi, nazo zirashobora kwibasirwa n’iterabwoba rigaragara nk’ibiti byimbitse hamwe na moteri ikoreshwa na AI. Muri iki kiganiro, tuzasesengura tekiniki zigezweho zo gukora software yububiko bushobora guhuza neza ibice bya AI mugihe harebwa ubunini n'umutekano.

Ibibazo bya AI-Biterwa na Porogaramu

Porogaramu ikoreshwa na AI irangwa nubushobozi bwabo bwo kwigira kumibare, guhuza nibihe bishya, no gufata ibyemezo byigenga. Ariko, ibi bivuze kandi ko bashobora kwibasirwa nibitero byibasira ibice byabo bya AI. Zimwe mu mbogamizi zijyanye na AI ikoreshwa na porogaramu zirimo:

** **

  • ** Uburozi bwamakuru **: Moderi ya AI irashobora guhugurwa kumibare yuburozi, biganisha kubisubizo bibogamye cyangwa bidahwitse.
  • ** Gukuramo icyitegererezo **: Abagabye igitero barashobora gukuramo amakuru yoroheje muri moderi ya AI, bahungabanya umutekano wabo.

Ingamba zo Kwipimisha

Kugirango twubake software yububiko bwa porogaramu ikoreshwa na AI, dukeneye kwibanda kubunini. Ubunini bivuga ubushobozi bwa sisitemu yo gutwara imitwaro yiyongereye, traffic, cyangwa data bitabangamiye imikorere. Hano hari ingamba zo kugera ku bunini muri porogaramu ikoreshwa na AI:

1. Ubwubatsi bwa Microservices

Ubwubatsi bwa Microservices nuburyo bwo gushushanya bwubaka porogaramu nkikusanyirizo rya serivisi ntoya, yigenga ivugana hagati yabo ikoresheje API. Ubu buryo butuma habaho guhinduka, kwaguka, no kwihanganira amakosa.

`` python

Urugero rwubwubatsi bwa microservices muri Python

kuva flask itumiza Flask, jsonify kuva flask_sqlalchemy itumiza SQLAlchemy

porogaramu = Flask (__ izina__) porogaramu.config ["SQLALCHEMY_DATABASE_URI"] = "sqlite: ///urugero.db" db = SQLAlchemy (porogaramu)

urwego Umukoresha (db.Model): id = db.Inkingi (db.Integer, primaire_key = Nukuri) izina = db.Inkingi (db.String (100), nullable = Ikinyoma)

@ porogaramu.urubuga ("/ abakoresha", uburyo = ["KUBONA"]) def get_users (): abakoresha = Umukoresha.ibibazo.byose () garuka jsonify ([{"id": umukoresha.id, "izina": umukoresha.izina} kubakoresha mubakoresha])

niba izina == "ibisobanuro": porogaramu.run (debug = Nukuri) `` `

2. Kubika ibintu

Containerisation ni tekinike ipakira porogaramu hamwe nibisabwa mubikoresho bimwe bishobora gukoreshwa kumurongo uwo ariwo wose. Ubu buryo butuma ibintu byoroshye, byoroshye, n'umutekano.

`` genda // Urugero rwo kubika ibintu muri Go paki nyamukuru

gutumiza mu mahanga ( "fmt" "log"

"github.com/docker/docker/api/ubwoko/container"
"github.com/docker/docker/api/ubwoko/umurimo"
"github.com/docker/docker/client"

)

imikorere nyamukuru () { umukiriya, amakosa: = umukiriya. niba amakosa! = nil { log.Fatal (amakosa) }

kontineriConfig: = & kontineri.Config {
	Ishusho: "urugero / ishusho",
	Env: [] umugozi {"URUGERO_VAR = urugero"},
}

umuyoboroConfig: = & umuyoboro. GukoraConfig {
	Impera yanyumaConfig: ikarita [umugozi] * umuyoboro.
		"urugero-urusobe": {},
	},
}

resp, ikosa: = umukiriya.ContainerCreate (imiterere.Ibibanza ()
niba amakosa! = nil {
	log.Fatal (amakosa)
}

fmt.Println (resp.ID)

} `` `

3. Ubwubatsi bwa seriveri

Seriveri idafite ubwubatsi nigishushanyo mbonera cyubaka porogaramu nkikusanyirizo ryimirimo ikorwa kubisabwa, bitabaye ngombwa gutanga cyangwa gucunga seriveri. Ubu buryo butuma habaho ubunini, guhinduka, no gukoresha neza.

`` ingese // Urugero rwubwubatsi butagira seriveri muri Rust koresha lambda_runtime :: {Context, Ikosa}; koresha serde_json :: json;

[tokio :: nyamukuru]

async fn nyamukuru () -> Igisubizo <(), Ikosa> { reka imikorere = lambda_runtime :: kwiruka! (umukoresha); imikorere (Context :: isanzwe ()). gutegereza?; Ok (()) }

async fn umukoresha (_icyabaye: lambda_runtime :: Ibirori, _ibisobanuro: Context) -> Igisubizo <lambda_runtime :: Igisubizo, Ikosa> { reka ibisubizo = json! ({ "statusCode": 200, "umubiri": "Mwaramutse kuva Lambda!", }); Ok (lambda_runtime :: Igisubizo :: kuva (ibisubizo)) } `` `

Ingamba zumutekano

Kugirango twubake software yububiko bwa porogaramu ikoreshwa na AI, dukeneye kandi kwibanda kumutekano. Umutekano bivuga ubushobozi bwa sisitemu yo kwikingira uburyo butemewe, kutubahiriza amakuru, cyangwa ibindi bikorwa bibi. Dore ingamba zimwe zo kugera kumutekano mubisabwa na AI:

1. Guhisha amakuru

Guhisha amakuru ni tekinike ishakisha amakuru kugirango ikumire uburenganzira butemewe. Ubu buryo butuma umutekano urushaho kuba mwiza, ibanga, n'ubunyangamugayo.

`` python

Urugero rwibanga ryibanga muri Python

Kuva kuri cryptography.fernet itumiza Fernet

urufunguzo = Fernet.generate_key () cipher_suite = Fernet (urufunguzo)

data = b "Mwaramutse, Isi!" encrypted_data = cipher_suite.ibanga (data) icapiro (encrypted_data)

ibanga_data = cipher_suite.ibanga (encrypted_data) icapa (decrypted_data) `` `

2. Kugenzura

Kugenzura kwinjira ni tekinike igenga ushobora kubona amakuru yoroheje cyangwa gukora ibikorwa runaka. Ubu buryo butuma umutekano urushaho kuba mwiza, kubazwa, no kubahiriza.

`` genda // Urugero rwo kugenzura kwinjira muri Go paki nyamukuru

gutumiza mu mahanga ( "fmt" "log"

"github.com/dgrijalva/jwt-go"

)

imikorere nyamukuru () { ikimenyetso: = jwt.Amakuru mashya (jwt.GusinyaMethodHS256, jwt.MapClaims { "izina ukoresha": "urugero", "uruhare": "admin", })

IkimenyetsoString, amakosa: = ikimenyetso.SignString ([] byte ("ibanga"))
niba amakosa! = nil {
	log.Fatal (amakosa)
}

fmt.Println (tokenString)

} `` `

3. Kumenya Anomaly

Kumenya Anomaly nubuhanga bugaragaza imiterere idasanzwe cyangwa imyitwarire idasanzwe. Ubu buryo butuma umutekano urushaho kuba mwiza, gutahura, no gusubiza.

`` ingese // Urugero rwo gutahura anomaly muri Rust koresha rand :: Rng; koresha std :: ibyegeranyo :: HashMap;

fn nyamukuru () { reka mut rng = rand :: thread_rng (); reka mut data = HashMap :: shyashya ();

kuri _ muri 0..100 {
    reka agaciro = rng.gen_range (0..100);
    data.insert (agaciro, agaciro);
}

reka mut anomalies = Vec :: shyashya ();

kuri (urufunguzo, agaciro) muri data.iter () {
    niba * urufunguzo> 50 && * agaciro> 50 {
        anomalies.push (urufunguzo.clone ());
    }
}

println! ("" {:?} ", anomalies);

} `` `

Kugaragara

Dore urugero rwamashusho ukoresheje Chart.js kugirango ugaragaze ubunini ningamba zumutekano zaganiriweho muriyi ngingo.

json { "ubwoko": "akabari", "amakuru": { "ibirango": ["Microservices", "Containerisation", "Serverless"], "imibare": [ { "label": "Ubunini", "amakuru": [10, 20, 30], "backgroundColor": [ "rgba (255, 99, 132, 0.2)", "rgba (54, 162, 235, 0.2)", "rgba (255, 206, 86, 0.2)" ], "umupaka w'amabara": [ "rgba (255, 99, 132, 1)", "rgba (54, 162, 235, 1)", "rgba (255, 206, 86, 1)" ], "Ubugari bwumupaka": [1, 1, 1] }, { "label": "Umutekano", "amakuru": [20, 30, 40], "backgroundColor": [ "rgba (255, 99, 132, 0.2)", "rgba (54, 162, 235, 0.2)", "rgba (255, 206, 86, 0.2)" ], "umupaka w'amabara": [ "rgba (255, 99, 132, 1)", "rgba (54, 162, 235, 1)", "rgba (255, 206, 86, 1)" ], "Ubugari bwumupaka": [1, 1, 1] } ] }, "amahitamo": { "umunzani": { "yAxes": [ { "amatiku": { "gutangiraAtZero": ukuri } } ] } } } `

Iyi visualisation yerekana ubunini ninyungu z'umutekano bya buri ngamba, hamwe na microservices yerekana ubunini buke na seriveri idafite umutekano mwinshi.

Umwanzuro

Kubaka software idasubirwaho yububiko bwa porogaramu ikoreshwa na AI bisaba guhuza ibipimo byingamba hamwe numutekano. Mugihe twibanze kuri microservices yubatswe, kubika ibintu, hamwe na seriveri idafite seriveri, dushobora kugera ku bunini bunini kandi bworoshye. Mu kwibanda ku ibanga ryibanga, kugenzura uburyo, no gutahura ibintu bidasanzwe, dushobora kugera ku mutekano munini no kurinda. Muguhuza izi ngamba, turashobora kubaka software yububiko bworoshye kandi butekanye, kandi burashobora guhuza neza ibice bya AI mugihe twizeye umutekano nubusugire bwibikorwa byacu.

Reba

  • [1] "Microservices Architecture" na Martin Fowler
  • [2] "Containerisation" na Docker
  • [3] "Ubwubatsi bwa Serveri" by AWS
  • [4] "Data Encryption" by Cryptography
  • [5] "Kugenzura Igenzura" na JWT
  • [6] "Anomaly Detection" by Kwiga Imashini

Icyitonderwa: Iyi ngingo igamije intego zuburezi gusa kandi ntigomba gufatwa nkuyobora mu buryo bwuzuye bwo kubaka software idasubirwaho yububiko bwa porogaramu ikoreshwa na AI.


Have Questions?

Let's Talk

Contact me on LinkedIn