成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

記錄一次AWS架構(gòu)面試內(nèi)容

bergwhite / 3230人閱讀

摘要:最近參加了一次架構(gòu)師的面試,吐槽一下整個(gè)面試時(shí)間相當(dāng)?shù)拈L(zhǎng),幾乎經(jīng)歷了半年左右,但是我也是抱著學(xué)習(xí)偉大的云產(chǎn)品的態(tài)度所以在整個(gè)過(guò)程中學(xué)到不少的云產(chǎn)品的功能設(shè)計(jì)等知識(shí),所以說(shuō)還是相當(dāng)有益處的。

最近參加了一次AWS 架構(gòu)師的面試,吐槽一下整個(gè)面試時(shí)間相當(dāng)?shù)拈L(zhǎng),幾乎經(jīng)歷了半年左右,但是我也是抱著學(xué)習(xí)偉大的AWS云產(chǎn)品的態(tài)度所以在整個(gè)過(guò)程中學(xué)到不少的云產(chǎn)品的功能、設(shè)計(jì)等知識(shí),所以說(shuō)還是相當(dāng)有益處的。
前面的幾關(guān)解答客戶(hù)需求筆試還是相當(dāng)順利,雖然最后在視頻面試會(huì)議中對(duì)可用區(qū)的概念上是被認(rèn)為是不了解,終止面試,但是最起碼對(duì)整個(gè)AWS云產(chǎn)品,包括在實(shí)際應(yīng)用中如何為客戶(hù)選擇有了一定的認(rèn)識(shí)。
言歸正傳記錄一下面試的內(nèi)容和思路

面試內(nèi)容引用原文:

BRIEF 
Imagine that you meet with a small startup company in the early stages of their
operations. Currently their architecture uses a LAMP stack with MySQL, Apache and PHP all running on one desktop PC within their small office. Like many small start-ups they are confident that they will be the next big thing and expect significant, rapid, yet un-quantified growth in the next few months. With this in mind, they are concerned about:
scaling to meet the demand, but with uncertainty around when and how much this
demand will be they are very concerned about buying too much infrastructure too
soon or not enough too late!
their lack of provision for Disaster Recovery
their ability to configure their database and data access layer for high performance and throughput
making the user experience in the browser very low latency even though a large
portion of their user base will be from far away
effective distribution of load
a self-healing infrastructure that recovers from failed service instances
security of data at rest and in transit
securing access to the environment as the delivery team expands
an archival strategy for inactive objects greater than 6 months
ability to easily manage and replicate multiple environments based on their blueprint architecture
OBJECTIVE
Recommend a manageable, secure, scalable, high performance, efficient, elastic, highly available, fault tolerant and recoverable architecture that allows the startup to organically grow. The architecture should specifically address the requirements/concerns as described above.
DELIVERABLES
(1) A well written document in PDF format with no more than 6 pages.
(Note: The proposal should be a document, not slides.)
(2) Clearly and succinctly present an analysis of the startups requirements of how and why use every AWS services specifically based on your understanding.
(3) Proposed architecture diagram give a detailed description for your architecture diagram and explained why you choose this solution. (4) Clearly state all assumptions and references made during the design and explicitly state the referenced Amazon Web Services.
Executive Summary Requirements Analysis

客戶(hù)采用的是典型的LAMP stack,系統(tǒng)通常會(huì)劃分為web層,app層,數(shù)據(jù)層,根據(jù)客戶(hù)的想法和關(guān)心可以通過(guò)如下幾方面闡述:

擴(kuò)大規(guī)模以滿(mǎn)足需求,但由于不確定這個(gè)需求的時(shí)間和程度,他們非常擔(dān)心過(guò)早購(gòu)買(mǎi)過(guò)多的基礎(chǔ)設(shè)施或者太晚了!

