Agile Cloud Automation
Module code: CO7217
Cloud-based software system development involves a wide range of languages and notations, from high-level business modelling languages to low-level scripting languages, with many different abstraction facilities.
Domain specific languages (DSLs) help to close this implementation gap by combining the most advantageous aspects of both business experts and developers, improving software interoperability and quality, and increasing productivity and ROI in software development processes. As an example, LinkedIn managed to drastically shorten their release cycle from one feature every two weeks in 2011 to two features a day in 2013 by using the Gradle DSL for automating software builds as part of their software infrastructure.
As a result, there is a wide choice of languages for implementing business logic (such as the number of DSLs built atop JavaScript that are born on a weekly basis), for persisting big data in a scalable manner (such as the wide range of persistence platforms under the NoSQL umbrella), and for building and deploying software on the cloud (such as build automation tools like Gradle).
Becoming polyglot in a cloud-based age is therefore an invaluable skill for managers and developers. In this module, you will study approaches and technologies for the use and development of DSLs in the three areas mentioned above for cloud-based software development.
Topics covered
- Agile software build automation
- NoSQL
- Design and implementation of DSLs