Scalable Systems and Development Processes
A tantárgyleírás hatályossága
| Subject name (Hungarian, English) |
Skálázható rendszerek és fejlesztési folyamatok
Scalable Systems and Development Processes
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Subject code | BMEVIMIA021 | ||||||||||||
| Subject type | — | ||||||||||||
| Training Level | — | ||||||||||||
| Course types and hours (weekly/semester) |
|
||||||||||||
| Assessment type | vizsga | ||||||||||||
| Credits | 2 | ||||||||||||
| Subject coordinator |
Dr. Pataricza András
position: egyetemi docens
contact:
pataricza.andras@vik.bme.hu
|
||||||||||||
| Responsible department |
Mesterséges Intelligencia és Rendszertervezés Tanszék
|
||||||||||||
| Faculty | Villamosmérnöki és Informatikai Kar | ||||||||||||
| Subject website | — | ||||||||||||
| Primary curriculum type | — | ||||||||||||
| Direct prerequisites – Strong prerequisite | none | ||||||||||||
| Direct prerequisites – Weak prerequisite | none | ||||||||||||
| Direct prerequisites – Parallel prerequisite | none | ||||||||||||
| Direct prerequisites – Milestone prerequisite | none | ||||||||||||
| Direct prerequisites – Exclusion | none |
Objectives
Part 1: Building Scalable Products
L1: Aspects of scalability and how to measure it.
● Data storage. Capacity, throughput, load.
● Parallel computing. Speedup, efficiency.
● Compute server. Megaflops.
● Network. Throughput, load, capacity
● Application load. qps, users
L2-L3: Scalable Storage Technologies
● Sql.
● Bigtable, Datastore.
● BigQuery, Cloud storage. Paxos.
L4: Distributed Computing
● Parallel algorithms
● MapReduce, MillWheel
● Flume
L5: Networking
● Messaging. Pub/sub
● Load balancing, DNS
● Logging, monitoring
L6: Computing in the Cloud, Case studies.
● Google App Engine
● Amazon Web Services
Part 2. Scaling the Engineering Processes
L7: Measurements
● Code. complexity. LOC.
● Measuring and tracking code health.
● Size, number of bugs, trends in it.
● Code size/Organization size
● Code complexity/Organization complexity
L8: Open Source
● Using open source as a free and infinite resource.
● Releasing code into open source as a business decision
L9-L10: Coding
● Standards, extensions, libraries. Portability, platform independence.
● Agile programming. Pair programming.
● Source Control. Code review. Check-in process.
● Code reuse. Module replacement, rewrite.
● Build. Libraries, continuous build.
L11-L12: Testing
● Testing frameworks.
● Testing during development.
● Black box, white box, grey box testing.
● Unit test. System test. Integration test. Performance test. Regression test.
● Continuous testing.
L13-L14: Running the System
● Monitoring.
● Minor, major upgrade. Canary, roll-back.
● Alerts, alarms. Triggering, escalating.
● Crash recovery. Post mortem.
Learning outcomes
Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:
Knowledge
No learning outcomes recorded.
Skills
No learning outcomes recorded.
Attitudes
No learning outcomes recorded.
Autonomy and responsibility
No learning outcomes recorded.
Oktatási módszertan
Tanulástámogató anyagok
Not provided.
Recommended preliminary knowledge for completing the subject
General rules
Assessment methods
In-term assessments
No detailed assessments provided.
Weight of in-term assessments
No weights provided.
Exam-period assessments
No detailed assessments provided.
Weight of exam elements
No weights provided.
Grade calculation
No grade thresholds provided.
Attendance requirements
No attendance requirements provided.
Rules for retake and resubmission
Not provided.
Short description
Not provided.
Detailed description
Not provided.
Recommended courses
Not provided.
Workload to complete the subject
No workload breakdown provided.
Validity of subject requirements
Curriculum placement
No curriculum placements recorded for this subject version.