說(shuō)明用戶(hù)對(duì)未來(lái)規(guī)模不確定,如果過(guò)早投入必然造成資源和成本的浪費(fèi),太遲則可能會(huì)阻礙企業(yè)的發(fā)展。這樣就要求云計(jì)算具有彈性伸縮的能力,可以根據(jù)流量自動(dòng)擴(kuò)大或縮小服務(wù)的規(guī)模。
解決:可以使用 Amazon EC2 Auto Scaling 確保 EC2 隊(duì)列的可用性并根據(jù)其需求自動(dòng)擴(kuò)展和縮減該隊(duì)列,以最大限度提高性能和降低成本,同時(shí)實(shí)例類(lèi)型可以采用按需實(shí)例,實(shí)際消耗的計(jì)算容量支付費(fèi)用,而不是預(yù)留實(shí)例。

針對(duì)缺乏災(zāi)難恢復(fù)機(jī)制

自建機(jī)房部署方式如果出現(xiàn)故障會(huì)造成災(zāi)難性的后果,即使恢復(fù)也可能丟失掉部分?jǐn)?shù)據(jù)。做為云計(jì)算需要有快速恢復(fù)故障的能力同時(shí)確保數(shù)據(jù)的不丟失,
解決:采用Amazon EC2實(shí)例恢復(fù)的機(jī)制,如果實(shí)例出現(xiàn)問(wèn)題,替代實(shí)例可以在其中以可預(yù)見(jiàn)的方式快速啟動(dòng)。Amazon RDS使用了由主數(shù)據(jù)庫(kù)和備數(shù)據(jù)庫(kù)構(gòu)成的高可用數(shù)據(jù)庫(kù),通常備用實(shí)例也是存放在其他可用區(qū)中,Amazon RDS 會(huì)將數(shù)據(jù)同步復(fù)制到其他可用區(qū) (AZ) 的備用實(shí)例中,同時(shí)設(shè)置數(shù)據(jù)庫(kù)的快照。另外在發(fā)生硬件故障的情況下,Amazon RDS 將自動(dòng)更換用于支持部署的計(jì)算實(shí)例。

他們能夠配置數(shù)據(jù)庫(kù)和數(shù)據(jù)訪(fǎng)問(wèn)層以實(shí)現(xiàn)高性能和吞吐量

解決:可以通過(guò)Performance Insights分析和調(diào)整RDS 數(shù)據(jù)庫(kù)性能,幫助客戶(hù)快速評(píng)估關(guān)系數(shù)據(jù)庫(kù)工作負(fù)載的性能。
另外提高性能需要注意的有以下措施:
1、在配置方面可以采用高性能的存儲(chǔ)類(lèi)型(IOPS(SSD))保證數(shù)據(jù)庫(kù)提供高性能的讀寫(xiě)操作;
2、通過(guò)多個(gè)只讀副本讀寫(xiě)分離,從而負(fù)載數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn);
3、高性能數(shù)據(jù)庫(kù)必要的時(shí)候通過(guò)緩存減少數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)次數(shù)。

盡管他們的大部分用戶(hù)群來(lái)自遠(yuǎn)方,但使用戶(hù)在瀏覽器中的體驗(yàn)延遲非常低

要求我們的應(yīng)用可以被遠(yuǎn)端用戶(hù)以最小的網(wǎng)絡(luò)延遲被訪(fǎng)問(wèn),通常是采用CDN方式.
解決:通過(guò)CloudFront能夠使的邊緣站點(diǎn)緩存靜態(tài)數(shù)據(jù),加速分配給最終用戶(hù)的 Web 服務(wù)。

effective distribution of load

解決方案:EC2 可以通過(guò)Elastic Load Balancing 分發(fā)流量到后端多個(gè)應(yīng)用實(shí)例,根據(jù)流量的負(fù)載情況自動(dòng)擴(kuò)展。
通過(guò)使用Elasticache 緩存應(yīng)用數(shù)據(jù)來(lái)減少數(shù)據(jù)庫(kù)讀取的壓力。
數(shù)據(jù)查詢(xún)通過(guò)數(shù)據(jù)庫(kù)的只讀副本的方式,針對(duì)進(jìn)行大量讀取操作的數(shù)據(jù)庫(kù)負(fù)載靈活地進(jìn)行擴(kuò)展。

有效分配負(fù)載一個(gè)自我修復(fù)的基礎(chǔ)架構(gòu),可以從失敗的服務(wù)實(shí)例中恢復(fù)

