{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Software Development and Design" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exam topics covered: \n", "1.1 Describe distributed applications related to the concepts of front-end, back-end, and load balancing\n", "\n", "1.2 Evaluate an application design considering scalability and modularity\n", "\n", "1.3 Evaluate an application design considering high-availability and resiliency (including on-premises, hybrid, and cloud)\n", "\n", "1.4 Evaluate an application design considering latency and rate limiting\n", "\n", "1.5 Evaluate an application design and implementation considering maintainability\n", "\n", "1.6 Evaluate an application design and implementation considering observability\n", "\n", "1.7 Diagnose problems with an application given logs related to an event\n", "\n", "1.8 Evaluate choice of database types with respect to application requirements (such as relational, document, graph, columnar, and Time Series)\n", "\n", "1.9 Explain architectural patterns (monolithic, services oriented, microservices, and event driven)\n", "\n", "1.11 Explain the concepts of release packaging and dependency management\n", "\n", "1.12 Construct a sequence diagram that includes API calls" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Architectural Patterns\n", "\n", "### Monolithic\n", "\n", "- An application which combines all components into a single program\n", "- All software components of an application are assembled together and tightly packaged\n", "- Lack of modularity means the application is difficult to scale, or to swap components\n", "- Difficult to maintain and update because all code is in a single large program\n", "- Longer software development cycles, typically with months or even years between releases\n", "- Mainframe apps were designed using this approach\n", "\n", "### Service-Oriented\n", "\n", "- Service-oriented architecture integrates distributed, separately maintained and deployed software components\n", "- Each service represents a business activity\n", "- Consumers of the services do not need to understand the service inner workings, therefore different services can be implemented using completely different programming languages\n", "- Services run separately and communicate laterally across an Enterprise Service Bus (ESB), which is commonly implemented across an IP network\n", "- A service presents a simple interface to the requester that abstracts away the underlying complexity. (ex. SOAP)\n", "- Services components can be reused across applications (ex. sharing a database)\n", "- built on the idea of \"share-as-much-as-possible\"\n", "\n", "\n", "### Microservices\n", "- Structures an application as a collection of small services that are self-contained, each implementing a single business function\n", "- Similar concept to Service Oriented, however with microservices the services are even more distributed into single-purpose services that do one thing really well\n", "- Microservices communicate with each other using an API, typically a lightweight protocol such as HTTP/REST or AQMP\n", "- Services are typically containerized using a container runtime such as Docker\n", "- Easy to scale and/or swap components\n", "- Common for each service to have its own data store. (Ex. Web front-end uses MySQL database, while Shopping Cart functionality uses MongoDB)\n", "- New features can quickly and easily be implemented\n", "- Short software development lifecycle, weeks, days or even hours\n", "- built on the idea of \"share-as-little-as-possible\"\n", "\n", "### Event Driven\n", "- Services are distributed into components that handle a specific event (ex. user submits an order). These events are propagated on a message queue where other services (Subscribers) can take some action based on the event\n", "- Services communicate amongst each other using a messsage queue\n", "- A broker (or mediator) serves as an aggregation point for other services\n", "- Publishers are services that add messages to a message queue that the broker manages\n", "- Subscribers process the messages that were put on the queue by the subscribers\n", "- Queue is a first-in first-out (FIFO) \n", "- Kafka and RabbitMQ are common message queue implementations\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Scalability\n", "\n", "### Vertical Scaling\n", "- Scale up\n", " - Make something bigger, such as increasing cpu/memory on a server\n", "- Scale down\n", " - Making something smaller by reducing capacity. Ex. Decreasing the amount of memory allocated to a VM because it is not being used. \n", " \n", "### Horizontal Scaling\n", "- Scale out\n", " - Increasing the number of instances of an application to meet an increase in demand\n", "- Scale in\n", " - Decreasing the number of instances of an application, to release resources that are not being utilized" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Modularity\n", "\n", "- Provides the ability to change components of the application (ex. change the database)\n", "- Monolithic applications are not modular at all, whereas Microservices are highly modularized" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## High Availability\n", "\n", "- Measures responsiveness to a request\n", "- Consider the ability of the application to recover from a failure of a single resource\n", "- Fate sharing is the likelihood of a single component failure impacting the application (ex. all services running on the same physical machine)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Latency and Rate Limiting\n", "\n", "### Latency\n", "- Delay incurred when a request is received\n", "- The more distributed the application, the more likely that latency can become a problem\n", "- Monoliths have very low latency, while microservices depend on the latency of the network they are communicating across\n", "\n", "### Rate Limiting\n", "- Intentionally throttling requests in order to prevent overwhelming a service" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Maintainability\n", "\n", "- How easy/difficult is it to make a change to the application without breaking it, or being able to easily determine if a change broke the application by testing.\n", "\n", "Characteristics of a Maintainable Application:\n", "- Availability of tests, and automated testing\n", "- Understandability. Code is properly indented, commented, and conforming to coding standards\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Observability\n", "\n", "- The ability to be able to explain what is happening inside the application by observing what is happening from outside the application\n", "- Some examples of observability:\n", " - implementing a logging system with the ability to increase the verbosity of logging for troubleshooting\n", " - automated log generation and bundling for offline analysis\n", " - error condition reporting to external systems (email, etc.)\n", " - system health indicators that provide up/down status of a service" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Databases\n", "\n", "### Relational\n", "- Data stored in tables\n", "- One field in each table must be designated as the Primary Key\n", "- Commonly use SQL (Structured Query Language)\n", "\n", "### Document\n", "- Could be a collection of JSON dictionaries\n", "- Collection of dictionaries is a \"book\"\n", "- Can easily add extra, optional fields\n", "- Works well for catalogs, user profiles, and content management systems where each document is unique and evolves over time\n", "- Great for eCommerce and/or blog/video sites\n", "- MongoDB is a Document database\n", "\n", "### Graph\n", "- Primarily concerned with relationships\n", "- Consist of Nodes and Edges (a.k.a. relationships)\n", "- Nodes carry individual record data\n", "- Edges carry information about relationships between nodes\n", "- Good for modeling inter-dependencies between data\n", "- Social networking applications (Twitter, Facebook, etc.) would be a good candidate\n", "- Also commonly used in fraud detection and recommendation engines (making product recommendations based on others who have similar purchase history)\n", "- Neo4J and Cassandra are examples of graph databases\n", "\n", "### Columnar\n", "- Uses tables to store data, but do so by column rather than row\n", "- Data is read and written by column rather than row\n", "- Optimized for fast retrieval of columns of data\n", "- SQL is used to query\n", "- Performs poorly with a small number of rows\n", "- Adding new rows is slow since data in each column needs to be written individually\n", "- Ideal for Data Warehousing and Big Data applications\n", "- Druid is a column-oriented data store that is used widely today\n", "\n", "### Time Series\n", "- Uses tables to store data\n", "- Have a column with a timestamp for each event\n", "- Typically work with monitoring and graphing applications\n", "- InfluxDB is an example of a Time Series database\n", "- Popular for IoT applications" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Release Packaging and Dependency Management\n", "\n", "Release packaging is how software is bundled up for delivery to end users. It is closely related with dependency management, which is the concept of bundling in any required packages that are needed for the software to operate. A good release packaging and dependency management strategy bundles in all required dependencies into a single package, or installer file. On Windows, this might be an .msi file, or a .rpm for Linux. The developer should identify all dependencies up front and bundle them into the installer package. Ideally the software testing process will include testing the installer on a clean system that has never had the application before. This will help to identify any dependencies that the developer may have had on their system that they failed to include in the installer package. \n", "\n", "Python dependencies can be identified with pip using the `pip freeze` command. The output of that command can be saved as a text file and fed into the installer on another system using the `pip install --requirement [filename]` command. This will install all of the requirements as were captured by the `pip freeze` command. \n", "\n" ] }, { "attachments": { "image.png": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA40AAAHFCAYAAABWwBwRAAAgAElEQVR4Aey9B3Rkx3mmLa/Wsn28/7+7XmtteeXsf+1j2Wt7LYkKloOsLFGSRUm0xNWKoqhAURJFimJOQ85wmIYznJxzwACYGeScc845Z6CRgU7oRvj+836YHgFDAI3Qt9G3+73nNNB9Q9VXT1Xdqre+unXfIdzWTWBqakoeeOAB2bVrl1RXV6/7Op5IAiQQWgQaGhpk9+7dUlZWFloJZ2pJgARCigD7RSGV3UxsiBN4R4inn8knARIgARIgARIgARIgARIgARJYgwBF4xpweIgESIAESIAESIAESIAESIAEQp0ARWOolwCmnwRIgARIgARIgARIgARIgATWIEDRuAYcHiIBEiABEiABEiABEiABEiCBUCdA0RjqJYDpJwESIAESIAESIAESIAESIIE1CFA0rgGHh0iABEiABEiABEiABEiABEgg1AlQNIZ6CWD6SYAESIAESIAESIAESIAESGANAhSNa8DhIRIgARIgARIgARIgARIgARIIdQIUjaFeAph+EiABEiABEiABEiABEiABEliDAEXjGnB4iARIgARIgARIgARIgARIgARCnQBFY6iXAKafBEiABEiABEiABEiABEiABNYgQNG4BhweIgESIAESIAESIAESIAESIIFQJ0DRGOolgOknARIgARIgARIgARIgARIggTUIUDSuAYeHSIAESIAESIAESIAESIAESCDUCVA0hnoJYPpJgARIgARIgARIgARIgARIYA0CFI1rwOEhEiABEiABEiABEiABEiABEgh1AhSNoV4CmH4SIAESIAESIAESIAESIAESWIMAReMacHiIBEiABEiABEiABEiABEiABEKdAEVjqJcApp8ESIAESIAESIAESIAESIAE1iBA0bgGHB4iARIgARIgARIgARIgARIggVAnQNEY6iWA6ScBEiABEiABEiABEiABEiCBNQhQNK4Bh4dIgARIgARIgARIgARIgARIINQJUDSGeglg+kmABEiABEiABEiABEiABEhgDQIUjWvA4SESIAESIAESIAESIAESIAESCHUCFI2hXgKYfhIgARIgARIgARIgARIgARJYgwBF4xpweIgESIAESIAESIAESIAESIAEQp0ARWOolwCmnwRIgARIgARIgARIgARIgATWIEDR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tzp7J2pnxzmNrRySTXVOYDzZKddvD8pTtzrv3OxsuDsC9SiBpXvPy+D5q+5s2k4JLEjg341h+enK/fLfq9GCVrQMgf8FhMakvwn1bMbhaFqG42nSDrVFYPECu7ulvB5NynTqjZjF61uxLwL1zZl6/RqNnTHcl5nr890FJtPdsr45KlMfCLw7mmeGCAiNIYyKECBAgAABAgQIECBAIKeA0JhzrroiQIAAAQIECBAgQIBAiIDQGMKoCAECBAgQIECAAAECBHIKCI0556orAgQIECBAgAABAgQIhAgIjSGMihAgQIAAAQIECBAgQCCngNCYc666IkCAAAECBAgQIECAQIiA0BjCqAgBAgQIECBAgAABAgRyCgiNOeeqKwIECBAgQIAAAQIECIQICI0hjIoQIECAAAECBAgQIEAgp4DQmHOuuiJAgAABAgQIECBAgECIgNAYwqgIAQIECBAgQIAAAQIEcgoIjTnnqisCBAgQIECAAAECBAiECAiNIYyKECBAgAABAgQIECBAIKeA0JhzrroiQIAAAQIECBAgQIBAiIDQGMKoCAECBAgQIECAAAECBHIKCI0556orAgQIECBAgAABAgQIhAgIjSGMihAgQIAAAQIECBAgQCCngNCYc666IkCAAAECBAgQIECAQIiA0BjCqAgBAgQIECBAgAABAgRyCgiNOeeqKwIECBAgQIAAAQIECIQICI0hjIoQIECAAAECBAgQIEAgp4DQmHOuuiJAgAABAgQIECBAgECIgNAYwqgIAQIECBAgQIAAAQIEcgoIjTnnqisCBAgQIECAAAECBAiECAiNIYyKECBAgAABAgQIECBAIKeA0JhzrroiQIAAAQIECBAgQIBAiIDQGMKoCAECBAgQIECAAAECBHIKCI0556orAgQIECBAgAABAgQIhAgIjSGMihAgQIAAAQIECBAgQCCngNCYc666IkCAAAECBAgQIECAQIiA0BjCqAgBAgQIECBAgAABAgRyCgiNOeeqKwIECBAgQIAAAQIECIQICI0hjIoQIECAAAECBAgQIEAgp4DQmHOuuiJAgAABAgQIECBAgECIgNAYwqgIAQIECBAgQIAAAQIEcgoIjTnnqisCBAgQIECAAAECBAiECAiNIYyKECBAgAABAgQIECBAIKeA0JhzrroiQIAAAQIECBAgQIBAiIDQGMKoCAECBAgQIECAAAECBHIKCI0556orAgQIECBAgAABAgQIhAgIjSGMihAgQIAAAQIECBAgQCCngNCYc666IkCAAAECBAgQIECAQIjAG4dBMF6fhPzOAAAAAElFTkSuQmCC" } }, "cell_type": "markdown", "metadata": {}, "source": [ "## API Sequence Diagrams\n", "\n", "A Sequence Diagram is used to illustrate the process of how different application services communicate to perform an action. Consider an eCommerce site, when a user wants to purchase an item they put items in the cart and when ready they initiate the checkout process. The checkout process might involve several different services and/or systems such as credit card transaction processing, shipping, and others. A sequence diagram could be used to diagram the interactions between these various components. The sequence diagram will typically have the services listed across the top and/or bottom of the diagram, with arrows showing the communication between components. Below is an example sequence diagram.\n", "\n", "\n", "\n", "The above example was taken from a site called Creately, which has a great tutorial and more examples here: https://creately.com/blog/diagrams/sequence-diagram-tutorial/\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.2" } }, "nbformat": 4, "nbformat_minor": 4 }