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.