要求服務(wù)實(shí)例具有在失敗中恢復(fù)的能力。
解決:通過(guò) Cloudwatch中定義的報(bào)警指標(biāo)檢測(cè)auto-scaling
您可以創(chuàng)建 Amazon CloudWatch 警報(bào)來(lái)監(jiān)控 Amazon EC2 實(shí)例。如果實(shí)例因需要 AWS 參與才能修復(fù)的基礎(chǔ)硬件故障或問(wèn)題而受損,可自動(dòng)恢復(fù)實(shí)例。

靜態(tài)和傳輸中的數(shù)據(jù)安全性

解決:作為web層提供服務(wù)給用戶(hù)采用https的方式,用戶(hù)可以通過(guò)AWS Certificate Manager 來(lái)申請(qǐng) SSL 證書(shū)。
數(shù)據(jù)安全通常做法在數(shù)據(jù)傳輸過(guò)程和存儲(chǔ)能夠加密的形式。
數(shù)據(jù)存儲(chǔ)的安全性通常的做法是使用加密算法存儲(chǔ)數(shù)據(jù),
對(duì)數(shù)據(jù)在傳輸過(guò)程中的安全,由于VPC起到了隔離資源的作用。那么在網(wǎng)絡(luò)層可以?xún)H由客戶(hù)使用IAM給定的特權(quán)來(lái)建立連接。數(shù)據(jù)在運(yùn)輸過(guò)程中可以通過(guò)SSL / TLS傳輸協(xié)議。

在交付團(tuán)隊(duì)擴(kuò)展時(shí)保護(hù)對(duì)環(huán)境的訪(fǎng)問(wèn),

解決:使用IAM定義,用戶(hù),角色,和組的不同權(quán)限,針對(duì)不同資源向不同人員授予不同權(quán)限, 例如,您可以允許某些用戶(hù)完全訪(fǎng)問(wèn) Amazon Elastic Compute Cloud (Amazon EC2)、Amazon Simple Storage Service (Amazon S3)、Amazon DynamoDB、Amazon Redshift 和其他 AWS 服務(wù)。對(duì)于另一些用戶(hù),您可以允許僅針對(duì)某些 S3 存儲(chǔ)桶的只讀訪(fǎng)問(wèn)權(quán)限,或是僅管理某些 EC2 實(shí)例的權(quán)限,或是訪(fǎng)問(wèn)您的賬單信息但無(wú)法訪(fǎng)問(wèn)任何其他內(nèi)容的權(quán)限。不必共享您的密碼或訪(fǎng)問(wèn)密鑰。

因?yàn)榻桓秷F(tuán)隊(duì)擴(kuò)展了超過(guò)6個(gè)月的非活動(dòng)對(duì)象的歸檔策略:

需要有一個(gè)存儲(chǔ)檔案的容器可以定期存在相關(guān)的日志和非活動(dòng)的對(duì)象。
解決:S3 可用來(lái)持久化靜態(tài)對(duì)象,例如,部署歸檔文件,腳本,數(shù)據(jù)庫(kù)備份文件和日志,媒體文件等。

可以根據(jù)其藍(lán)圖架構(gòu)輕松管理和復(fù)制多個(gè)環(huán)境。

解決:如果復(fù)制到不同region,可以采用AWS CloudFormation ,它提供了一種通用語(yǔ)言來(lái)描述和預(yù)配置您的云環(huán)境中的所有基礎(chǔ)設(shè)施資源。CloudFormation 使您可以跨所有地區(qū)和賬戶(hù)使用簡(jiǎn)單的文本文件以自動(dòng)化的安全方式為您的應(yīng)用程序需要的所有資源建模并對(duì)其進(jìn)行預(yù)配置。
另外可以使用BeanStalk,通過(guò)使用BeanStalk快速部署PHP應(yīng)用程序

Solution Design 系統(tǒng)架構(gòu)圖:

