Category: Ultra-Large-Scale Systems

Date: January 21, 2015 Time: 1:30 PM ET - 3:00 PM ET Cost: Free

About the Webinar

Trends and New Directions in Software Architecture, by Linda Northrop 1:30 PM ET - 2:15 PM ET Software architecture has enormous influence on the behavior of a system. For many categories of systems, early architectural decisions can be a greater influence on success than nearly any other factor. After more than twenty years of research and practice, the foundations for software architecture have been established and codified, but challenges remain. Among other trends, increased connectivity, a shift to the cloud and to mobile platforms, and increased operational and market tempos have precipitated the need for changes in architectural practices and decisions. The first talk shares a perspective on the trends influencing the need for change, the related architectural challenges, and the applicable research and practices.

Notes by Ziyad Alsaeed, edited by Tamara Marshall-Keim BI/Big Data Reference Architectures and Case Studies Serhiy Haziyev and Olha Hrytsay, SoftServe, Inc. Serhiy and Olha shared their experience with the tradeoff between modern and traditional (non-relational and relational) reference architectures. They looked into the challenges associated with each approach and gave tips from real-life case studies on how to deal with big data reference architecture. As a reminder, they visited some of the known big data challenges:

  • Data is generated from many and different sources.
  • As data grows, it becomes complicated and heterogeneous (velocity and volume) until it’s no longer manageable.

Many types of software systems, including big data applications, lend them themselves to highly incremental and iterative development approaches. In essence, system requirements are addressed in small batches, enabling the delivery of functional releases of the system at the end of every increment, typically once a month. The advantages of this approach are many and varied. Perhaps foremost is the fact that it constantly forces the validation of requirements and designs before too much progress is made in inappropriate directions. Ambiguity and change in requirements, as well as uncertainty in design approaches, can be rapidly explored through working software systems, not simply models and documents. Necessary modifications can be carried out efficiently and cost-effectively through refactoring before code becomes too "baked" and complex to easily change. This blog post at the SEI Blog by Ian Gorton of the SEI, the second in a series addressing the software engineering challenges of big data, explores how the nature of building highly scalable, long-lived big data applications influences iterative and incremental design approaches.