CST438 - Week 6 Reflection

 Write a weekly entry describing important things you learned this week.


        At first glance, this week's reading materials appear to cover different territories while ultimately tying together nicely and cohesively. The weekly SAG reading, written piece on React material, and Assignment 4 description all concern maintainable, scalable, and thoroughly tested software on both an infrastructural and application level. SAG introduced Compute as a Service (CaaS) to explain how Google transitioned from manual server management to automated compute platforms such as Borg. Borg would later inspire systems such as Kubernetes, this innovation would become a mainstay in development as developers could now decide which machine runs an application and automatically deploy workloads, allocate resources, monitor health, and restart failed services. The chapter illustrated how manual work does not scale and automation is instead a necessity as an organization grows. I know I am experiencing this at my work both within and without the scope of development operations. I found the chapter's mention of "pets" and "cattle" as a bit peculiar while still retaining enough sensibility and logic to be a reasonable name scheme. Traditional servers can be treated like pets--they can be managed individually amid health problems and failures. Cloud-native systems will treat servers and containers as cattle--they can be replaced upon failure. Engineers are then allowed to anticipate failures will happen and can then respond appropriately with protecting important data via persistence and building services that restart without engineer intervention. Mentions of stateless applications, idempotent requests, and containerization helped to close a few gaps I come across working as a bit of a multitool within my IT department.

        The React reading had a bit more emphasis on fronted design but ultimately served to reinforce similar design principles discussed in the SAG reading. Reducing duplicated DOMs, simplifying state management, improving maintainability, and making automated testing more reliable all feel aligned to the principles and methodology SAG pushes forward as the optimal approach to developing solid and scalable product. This week's assignment additionally builds on these approaches via system testing with Selenium. While this has been somewhat covered in lab assignments, I find covering previously treaded ground tends to be the best way to truly retain and understand a technical concept within this online program. The overarching lesson of the week appears to be system testing and how to focus on end-to-end workflows over manual code coverage that quickly loses scalability and repeatability. 

Comments

Popular posts from this blog

CST438 - Week 1 Learning Journal

CST462 - Service Learning Reflection: LibreOffice

CST370 - Week 7 Reflection