使用了一個(gè)網(wǎng)上在線(xiàn)制圖網(wǎng)站Freedgo Design 其訪(fǎng)問(wèn)地址為: https://www.freedgo.com.
freedgo Design 是一個(gè)多種類(lèi)型圖表的在線(xiàn)繪制軟件,讓您創(chuàng)建 阿里云架構(gòu)圖 騰訊云架構(gòu)圖 Oracle云架構(gòu)圖 AWS系統(tǒng)部署圖 軟件架構(gòu)圖, UML,BPMN,ERD,流程圖,UX設(shè)計(jì)圖,ANT DESIGN,思維導(dǎo)圖,圖表。 可以做到注冊(cè)用戶(hù)免費(fèi)使用。
具體繪制步驟如下:

打開(kāi) Freedgo Design注冊(cè)頁(yè)面 , 先點(diǎn)擊注冊(cè)成為注冊(cè)用戶(hù),F(xiàn)reedgo Design提供郵箱、微信、QQ、微博等多種注冊(cè)方式。

注冊(cè)成功后,點(diǎn)擊 開(kāi)始制作 按鈕,然后就進(jìn)入制圖工具頁(yè)面進(jìn)行繪制。

選擇菜單文件-> 從類(lèi)型中新建 -> 云架構(gòu) -> AWS

架構(gòu)預(yù)覽

Design Detail 網(wǎng)絡(luò)層

Route53:實(shí)現(xiàn)的DNS域名解析服務(wù),通過(guò)CNAME連接到CloudFront endpoint 。
cloudFront: 實(shí)現(xiàn)全球內(nèi)容發(fā)布網(wǎng)絡(luò),用戶(hù)請(qǐng)求將被引導(dǎo)到最低延遲的節(jié)點(diǎn),提供傳送的內(nèi)容最佳性能,需要設(shè)置cloudFront 設(shè)置訪(fǎng)問(wèn)源為應(yīng)用的ELB節(jié)點(diǎn)。
AWS Regoin 是應(yīng)用部署的區(qū)域,一個(gè)Region可以有A-Z可用區(qū)。

Route53: Implemented the DNS domain name resolution service, connecting to the CloudFront endpoint via CNAME.
cloudFront: Implementing a global content delivery network, user requests will be directed to the lowest latency node, providing the best performance for the delivered content. You need to set the cloudFront to set the access source to the application"s ELB node.
AWS Regoin is the area where the application is deployed. A Region can have an A-Z Availability Zone.

應(yīng)用層

autoScaling:
Auto Scaling與 ELB 集成來(lái)實(shí)現(xiàn)應(yīng)用服務(wù)的可用性和擴(kuò)展性,將ELB附加到現(xiàn)有 Auto Scaling組實(shí)現(xiàn)負(fù)載均衡,它能夠自動(dòng)注冊(cè)組內(nèi)的實(shí)例,并將傳入請(qǐng)求分配給這些實(shí)例。 在可用性方面,如果有服務(wù)失敗宕機(jī),那么auto-scaling 能夠迅速發(fā)現(xiàn)問(wèn)題機(jī)器并啟動(dòng)一臺(tái)新的機(jī)器,持續(xù)服務(wù)。在擴(kuò)展性方面使用 Auto Scaling,可以設(shè)置Min/MaX/參數(shù)實(shí)現(xiàn)自動(dòng)擴(kuò)縮 EC2 的服務(wù)實(shí)例數(shù)量。 AutoScaling組中的每個(gè)實(shí)例都在不同的可用區(qū),防止在可用區(qū)發(fā)生故障

數(shù)據(jù)層

elasticache:
使用ElastiCache Redis 提高生產(chǎn)部署的可靠性,緩解前端請(qǐng)求對(duì)數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)的壓力,降低延遲,還可以起到防災(zāi)、減災(zāi)的作用。
Redis 復(fù)制組包含一個(gè)應(yīng)用程序可讀寫(xiě)入的主節(jié)點(diǎn)和 2個(gè)只讀副本節(jié)點(diǎn)。在向主節(jié)點(diǎn)寫(xiě)入數(shù)據(jù)時(shí),也會(huì)在只讀副本節(jié)點(diǎn)上異步更新數(shù)據(jù)。 這樣可以有效的防止節(jié)點(diǎn)故障,而在兩個(gè)可用區(qū)各分別部署一個(gè)集群服務(wù),主要是為了避免可用區(qū)故障。
DataBase:
數(shù)據(jù)庫(kù)負(fù)責(zé)數(shù)據(jù)庫(kù)的高可用和高性能的數(shù)據(jù)存儲(chǔ),一個(gè)高可用的數(shù)據(jù)庫(kù)通常包含兩個(gè)數(shù)據(jù)庫(kù)實(shí)例:一個(gè)主數(shù)據(jù)庫(kù)和備用數(shù)據(jù)庫(kù)。當(dāng)所有請(qǐng)求發(fā)送到主數(shù)據(jù)庫(kù)時(shí),由 RDS實(shí)例來(lái)負(fù)責(zé)響應(yīng)服務(wù)器請(qǐng)求,完成對(duì)數(shù)據(jù)的讀寫(xiě)操作。主和備用數(shù)據(jù)庫(kù)之間的數(shù)據(jù)同步復(fù)制。如果主數(shù)據(jù)庫(kù)由于硬件或網(wǎng)絡(luò)故障而不可用時(shí),RDS會(huì)自動(dòng)偵測(cè)到故障,啟動(dòng)故障轉(zhuǎn)移過(guò)程,備用數(shù)據(jù)庫(kù)將成為了主數(shù)據(jù)庫(kù),同時(shí)DNS也會(huì)自動(dòng)更新,來(lái)實(shí)現(xiàn)快速故障轉(zhuǎn)移。

VPC&安全組設(shè)置

每一層都設(shè)計(jì)了安全組和子網(wǎng),能夠更加有效提供安全保障機(jī)制。
在應(yīng)用層autoScaling的安全控制中定義允許如何位置的訪(fǎng)問(wèn)應(yīng)用的80和443端口,允許互聯(lián)網(wǎng)的用戶(hù)訪(fǎng)問(wèn)入口, 定義ssh 22端口 指定特定位置的訪(fǎng)問(wèn)。

數(shù)據(jù)層設(shè)置安全組的入站策略中定義允許應(yīng)用訪(fǎng)問(wèn)MYSQL/Aurora的3306端口
Elasticache安全組的入站策略中定義允許應(yīng)用訪(fǎng)問(wèn)自定義TCP訪(fǎng)問(wèn)redis的端口
 
監(jiān)控

系統(tǒng)可以通過(guò)使用CloudWatch來(lái)監(jiān)控整個(gè)系統(tǒng)的內(nèi)存使用率、處理器利用率、緩存命中率等一系列指標(biāo)來(lái)監(jiān)控服務(wù)器運(yùn)行狀況。

Summary

創(chuàng)業(yè)公司提出的需求正是云平臺(tái)提供商所要解決的問(wèn)題,如何提供可管理的,高性能,高可用,安全的基礎(chǔ)服務(wù)平臺(tái),同時(shí)方便用戶(hù)日常的維護(hù),發(fā)布和應(yīng)對(duì)突發(fā)事件的能力。
高性能:也是客戶(hù)非常關(guān)注的,AWS幾乎覆蓋全世界11個(gè)主要區(qū)域,42個(gè)可用區(qū),52個(gè)邊緣站點(diǎn),在提供高可用的服務(wù)同時(shí),也能夠提供高性能服務(wù)。AWS在各個(gè)層提供了各種類(lèi)型的主機(jī)類(lèi)型,內(nèi)存優(yōu)化,存儲(chǔ)優(yōu)化等等,適應(yīng)不同的需求。
高可用性:無(wú)論是APP層的AutoScaling、數(shù)據(jù)庫(kù)、S3都會(huì)提供若干應(yīng)用的副本,而且是在不同的可用區(qū),這個(gè)可以保證一個(gè)可用區(qū)不可用時(shí),應(yīng)用可以快速切換到另外的可用區(qū),做到高可用。
安全性:AWS通過(guò)自動(dòng)監(jiān)控系統(tǒng)可以做到保護(hù)網(wǎng)絡(luò)和增強(qiáng)互聯(lián)網(wǎng)接入的安全性,通過(guò)VPC和安全組的控制,做到網(wǎng)絡(luò)的安全性和隔離。

References

在線(xiàn)制圖工具: https://www.freedgo.com
Router53 使用:https://www.cnblogs.com/huang...
Cloudfront: https://console.aws.amazon.co...
Route 53 console:
RDS console: https://us-east-2.console.aws...:id=csydb;is-cluster=false

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/74517.html

相關(guān)文章

  • 「真?全棧之路」Web前端開(kāi)發(fā)的后端指南

    前言 在若干次前的一場(chǎng)面試,面試官看我做過(guò)python爬蟲(chóng)/后端 的工作,順帶問(wèn)了我些后端相關(guān)的問(wèn)題:你覺(jué)得什么是后端? 送命題。當(dāng)時(shí)腦瓦特了,答曰:邏輯處理和數(shù)據(jù)增刪改查。。。 showImg(https://user-gold-cdn.xitu.io/2019/4/24/16a4ed4fc8c18078); 當(dāng)場(chǎng)被懟得體無(wú)完膚,羞愧難當(dāng)。事后再反思這問(wèn)題,結(jié)合資料總結(jié)了一下。發(fā)現(xiàn)自己學(xué)過(guò)的Re...

    chuyao 評(píng)論0 收藏0
  • 無(wú)服務(wù)器架構(gòu)(Serverless Architectures)(上)

    摘要:原文作者無(wú)服務(wù)器架構(gòu)是指一個(gè)應(yīng)用大量依賴(lài)第三方服務(wù)后端即服務(wù),,簡(jiǎn)稱(chēng),或者把代碼交由托管的短生命周期的容器中執(zhí)行函數(shù)即服務(wù),,簡(jiǎn)稱(chēng)。這些服務(wù)最早被稱(chēng)為,下文將對(duì)此簡(jiǎn)稱(chēng)為。是目前的熱門(mén)實(shí)現(xiàn)之一,下文將對(duì)此簡(jiǎn)稱(chēng)為。它同樣經(jīng)由網(wǎng)關(guān)暴露給外部使用。 譯注: 為了便于對(duì)照參考,Serverless、BaaS 等術(shù)語(yǔ)文中不做翻譯。 原文很長(zhǎng),這里分成上下兩篇。翻譯過(guò)程在 GitHub 上進(jìn)行。...

    ConardLi 評(píng)論0 收藏0
  • 關(guān)于Serverless架構(gòu)及平臺(tái)選擇,你知道多少?

    摘要:初版在年月發(fā)布,隨后在月正式發(fā)布。架構(gòu)屬于平臺(tái)即服務(wù),針對(duì)事件驅(qū)動(dòng),短暫性的工作負(fù)載。架構(gòu)平臺(tái)選擇目前最有效構(gòu)建架構(gòu)方法是在眾多架構(gòu)平臺(tái)中選擇其一,并充分利用它所有的功能,以下將列舉幾個(gè)架構(gòu)平臺(tái)亞馬遜推出了第一個(gè)的云服務(wù)平臺(tái)。 showImg(https://segmentfault.com/img/remote/1460000009775604?w=640&h=356); 數(shù)人云近來(lái)...

    oysun 評(píng)論0 收藏0
  • 為什么是無(wú)服務(wù)器計(jì)算?第一手AWS lambda測(cè)試報(bào)告!

    摘要:重新修改圖片大小然后上傳到亞馬遜,是最常見(jiàn)用于解釋事件驅(qū)動(dòng)的示例,計(jì)算即服務(wù)平臺(tái)的仍然保留了這個(gè)例子,如下圖一個(gè)圖片被上傳到一個(gè)桶中,觸發(fā)一個(gè)執(zhí)行函數(shù)的事件。無(wú)服務(wù)器架構(gòu)代表了一種非常不同的心態(tài)。 為什么一名開(kāi)發(fā)者應(yīng)該使用AWS Lambda?簡(jiǎn)單一句話(huà)的說(shuō),AWS Lambda-是另外一種事件驅(qū)動(dòng)方式,fu...

    acrazing 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<