Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Informatics systems

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Wird geladen in …3
×

Hier ansehen

1 von 153 Anzeige

Informatics systems

Herunterladen, um offline zu lesen

Complex systems,
Software systems,
Database systems,
Operating systems,
Bioinformatics systems,
Social Systems,
Service Oriented Systems,
Cloud Systems,
Ubiquitous systems,
Distributed Version Control Systems (GitHub), and
Software Container Systems (DockerHub and Google App Engine).

Complex systems,
Software systems,
Database systems,
Operating systems,
Bioinformatics systems,
Social Systems,
Service Oriented Systems,
Cloud Systems,
Ubiquitous systems,
Distributed Version Control Systems (GitHub), and
Software Container Systems (DockerHub and Google App Engine).

Anzeige
Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (19)

Ähnlich wie Informatics systems (20)

Anzeige

Weitere von Animesh Chaturvedi (20)

Aktuellste (20)

Anzeige

Informatics systems

  1. 1. Informatics Systems by Dr.Animesh Chaturvedi Assistant Professor: LNMIIT Jaipur Post Doctorate: King’s College London &TheAlanTuring Institute PhD: IIT Indore
  2. 2. Informatics Systems  Complex systems,  Software systems,  Database systems,  Operating systems,  Bioinformatics systems,  Social Systems,  Service Oriented Systems,  Cloud Systems,  Ubiquitous systems,  DistributedVersion Control Systems (GitHub), and  Software Container Systems (DockerHub and GoogleApp Engine).
  3. 3. Complex systems
  4. 4. Complex system  An interdisciplinary domain  Composed of many components (or entities) interacting with each other.  power grid, transportation or communication systems,  social and economic organizations (like cities),  organisms, a living cell, the human brain, and  an ecosystem, climate, entire universe.  Behavior is hard to model with dependencies, relationships,  interactions between their components or  interactions between system and its environment https://en.wikipedia.org/wiki/Complex_system
  5. 5. Complex system and Reductionism  Reductionism is old domain since 16th century  explains system in terms of parts and their interactions  Define a domain of possible parts  Generate inputs over the interaction between parts  Perform a deterministic computation on the input data  Aggregate the results  interprets a complex system as the sum of its parts
  6. 6. Complex system properties  Nonlinearity: a set of simultaneous equations with the variables of a polynomial degree higher than one  Emergence: entities have properties emerging only when the they interact together  Spontaneous order arises from interactions between component of disordered system  Adaptation: behavior of mutation and self-organization for the changes  Feedback loops: outputs are routed back as inputs as part of a chain of cause-and-effect that forms a circuit or loop
  7. 7. Complex system and Disciplines  Statistical physics: methods of probability theory and statistics, and mathematical tools  deals with large populations and approximations,  Information theory: quantification, storage, and communication of information (e.g. signals)  Subfield of Communication, Electronics, and Computer Science  Nonlinear dynamics: the change of the output is not proportional to the change of the input.  Changes in variables over time, or, space etc.  Measures chaotic, unpredictable, or counterintuitive
  8. 8. Complex system and Disciplines  Computer science: programming creates complex systems, and application involving complex real-world data,  Sociology: studies human behaviour, social behavior, society, patterns of social relationships, social interaction, and culture  Social network analysis: investigate social structures with networks and graph theory  Biology: studies life and living organisms, physical structures of chemical, molecular interactions
  9. 9. Complex system and Graph Theory  Represented with a network (graph)  nodes represent the components (or entities) and  edges (or links) represents entities' interactions.  Depicts collection of discrete objects and relationships between them  persons within an organization,  logic gates in a circuit,  genes in gene regulatory networks, or  between any other set of related entities
  10. 10. Graph Theory  Study of mathematical structures used to model relationship between discrete elements of a set  Vertices (or nodes) are connected by edges (or links)  Undirected graphs, where edges link two vertices symmetrically  Directed graphs, where edges link two vertices asymmetrically  Graph is an ordered triple G = (V, E, Ø)  V is a set of vertices (or nodes)  E is a set of edges (or links)  Ø: E {{x, y}| x, y ∈V and x ≠ y} an incidence function mapping every edge to an unordered pair of vertices
  11. 11. Network Theory  Graph representing symmetric or asymmetric relations between discrete objects  Graph with nodes and/or edges have attributes (e.g. names)  Network theory is a subdomain of Graph theory  Network theory is applied graph theory
  12. 12. Graph or Network Theories  Graph colouring: e.g. coloring a graph so that  no two adjacent vertices have the same color, or  no two coincident edges are the same color  Matching is a set of edges without common vertices  Route problems: e.g. shortest path problem  minimum spanning tree (MST): a subset of the connected edges that connects all the vertices together, without any cycles, and with minimum possible total edge weight.  traveling salesman problem (TSP):“Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city?”
  13. 13. Graph or Network Theories  Network flow: “Directed graph where each edge has a capacity and each edge receives a flow, where the amount of flow on an edge cannot exceed the capacity of the edge”  Transport problem: study of optimal transportation and allocation of resources.  Trans-shipment problem: a subgroup of transportation problems, where, transportation may or must go through intermediate nodes, possibly changing modes of transport  Critical path analysis: identifying the longest dependent activities and measuring the time required to complete a project  PERT to analyze and represent the tasks involved in completing a given project
  14. 14. Complex Networks  Non-trivial topological features in networks representing real systems  e.g. theories: Network motifs are small subgraphs that are over-represented in the network  Examples of Complex networks are  computer networks,  biological networks,  technological networks,  brain networks,  climate networks and  social networks. https://en.wikipedia.org/wiki/Complex_network
  15. 15. Complex Network analysis  Electric power systems analysis:  a graph consists from representing electric power aspects (e.g., transmission line impedances)  Biological network analysis:  analysis of molecular networks  visualize the nature and strength of interactions between species  Gene Regulatory Networks (GRN), Metabolic networks, Protein-Protein Interaction, molecular interactions  Operations research: logistical networks, social networks, epistemological networks
  16. 16. Complex Network analysis  Computer science: graphs are used to represent networks of communication, data organization, computational devices, the flow of computation, etc.  Link analysis: the link structure of aWorldWideWeb, Internet, Computer Network  website can be represented by a directed graph,  the vertices represent web pages and directed edges represent links from one page to another  Social network analysis:  graph with the structure of relationships between social entities.  entities are persons, groups, organizations, nation states, web sites, or scholarly publications
  17. 17. Complex systems Representation  Complex systems can be represented by Complex networks  Complex networks can represent connections between component (or entities)  Complex network can be represented as a graph with  vertices (or nodes) representing entities and  edges (or links, or connections) representing the relationship between components.
  18. 18. Complex systems Representation  Adjacency list is a collection of unordered lists used to represent a finite graph.  List contains the set of neighbors of a vertex in the graph.  Undirected graphs:  data structure two different linked list nodes for each edge Adjacency list representation a b a c b a b c c a c b
  19. 19. Complex systems Representation  Adjacency matrix is a square matrix used to represent a finite graph.  Matrix with rows and columns are indexed by vertices  an adjacency list is more space-efficient than an adjacency matrix (stored as a two-dimensional array)  adjacency list is as simple  Matrix are 2-Dimensional representation.
  20. 20. Complex systems Representation  Multilayer Network representation:  Complex systems can be described by representing many interacting entities in  a Single network or  Multilayer networks  Examples social networks, neural networks  Co-occurring network structure made by links, activity as the nodes (e.g. community structure between multi-links).  Dynamic entity relationships can be represented with multilayer networks, multiplex networks, and network of networks.
  21. 21. Software systems
  22. 22. Question Answer What is software? Computer programs and associated documentation. Software products may be developed for a particular customer or may be developed for a general market. What are the attributes of good software? Good software should deliver the required functionality and performance to the user and should be maintainable, dependable and usable. What is software engineering? Software engineering is an engineering discipline that is concerned with all aspects of software production. What are the fundamental software engineering activities? Software specification, software development, software validation and software evolution. What is the difference between software engineering and computer science? Computer science focuses on theory and fundamentals; software engineering is concerned with the practicalities of developing and delivering useful software. What is the difference between software engineering and system engineering? System engineering is concerned with all aspects of computer-based systems development including hardware, software and process engineering. Software engineering is part of this more general process. Sommerville, Ian. "Software engineering 10th Edition." (2015). Frequently asked questions about software engineering
  23. 23. Software products  Generic products  Stand-alone systems that are marketed and sold to any customer who wishes to buy them.  Examples – PC software such as graphics programs, project management tools; CAD software; software for specific markets such as appointments systems for dentists.  Customized products  Software that is commissioned by a specific customer to meet their own needs.  Examples – embedded control systems, air traffic control software, traffic monitoring systems. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  24. 24. Product specification  Generic products  The specification of what the software should do is owned by the software developer and decisions on software change are made by the developer.  Customized products  The specification of what the software should do is owned by the customer for the software and they make decisions on software changes that are required. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  25. 25. Essential attributes of good software Product characteristic Description Maintainability Software should be written in such a way so that it can evolve to meet the changing needs of customers. This is a critical attribute because software change is an inevitable requirement of a changing business environment. Dependability and security Software dependability includes a range of characteristics including reliability, security and safety. Dependable software should not cause physical or economic damage in the event of system failure. Malicious users should not be able to access or damage the system. Efficiency Software should not make wasteful use of system resources such as memory and processor cycles. Efficiency therefore includes responsiveness, processing time, memory utilisation, etc. Acceptability Software must be acceptable to the type of users for which it is designed. This means that it must be understandable, usable and compatible with other systems that they use. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  26. 26. Software engineering  It is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use.  Theories and methods to solve problems bearing in mind organizational and financial constraints.  All aspects of software production  Not just technical process of development.  Project management and the development of tools, methods etc. to support software production. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  27. 27. Importance of software engineering  More and more, individuals and society rely on advanced software systems.  We need to be able to produce reliable and trustworthy systems economically and quickly.  It is usually cheaper, in the long run, to use software engineering methods and techniques for software systems rather than just write the programs as if it was a personal programming project.  For most types of system, the majority of costs are the costs of changing the software after it has gone into use. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  28. 28. Software process activities  Software specification, where customers and engineers define the software that is to be produced and the constraints on its operation.  Software development, where the software is designed and programmed.  Software validation, where the software is checked to ensure that it is what the customer requires.  Software evolution, where the software is modified to reflect changing customer and market requirements. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  29. 29. General issues that affect software  Heterogeneity  Increasingly, systems are required to operate as distributed systems across networks that include different types of computer and mobile devices.  Business and social change  Business and society are changing incredibly quickly as emerging economies develop and new technologies become available.They need to be able to change their existing software and to rapidly develop new software. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  30. 30. General issues that affect software  Security and trust  As software is intertwined with all aspects of our lives, it is essential that we can trust that software.  Scale  Software has to be developed across a very wide range of scales, from very small embedded systems in portable or wearable devices through to Internet-scale, cloud-based systems that serve a global community. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  31. 31. Software engineering diversity  There are many different types of software system and there is no universal set of software techniques that is applicable to all of these.  The software engineering methods and tools used depend on the type of application being developed, the requirements of the customer and the background of the development team. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  32. 32. Application types  Stand-alone applications  These are application systems that run on a local computer, such as a PC.They include all necessary functionality and do not need to be connected to a network.  Interactive transaction-based applications  Applications that execute on a remote computer and are accessed by users from their own PCs or terminals.These include web applications such as e-commerce applications.  Embedded control systems  These are software control systems that control and manage hardware devices. Numerically, there are probably more embedded systems than any other type of system. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  33. 33. Application types  Batch processing systems  These are business systems that are designed to process data in large batches.They process large numbers of individual inputs to create corresponding outputs.  Entertainment systems  These are systems that are primarily for personal use and which are intended to entertain the user.  Systems for modelling and simulation  These are systems that are developed by scientists and engineers to model physical processes or situations, which include many, separate, interacting objects. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  34. 34. Application types  Data collection systems  These are systems that collect data from their environment using a set of sensors and send that data to other systems for processing.  Systems of systems  These are systems that are composed of a number of other software systems. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  35. 35. Software engineering fundamentals  Some fundamental principles apply to all types of software system, irrespective of the development techniques used:  Systems should be developed using a managed and understood development process. Of course, different processes are used for different types of software.  Dependability and performance are important for all types of system.  Understanding and managing the software specification and requirements (what the software should do) are important.  Where appropriate, you should reuse software that has already been developed rather than write new software. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  36. 36. Internet software engineering  TheWeb is now a platform for running application and organizations are increasingly developing web-based systems rather than local systems.  Web services allow application functionality to be accessed over the web.  Cloud computing is an approach to the provision of computer services where applications run remotely on the ‘cloud’.  Users do not buy software buy pay according to use. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  37. 37. Web-based software engineering  Web-based systems are complex distributed systems but the fundamental principles of software engineering discussed previously are as applicable to them as they are to any other types of system.  The fundamental ideas of software engineering apply to web- based software in the same way that they apply to other types of software system. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  38. 38. Web software engineering  Software reuse  Software reuse is the dominant approach for constructing web- based systems.When building these systems, you think about how you can assemble them from pre-existing software components and systems.  Incremental and agile development  Web-based systems should be developed and delivered incrementally. It is now generally recognized that it is impractical to specify all the requirements for such systems in advance. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  39. 39. Web software engineering  Service-oriented systems  Software may be implemented using service-oriented software engineering, where the software components are stand-alone web services.  Rich interfaces  Interface development technologies such asAJAX and HTML5 have emerged that support the creation of rich interfaces within a web browser. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  40. 40. Database systems
  41. 41. Database Systems  DBMS contains information about a particular enterprise  Collection of interrelated data  Set of programs to access the data  An environment that is both convenient and efficient to use  Database systems are used to manage collections of data that are:  Highly valuable  Relatively large  Accessed by multiple users and applications, often at the same time.  A modern database system is a complex software system whose task is to manage a large, complex collection of data.  Databases touch all aspects of our lives Silberschatz, Abraham, Henry F. Korth, and Shashank Sudarshan. Database system concepts. McGraw-Hill, 2019.
  42. 42. Database Applications Examples  Enterprise Information  Sales: customers, products, purchases  Accounting: payments, receipts, assets  Human Resources: Information about employees, salaries, payroll taxes.  Manufacturing: management of production, inventory, orders, supply chain.  Banking and finance  customer information, accounts, loans, and banking transactions.  Credit card transactions  Finance: sales and purchases of financial instruments (e.g., stocks and bonds; storing real-time market data  Universities: registration, grades Silberschatz, Abraham, Henry F. Korth, and Shashank Sudarshan. Database system concepts. McGraw-Hill, 2019.
  43. 43. Database Applications Examples  Airlines: reservations, schedules  Telecommunication: records of calls, texts, and data usage, generating monthly bills, maintaining balances on prepaid calling cards  Web-based services  Online retailers: order tracking, customized recommendations  Online advertisements  Document databases  Navigation systems: For maintaining the locations of varies places of interest along with the exact routes of roads, train systems, buses, etc. Silberschatz, Abraham, Henry F. Korth, and Shashank Sudarshan. Database system concepts. McGraw-Hill, 2019.
  44. 44. Purpose of Database Systems In the early days, database applications were built directly on top of file systems, which leads to:  Data redundancy and inconsistency: data is stored in multiple file formats resulting induplication of information in different files  Difficulty in accessing data  Need to write a new program to carry out each new task  Data isolation  Multiple files and formats  Integrity problems  Integrity constraints (e.g., account balance > 0) become “buried” in program code rather than being stated explicitly  Hard to add new constraints or change existing ones Silberschatz, Abraham, Henry F. Korth, and Shashank Sudarshan. Database system concepts. McGraw-Hill, 2019.
  45. 45. Purpose of Database Systems  Atomicity of updates  Failures may leave database in an inconsistent state with partial updates carried out  Example:Transfer of funds from one account to another should either complete or not happen at all  Concurrent access by multiple users  Concurrent access needed for performance  Uncontrolled concurrent accesses can lead to inconsistencies  Ex:Two people reading a balance (say 100) and updating it by withdrawing money (say 50 each) at the same time  Security problems  Hard to provide user access to some, but not all, data Database systems offer solutions to all the above problems Silberschatz, Abraham, Henry F. Korth, and Shashank Sudarshan. Database system concepts. McGraw-Hill, 2019.
  46. 46. University Database Example  University database to illustrate all the concepts  Data consists of information about:  Students  Instructors  Classes  Application program examples:  Add new students, instructors, and courses  Register students for courses, and generate class rosters  Assign grades to students, compute grade point averages (GPA) and generate transcripts Silberschatz, Abraham, Henry F. Korth, and Shashank Sudarshan. Database system concepts. McGraw-Hill, 2019.
  47. 47. View of Data  A database system is a collection of interrelated data and a set of programs that allow users to access and modify these data.  A major purpose of a database system is to provide users with an abstract view of the data.  Data models  A collection of conceptual tools for describing data, data relationships, data semantics, and consistency constraints.  Data abstraction  Hide the complexity of data structures to represent data in the database from users through several levels of data abstraction. Silberschatz, Abraham, Henry F. Korth, and Shashank Sudarshan. Database system concepts. McGraw-Hill, 2019.
  48. 48. Data Models  A collection of tools for describing  Data  Data relationships  Data semantics  Data constraints  Relational model  Entity-Relationship data model (mainly for database design)  Object-based data models (Object-oriented and Object-relational)  Semi-structured data model (XML)  Other older models:  Network model  Hierarchical model Silberschatz, Abraham, Henry F. Korth, and Shashank Sudarshan. Database system concepts. McGraw-Hill, 2019.
  49. 49. Relational Model  All the data is stored in various tables.  Example of tabular data in the relational model Columns Rows Ted Codd Turing Award 1981 Silberschatz, Abraham, Henry F. Korth, and Shashank Sudarshan. Database system concepts. McGraw-Hill, 2019.
  50. 50. A Sample Relational Database Silberschatz, Abraham, Henry F. Korth, and Shashank Sudarshan. Database system concepts. McGraw-Hill, 2019.
  51. 51. Operating systems
  52. 52. What is an Operating System?  A program that acts as an intermediary between a user of a computer and the computer hardware  Operating system goals:  Execute user programs and make solving user problems easier  Make the computer system convenient to use  Use the computer hardware in an efficient manner Silberschatz, Abraham, Peter B. Galvin, and Greg Gagne. Operating system concepts. John Wiley & Sons, 2006.
  53. 53. Computer System Structure  Computer system can be divided into four components:  Hardware – provides basic computing resources  CPU, memory, I/O devices  Operating system  Controls and coordinates use of hardware among various applications and users  Application programs – define the ways in which the system resources are used to solve the computing problems of the users  Word processors, compilers, web browsers, database systems, video games  Users  People, machines, other computers Silberschatz, Abraham, Peter B. Galvin, and Greg Gagne. Operating system concepts. John Wiley & Sons, 2006.
  54. 54. Computer System Components Silberschatz, Abraham, Peter B. Galvin, and Greg Gagne. Operating system concepts. John Wiley & Sons, 2006.
  55. 55. What Operating Systems Do  Depends on the point of view  Users want convenience, ease of use and good performance  Don’t care about resource utilization  But shared computer such as mainframe or minicomputer must keep all users happy  Operating system is a resource allocator and control program making efficient use of HW and managing execution of user programs Silberschatz, Abraham, Peter B. Galvin, and Greg Gagne. Operating system concepts. John Wiley & Sons, 2006.
  56. 56. What Operating Systems Do (Cont.)  Users of dedicate systems such as workstations have dedicated resources but frequently use shared resources from servers  Mobile devices like smartphones and tables are resource poor, optimized for usability and battery life  Mobile user interfaces such as touch screens, voice recognition  Some computers have little or no user interface, such as embedded computers in devices and automobiles  Run primarily without user intervention Silberschatz, Abraham, Peter B. Galvin, and Greg Gagne. Operating system concepts. John Wiley & Sons, 2006.
  57. 57. Term OS Covers Many Roles  Because of myriad designs and uses of OSes  Present in toasters through ships, spacecraft, game machines, TVs and industrial control systems  Born when fixed use computers for military became more general purpose and needed resource management and program control Silberschatz, Abraham, Peter B. Galvin, and Greg Gagne. Operating system concepts. John Wiley & Sons, 2006.
  58. 58. Operating System Definition  No universally accepted definition  “The one program running at all times on the computer” is the kernel, which is part of the operating system  Everything else is either  A system program (ships with the operating system, but not part of the kernel) , or  An application program, all programs not associated with the operating system  Today’s OSes for general purpose and mobile computing also include middleware – a set of software frameworks that provide addition services to application developers such as databases, multimedia, graphics Silberschatz, Abraham, Peter B. Galvin, and Greg Gagne. Operating system concepts. John Wiley & Sons, 2006.
  59. 59. Bioinformatics systems
  60. 60. Bioinformatics  Informatics: set of digital codes and a language  Bioinformatics: Study of biological (or life) information (digital code for studying properties of bio- systems) Biologists collect molecular data: DNA & Protein sequences, gene expression, etc. Computer scientists, Mathematicians, Data Scientist etc. Develop tools, software, algorithms Store and analyze the data. Bioinformaticians Study biological questions by analyzing molecular data
  61. 61. Bioinformatics  Computers became essential in molecular biology when protein sequences, amino acid sequences, protein domains, protein structures etc.  Sequences of genetic material are frequently used in bioinformatics and are easier to manage using computers than manually.  DNA sequencing is still a non-trivial problem as the raw data may be noisy or afflicted by weak signals.Algorithms have been developed for base calling for the various experimental approaches to DNA sequencing. https://en.wikipedia.org/wiki/Bioinformatics
  62. 62. Molecular interaction networks  BME:Tens of thousands of three-dimensional protein structures are determined by X-ray crystallography and protein Nuclear Magnetic Resonance (NMR) spectroscopy.  Bioinformatics: Protein–protein interaction identifies, predicts, and catalog physical interactions between pairs or groups of proteins. https://en.wikipedia.org/wiki/Bioinformatics
  63. 63. Network analysis  Study of relationships within biological networks  metabolic or  protein–protein interaction networks.  Biological networks can be constructed from  a single type of molecule or entity (such as genes),  many different data types, such as proteins, small molecules, gene expression data.  Abbreviation recognition – identify the long-form and abbreviation of biological terms  Named entity recognition – recognizing biological terms such as gene names  Protein–protein interaction – identify which proteins interact with which proteins from text
  64. 64. Systems biology  It involves the use of computer simulations of cellular subsystems (such as the networks of metabolites and enzymes that comprise metabolism.  Signal transduction pathways and gene regulatory networks) to both analyze and visualize the complex connections of these cellular processes.  Artificial life or virtual evolution attempts to understand evolutionary processes via the computer simulation of simple (artificial) life forms.
  65. 65. Bio Interactions  Protein-Protein Interaction  DNA-Protein interactions  GeneNet (Gene networks)  Biomolecular Interaction  Molecular interactions  Protein and Biochemical Interactions Nodes: proteins Links: physical interactions (binding)
  66. 66. Bioinformatics Visualization  AminoAcid to Graph  Human Hemoglobin >gi|14456711|ref|NM_000558.3| Homo sapiens hemoglobin, alpha 1 (HBA1), mRNA ACTCTTCTGGTCCCCACAGACTCAGAGAGAACCCACCATGGTGCTGTCT CCTGCCGACAAGACCAACGTCAAGGCCGCCTGGGGTAAGGTCGGCGCGC ACGCTGGCGAGTATGGTGCGGAGGCCCTGGAGAGGATGTTCCTGTCCTT CCCCACCACCAAGACCTACTTCCCGCACTTCGACCTGAGCCACGGCTCT GCCCAGGTTAAGGGCCACGGCAAGAAGGTGGCCGACGCGCTGACCAACG CCGTGGCGCACGTGGACGACATGCCCAACGCGCTGTCCGCCCTGAGCGA CCTGCACGCGCACAAGCTTCGGGTGGACCCGGTCAACTTCAAGCTCCTA AGCCACTGCCTGCTGGTGACCCTGGCCGCCCACCTCCCCGCCGAGTTCA CCCCTGCGGTGCACGCCTCCCTGGACAAGTTCCTGGCTTCTGTGAGCAC CGTGCTGACCTCCAAATACCGTTAAGCTGGAGCCTCGGTGGCCATGCTT CTTGCCCCTTGGGCCTCCCCCCAGCCCCTCCTCCCCTTCCTGCACCCGT ACCCCCGTGGTCTTTGAATAAAGTCTGAGTGGGCGGC
  67. 67. Bio-Informatics Databases  KEGG (Kyoto Encyclopedia of Genes and Genomes)  http://www.genome.ad.jp/kegg/  Institute for Chemical Research, Kyoto University  PathDB  http://www.ncgr.org/pathdb/index.html  National Center for Genomic Resources  SPAD: Signaling PAthway Database  Graduate School of Genetic ResourcesTechnology. Kyushu University.  Cytokine Signaling Pathway DB.  Dept. of Biochemistry. Kumamoto Univ.  EcoCyc and MetaCyc  Stanford Research Institute  BIND (Biomolecular Interaction Network Database)  UBC, Univ. ofToronto
  68. 68. Social Systems
  69. 69. Social Systems  Studying patterned network of relationships between individuals, groups, and institutions.  Study of Stable groups, individual belong to social systems, Social systems include nuclear family units, communities , cities, nations, college campuses, corporations, and industries.  Social System Properties: location, socioeconomic status, race, religion, societal function, or other distinguishable features. https://en.wikipedia.org/wiki/Social_system
  70. 70. Modelling  Digital age offers a new study of social systems  Digital data over the last decade gives scientists studying the behaviors of social systems  Social media platforms such as Facebook andTwitter  Evolution of social systems and social networking behaviors,  Social graphs  How social media  Response to various events and  Social network behave https://en.wikipedia.org/wiki/Social_system
  71. 71. Social Structure  Patterned social arrangements in society  Structurally-related groups or  Sets of roles, functions, meanings, or purposes  Examples: family, religion, law, economy, and class  Economic systems, legal systems, political systems, cultural systems, etc.  Patterns of relations between the society institutions https://en.wikipedia.org/wiki/Social_structure
  72. 72. Social Network  Social structure of  a set of social actors (such as individuals or organizations),  sets of dyadic ties, and  other social interactions between actors  Social network analysis  methods for analyzing the structure of social entities  to identify local and global patterns,  locate influential entities,  examine network dynamics, and  explaining the patterns and structures https://en.wikipedia.org/wiki/Social_network
  73. 73. Social Network  Interdisciplinary academic field: emerged from  social psychology,  sociology,  statistics, and  graph theory, complex networks, network science  Studies  dynamics of "web of group affiliations”  interpersonal relationships  social and behavioral sciences https://en.wikipedia.org/wiki/Social_network
  74. 74. Social Network Analysis  Micro-level  Actor level: smallest unit for analysis of an individual (‘actor’)  Dyadic level:‘dyad’ a social relationship between two individuals  Triadic level:‘triad’ a social relationship between three individuals  Macro-level: outcomes of interactions over a large population, such as economic or resource transfer.  Meso-level: analysis of a population size between the micro- level and macro-level. https://en.wikipedia.org/wiki/Social_network
  75. 75. Social web  A set of social relations and interactions that link people through theWorldWideWeb,Websites, and Software  online shopping,  education,  gaming, and  social networking services etc.  Social aspect ofWeb 2.0  emphasize user-generated content,  ease of use,  participatory culture, and  interoperability (i.e., compatible with products, and devices) https://en.wikipedia.org/wiki/Social_web
  76. 76. Social rule system theory  Social rules include  norms,  laws,  regulations,  taboos,  customs, and  a variety of related concepts.  Uses sets of rules to define concepts in social theory in  family,  community,  market,  business enterprises, and  government agencies.
  77. 77. Service Oriented Systems
  78. 78. Service Oriented Computing Distributed Computing models rely upon service frameworks - Grid Computing: the mother, distributed collection of computing resources - Cloud Computing: enables convenient, on-demand shared computing resources - Utility Computing: on-demand, pay-as-you go billing - Service Oriented Computing: the sharing of remoteWeb Service
  79. 79. Service Oriented Computing Analogy between Object Oriented Programming  Service Oriented Computing Functional unit of API is a Class  Cloud Service is aWeb service Atomic unit of Class is a Method (Function or Procedure) Web service is an Operation Method<variables>  Operations<parameters> Abstraction unit of Interface Web Service Descriptive Language (WSDL)
  80. 80. Web Services (SOAP and WSDL)  Interoperable machine-to-machine interaction over a network withWSDL using SOAP messages, conveyed using HTTP with XML standards.  WSDL: Description of a web service in XML  SOAP: Packet of messages in XML over internet  A stub is an API that handles Marshalling/Unmarshalling packets.  Marshalling also known as (aka) serializing and  Unmarshalling aka deserializing
  81. 81. Web Services (SOAP and WSDL) 1. SOAP request then Marshalling or serializing 2. HTTP protocol 3. Unmarshaling or deserializing then SOAP request 4. SOAP response then again Marshalling 5. HTTP protocol 6. Unmarshaling then SOAP response
  82. 82. Representational State Transfer (REST)  WWW: "Web resources" are documents or files at URLs.  Web 2.0:“Web Resources” are generic and abstract entities, or actions that can be identified, named, addressed, handled, or performed in many way on the internet as URI or URL.  requests to a resource's URI:  a response with a payload formatted in many ways  e.g., HTML, XML, JSON, or some other format.  The response given alternate resource state,  provide hypertext links to alternate related resources. https://en.wikipedia.org/wiki/Representational_state_transfer
  83. 83. Representational State Transfer (REST)  REST is a software architectural style that defines a set of constraints to be used for creatingWeb services.  Web services that conform to the REST architectural style, called RESTfulWeb services, provide interoperability between computer systems on the internet.  RESTfulWeb services allow the requesting systems to access and manipulate textual representations ofWeb resources by using a uniform and predefined set of stateless operations. https://en.wikipedia.org/wiki/Representational_state_transfer
  84. 84. Representational State Transfer (REST)  Stateless protocol and standard operations,  Rest API:The operations HTTP methods available are GET, HEAD, POST, PUT, PATCH, DELETE, CONNECT, OPTIONS andTRACE.  Ability to grow by reusing components that can be managed and updated without affecting the system.  Other kinds: SOAPWeb services, expose their own arbitrary sets of operations. https://en.wikipedia.org/wiki/Representational_state_transfer
  85. 85. Representational State Transfer (REST) HTTP Method Operations for resource management GET Retrieve the URIs and representation of resource in the response body. POST Create a resource using the instructions in the request body.The URI of the created resource is automatically assigned and returned in the response Location header field. PUT Replace all the representations of the resources with the representation in the request body, or create the resource if it does not exist. PATCH Update all the representations of the resources of the resource using the instructions in the request body, or may create the resource if it does not exist. DELETE Delete the representations of the resources. https://en.wikipedia.org/wiki/Representational_state_transfer
  86. 86. Web Oriented Architecture (WOA)  Software architecture: extends SOA to web-based applications and sites, such as social websites and personal websites. WOA = SOA +WWW + REST  A core set ofWeb protocols like HTTP, HTTPS and plain XML, the only real difference between traditional SOA and the concept ofWOA  WOA advocates REST a method for HTTP as aWeb service  EnterpriseWOA is a sub-style of Enterprise SOA https://en.wikipedia.org/wiki/Web-oriented_architecture
  87. 87. Web Oriented Architecture (WOA)  WOA and SOA integrates systems and users via a web of globally linked hypermedia based onWeb architecture.  Emphasize generality of User interfaces andAPIs for global network effects through five fundamental:  Identification of resources  Manipulation of resources through representations (Web resource)  Self-descriptive messages  Hypermedia as the engine of application state  Application neutrality https://en.wikipedia.org/wiki/Web-oriented_architecture
  88. 88. Cloud Systems
  89. 89. Deployment models  The cloud infrastructure is provisioned for  Private cloud: “exclusive use by a single organization comprising multiple consumers (e.g., business units).  owned, managed, and operated by the organization, a third party, or some combination of them, and it may exist on or off premises  Public cloud: open use by the general public  owned, managed, and operated by a business, academic, or government organization, or some combination of them. It exists on the premises of the cloud provider  Hybrid cloud: a composition of two or more distinct cloud infrastructures (private, community, or public) that remain unique entities and bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load balancing between clouds)
  90. 90. Deployment models  Apart from cloud infrastructure provisioned for Private cloud, Public cloud, and Hybrid cloud  Community cloud: exclusive use by a specific community of consumers from organizations that have shared concerns (e.g., mission, security requirements, policy, and compliance considerations)
  91. 91. Virtualization  Virtual computer hardware platforms, storage devices, and computer network resources.  Hardware virtualization or platform virtualization refers to the creation of aVirtual Machine (VM).  Full virtualization – complete simulation of the actual hardware to allow software environments, guest operating system and its apps.  Paravirtualization – the guest apps are executed in their own isolated domains.  Application virtualization,Workspace virtualization, Service virtualization  Memory virtualization,Virtual memory, Storage virtualization, Distributed File System,Virtual File System, Storage hypervisor,Virtual disk, Data virtualization, Database virtualization,  Network virtualization,Virtual private network (VPN) https://en.wikipedia.org/wiki/Virtualization
  92. 92. Scalability  Property of a system to handle a growing amount of work by adding resources to the system  Scale means different things to different techniques to scale (or fail to scale) in different dimensions  Dimensions: Scalability is a characteristic of computers, networks, algorithms, networking protocols, programs and applications.  Scalability needed to assess the degree of deployability  When deploying example:  Static and Dynamic analysis at scale  Support increasing numbers of users
  93. 93. Architecture for Elasticity  Vertical Scale-Up  Keep on adding resources to a unit to increase computation power.  Process the job to single computation unit with high resources.  Horizontal Scale Out  Keep on adding discrete resources for computation and make them behave as in converged unit.  Splitting job on multiple discrete machines, combine the output.  Distribute database.  For HPC second option is better than first.  Because Complexity and Cost of first option is very high.
  94. 94. Hypervisors  Virtualization: A virtual machine (VM) is a software implementation of a machine (i.e., a computer) that executes programs like a physical machine.  Hypervisor: provides a uniform abstraction of the underlying physical machine.  HypervisorTypes  Type 1 or Bare Metal: Runs directly on Hardware. On top Hypervisor the OS is loaded. Example Mircrosoft HyperV, Citrix Xen Server,  Type2 or Hosted: The Hypervisor runs on a guest OS. Example KVM.
  95. 95. Cloud Conceptual Reference Model  Cloud High-level architecture: Five major actors  Understanding of the requirements, uses, characteristics and standards: On demand self-service, Broad network access, Resource pooling, Rapid elasticity, Measured service 1. Cloud Consumer 2. Cloud Provider 3. Cloud Broker 4. Cloud Auditor 5. Cloud Carrier NIST Cloud Computing ReferenceArchitecture
  96. 96. Actors in Cloud Computing  Cloud Consumer: A person or organization that maintains a business relationship with, and uses service from, Cloud Providers.  Cloud Provider: A person, organization, or entity responsible for making a service available to interested parties. NIST Cloud Computing ReferenceArchitecture  Cloud Auditor: A party that can conduct independent assessment of cloud services, information system operations, performance and security of the cloud implementation.
  97. 97. Actors in Cloud Computing  Cloud Broker: An entity that manages the use, performance and delivery of cloud services, and negotiates relationships between Cloud Providers and Cloud Consumers.  Cloud Carrier: An intermediary that provides connectivity and transport of cloud services from Cloud Providers to Cloud Consumers. NIST Cloud Computing ReferenceArchitecture
  98. 98. Cloud Provider and Consumer  Cloud Provider acquires and manages the computing infrastructure required for providing the services, runs the cloud software that provides the services, and makes arrangement to deliver the cloud services to the Cloud Consumers through network access.  Cloud consumer browses & uses the service, and sets up contracts with the cloud provider. NIST Cloud Computing ReferenceArchitecture
  99. 99. Cloud Provider  SaaS provider deploys, configures, maintains and updates the operation of the software applications on a cloud.  PaaS Provider manages the computing infrastructure for the platform and components (runtime software, databases, and other middleware).  IaaS Provider provides physical hardware and cloud software that makes the provisioning of these infrastructure services, e.g., servers, network and storage devices, OS and hypervisors for virtualization. NIST Cloud Computing ReferenceArchitecture
  100. 100. Cloud Consumer  SaaS consumers (organization or end users) access and uses software applications or services.  PaaS consumers can be application designer, developers, testers, monitors, or administrators.  IaaS consumer can be system administrators and IT managers who are interested in creating, installing, managing and monitoring services for IT infrastructure operations. NIST Cloud Computing ReferenceArchitecture
  101. 101. Cloud Consumer Billing  SaaS consumers: number of end users, time of use, network bandwidth consumed, amount of data stored or duration of usage  PaaS consumers: according to processing, database storage, and network resources consumed by PaaS application, and duration of usage  IaaS consumer: amount or duration of resources consumed e.g. CPU hours used by virtual computers, volume and duration of data stored, network bandwidth consumed, number of IP addresses used. NIST Cloud Computing ReferenceArchitecture
  102. 102. Ubiquitous systems 1. Edge Computing 2. Cloudlet 3. Fog computing 4. Internet ofThings (IoT) 5. Virtual Conferencing 6. Virtual Events (2D, 3D, and Hybrid)
  103. 103. Ubiquitous computing  MarkWeiser:Three basic ubiquitous computing devices:  Tabs: a wearable device that is approx in centimeters  Pads: a hand-held device that is approximately a decimeter in size  Boards: an interactive larger display device that is approximately a meter in size  computing is made to appear anytime and everywhere  any device, in any location, and in any format Weiser, Mark. "The computer for the 21st century." ACM SIGMOBILE mobile computing and communications review 3.3 (1999): 3-11. https://en.wikipedia.org/wiki/Ubiquitous_computing
  104. 104. Edge computing  Distributed computing paradigm  Computation and data storage closer to the user location  Improve response times and save bandwidth  Cloud computing operates on big data, whereas Edge computing operates on “instant data”  Content Delivery Network or Content Distribution Network (CDN)  Example:  Akamai CDN,  Akamai-Facebook’s Photo-Serving Stack https://en.wikipedia.org/wiki/Edge_computing
  105. 105. Cloudlet  First coined by Mahadev Satyanarayanan (Satya),Victor Bahl, Ramón Cáceres, and Nigel Davie  It is a mobility-enhanced small-scale cloud datacenter that is located at the edge of the Internet.  It work as a data center in a box which brings the cloud closer.  Support resource-intensive and interactive mobile applications by providing powerful computing resources to mobile devices with lower latency. https://en.wikipedia.org/wiki/Cloudlet
  106. 106. Fog computing  Architecture that distributes computing, storage, control and networking functions closer to the users along a cloud-to-thing.  Fog computing is often erroneously called edge computing, but there are key differences.  Fog works with the cloud, whereas edge is defined by the exclusion of cloud.  Fog is hierarchical where edge tends to be limited to a small number of layers.  Cloud computing deal with Big Data, whereas Fog computing deals with real-time data generated by sensors or users. 1 IEEE StandardAssociation. "IEEE 1934-2018-IEEE Standard for adoption of OpenFog reference architecture for fog computing." (2018). https://en.wikipedia.org/wiki/Fog_computing
  107. 107. Internet of Things (IoT)  The network of physical objects —“things”— embedded with sensors, software, and other technologies for the purpose of connecting and exchanging data with other devices and systems over the Internet.  Example:  “Smart Home” devices and appliances,  “Smart city” equipment and facilities,  Real-Time Data Analytics  Information explosion or Data Deluge  due to data flood or information flood  ever-increasing amount of electronic data exchanged per time unit  unmanageable amounts of data growthV/S power of data processing https://en.wikipedia.org/wiki/Internet_of_things
  108. 108. Virtual Conferencing  Teleconference: Phone lines, Landlines or Cellular devices  Video conference:  Webcam, Microphone, Speaker, Internet  hardware, software, devices is dedicated for this  Web Conference: Internet and Cloud supported  Web 2.0  Well-Known: Google Meet, Skype, and MicrosoftTeam  Multi-Communications from Many sender to Many receivers  Webinars ("web seminars"),Webcasts (live media presentation), Podcast (audio presentation), and web meetings  Virtual Events https://en.wikipedia.org/wiki/Internet_of_things
  109. 109. Virtual Events  An online event involves people interacting in a virtual environment on the web, instead of physical meeting.  Multi-session online events often feature webinars and webcasts.  Aim to create similar experience as physical meeting.  Live-streaming the event online or on-demand video.  Issues  Echo of voice  Audio andVideography logistics  Network Bandwidth of conferencing server and users https://en.wikipedia.org/wiki/Virtual_event
  110. 110. 2D Virtual Events: Virtual Degree
  111. 111. 2D Virtual Events: Virtual Address
  112. 112. 3D Virtual Event: Live Video Virtual HLF 2020 - Heidelberg Laureate Forum
  113. 113. 3D Virtual Event: Poster Sessions Virtual HLF 2020 - Heidelberg Laureate Forum
  114. 114. 3D Virtual Event: Virtual Gathering Virtual HLF 2020 - Heidelberg Laureate Forum
  115. 115. 3D Virtual Event: Virtual Dancing Virtual HLF 2020 - Heidelberg Laureate Forum
  116. 116. Hybrid Event  Combines a “physical" in-person event with a "virtual" online component  Tradeshow, Conference, Seminar,Workshop, Convocation https://en.wikipedia.org/wiki/Hybrid_event
  117. 117. Hybrid Event: Landing Page
  118. 118. Hybrid Event: Virtual Degree
  119. 119. Hybrid Event: Physical Degree
  120. 120. Distributed Version Control Systems (GitHub)
  121. 121. Version Control System (VCS)  Version control is also known as  revision control,  source control, or  source code management  It is responsible for managing changes to  computer programs,  documents,  large web sites, or  other collections of information.  It is a component of Software Configuration Management (SCM).  VCS are stand-alone applications. https://en.wikipedia.org/wiki/Version_control
  122. 122. Centralised Version Control (CVC)  Single server holds the code base  Clients access the server with check-in/check-outs  CVC available are  CVS,  Subversion,  Visual Source Safe.  Pro: Simple to manage a single server  Con: Single point of failure. Naisan Benatar “Version Control” G51FSE
  123. 123. Distributed Version Control (DVC)  aka, Distributed Revision Control  It is a form of version control that complete codebase, including its full history, is mirrored on every developer's computer. Enables  automatic management branching and merging,  speeds up most operations (except pushing and pulling),  improves the ability to work offline and  does not rely on a single location for backups.  Each client holds a copy of the code base.  Code is shared between clients by push/pulls  Advantages: Many operations, no single point of failure  Disadvantages: Complex to manage 124 https://en.wikipedia.org/wiki/Distributed_version_control Naisan Benatar “Version Control” G51FSE
  124. 124. CVC v/s DVC Naisan Benatar “Version Control” G51FSE
  125. 125. Git  Git is a distributed version-control system.  It track changes in source code files during software development.  It is designed for coordinating work among programmers,  Its goal include speed, data integrity, and support for distributed, non-linear workflows.  Git was created by LinusTorvalds in 2005 for development of the Linux kernel.  Every Git directory on every developer's computer is a repository, and independent of network or central server. https://en.wikipedia.org/wiki/Git
  126. 126. GitHub  GitHub provides web-hosting functionalities for  Software development,  DistributedVersion Control, and  Source Code Management (SCM).  GitHub features  bug tracking, continuous integration, change management,  feature requests, task management, wikis,  Branching, Merging, Fetch, and Commit of new push files  pull or clone of whole existing repository or its file(s)  January 2020, GitHub reports  over 40 million users and  more than 190 million repositories (28 million+ public repositories),  making it the largest host of source code in the world. https://en.wikipedia.org/wiki/GitHub
  127. 127. GitHub Desktop (RaaS Client)  It simplifies development workflow by abstracting Git.  Attribute commits with collaborators: co-authors  Checkout branches with pull requests and view Commit statuses  Syntax highlighted diffs: highlighting when viewing diffs  Expanded image diff support: compare changed images  Extensive editor & shell integrations: use favorite editor or shell  Open-source Community support: contribute and collaboration https://desktop.github.com/
  128. 128. GitHub Desktop (RaaS Client)
  129. 129. Git-LFS  Git Large File Storage (LFS)  audio,  videos,  datasets, and  graphics,  Git-LFS replaces large files with text pointers inside Git  Storing the file contents on a remote server like  GitHub.com or GitHub Enterprise  git lfs install  git add file.psd  git commit -m "Add design file"  git push origin master
  130. 130. Software Container Systems (DockerHub and Google App Engine) PaaS and Container as a Service (CaaS) • PaaS: Google App Engine (GAE) • CaaS: DockerHub
  131. 131. Platform as a service (PaaS)  PaaS allow customers to do application  development,  execution, and  management  PaaS removes the complexity of building and maintaining the infrastructure for app  development and  deployment https://en.m.wikipedia.org/wiki/Platform_as_a_service
  132. 132. Examples of PaaS Clouds  AmazonWeb Services  Abiquo Enterprise Edition  CloudStack  Citrix Cloud  CtrlS  DigitalOcean  EMCAtmos  Eucalyptus  Fujitsu  GoGrid  Google Cloud Platform  GreenButton  Helion  GE Predix  GoogleApp Engine  GreenQloud  Heroku  IBM Cloud  Inktank  Jelastic  Mendix  Microsoft Azure  MindSphere  Netlify  Oracle Cloud  OutSystems  openQRM  OpenShift  PythonAnywhere  RightScale  Scalr  Force.com  SAP Cloud Platform  VMware vCloudAir  WaveMaker https://en.m.wikipedia.org/wiki/Platform_as_a_service
  133. 133. PaaS and Container as a Service (CaaS) 1. PaaS – Google App Engine (GAE) 2. Container as a Service (CaaS) - DockerHub
  134. 134. GAE: Modern Web Applications Web app using GoogleApp Engine (GAE) and Google Cloud.  Quickly reach customers and end users by deploying web apps onApp Engine.  Zero-config deployments and zero server management.  Only writing code forApp Engine.  App Engine automatically scales to support sudden traffic spikes without provisioning, patching, or monitoring. https://cloud.google.com/appengine
  135. 135. GAE: Modern Web Applications https://cloud.google.com/appengine
  136. 136. GAE: Scalable Mobile Back-ends Mobile app built with Firebase and Google services.  automatically scales the hosting environment  an easy-to-use frontend mobile platform  scalable and reliable back end https://cloud.google.com/appengine
  137. 137. Google Web Tool (GWT)  GWT is a development toolkit  Building and optimizing complex browser-based applications.  Enables productive development of high-performance web applications  GoogleWebApplication runs across all browsers, including mobile browsers for  Android and  iPhone. http://www.gwtproject.org/overview.html
  138. 138. Google Web Tool (GWT)  The GWT SDK provides a set of core JavaAPIs andWidgets.  Debug applications as a desktop application on browser just like coding JavaScript.  GWT compiler performs comprehensive optimizations across your codebase.  GWT compiles Java source code into optimized, stand-alone JavaScript files that automatically run on all major browsers, as well as mobile browsers for Android and the iPhone. http://www.gwtproject.org/overview.html
  139. 139. PaaS and Container as a Service (CaaS) 1. PaaS – Google App Engine (GAE) and Ruby on Rails 2. Container as a Service (CaaS) – DockerHub
  140. 140. OS-level virtualization OS-level virtual image looks like real computers from the point of view of programs running on  Containers (LXC, Solaris containers, Docker),  Zones (Solaris containers), Partitions,  Virtual private servers (OpenVZ), Virtual environments (VEs), Virtual kernels (DragonFly BSD), or  All resources (connected devices, files and folders, network shares, CPU power, quantifiable hardware capabilities).  Programs running inside of a container can only see the container's contents and devices assigned to the container.  Container refer to OS-level virtualization systems, e.g. Microsoft's Hyper-V containers. https://en.m.wikipedia.org/wiki/OS-level_virtualization
  141. 141. Container image  Container is a running process interacting with its own private filesystem provided by a Container image.  Container image runs an application with - the code or binary, - runtime dependencies, and - any other filesystem objects required.  Docker is a platform for developers and sysadmins to build, run, and share applications with containers. https://docs.docker.com/get-started/
  142. 142. DockerHub is a CaaS  Solomon Hykes and Sebastien Pahl  OS-level virtualization to deliver software in packages called containers.  hosts the containers is called Docker Engine  Docker can package an application and its dependencies in a virtual container that can run on any Linux server.  Containers are isolated from one another and bundle their own software, libraries, and configuration files;  All containers are run by a single operating system kernel and therefore use fewer resources thanVMs. https://en.m.wikipedia.org/wiki/Docker_(software)
  143. 143. Docker Computational reproducibility Docker implement and deployment of containers, includes: (1) cross-platform portability, (2) modular/component re-using and sharing, (3) Linux container (LXC) based OS level virtualization, (4) portable across platforms, and (5) archiving and versioning of container images. Boettiger, Carl. "An introduction to Docker for reproducible research." ACM SIGOPS Operating Systems Review 49.1 (2015): 71-79.
  144. 144. Dependency and Coupling  Interdependence and relationships between software modules;  Connected two or more routines or modules;  Coupling can be "low/loose" or "high/tight"  Low coupling provides a well-structure and good design software,  Disadvantage of High/Tightly coupled:  Change in one module forces changes in other dependent modules.  Modularity require effort or time due to inter-module dependency.  Harder to reuse and test modules due to dependent modules.  Performance reduction by message and parameter  request/response messages require CPU and memory in  message creation, transmission, translation (e.g. marshaling) and interpretation (string, array or data structure) https://en.wikipedia.org/wiki/Coupling_(computer_programming)
  145. 145. Docker images: resolve Dependencies  Docker image is based on a Linux system with Linux-compatible software including - R, - Python, - Matlab, and - most other programming environments.  Docker image andVirtual Machine (VM) image  Similarity: resolves the dependency with a pre-installed and pre- configured binary image of dependencies.  Dissimilarities: Docker images share the Linux kernel with the host machine. Boettiger, Carl. "An introduction to Docker for reproducible research." ACM SIGOPS Operating Systems Review 49.1 (2015): 71-79.
  146. 146. Dockerfile  Docker can build images automatically by reading the instructions from a Dockerfile.  Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image.  Docker build create an automated build that executes several command-line instructions. docker build -f /path/to/a/Dockerfile  Copy and paste to pull this image docker pull hello-world https://hub.docker.com/_/hello-world Boettiger, Carl. "An introduction to Docker for reproducible research." ACM SIGOPS Operating Systems Review 49.1 (2015): 71-79.
  147. 147. Docker concepts The use of containers to deploy applications is called containerization.  Flexible: Complex applications can be containerized.  Lightweight: Containers leverage and share the host kernel, making them efficient resource usage as compared toVMs.  Portable: Build locally, deploy to the cloud, and run anywhere.  Loosely coupled: Containers are highly self sufficient and encapsulated allow to replace or upgrade.  Scalable: Distribute container replicas across a datacenter.  Secure: Constraints and isolations to processes without any configuration required on the part of the user. https://docs.docker.com/get-started/
  148. 148. Containers & Virtual machine (VM)  Container runs natively on Linux and shares the kernel of the host machine with other containers. It runs a discrete process, taking memory like an executable.  VM runs a full “guest OS” with hypervisor access to host resources. VM uses overhead resources that are not consumed by application logic. https://docs.docker.com/get-started/
  149. 149. Build and run your Docker image git clone https://github.com/dockersamples/node-bulletin-board cd node-bulletin-board/bulletin-board-app docker build --tag bulletinboard:1.0 docker run --publish 8000:8080 --detach --name bb bulletinboard:1.0 https://docs.docker.com/get-started/part2/
  150. 150. Why PaaS or CaaS Programming tools, Deployment tools, andApplication hosting  CaaS include stack of tools for deploying containers.  CaaS do not include development tools.  CaaS is a subset of PaaS functionality  CaaS main use case is containerized applications  CaaS is an incomplete form of a PaaS.  PaaS and CaaS use-cases:  PaaS: integrated solution for develop and deploy applications  CaaS: easy to set-up and manage a container environment  Benefit from a development at PaaS or not? Yes, then PaaS  Pre-developed application for public deployment or not? Yes, then CaaS https://containerjournal.com/features/paas-vs-caas-wrong-question-ask/
  151. 151. PaaS and CaaS Hybrid  PaaS-CaaS hybrid provides both development environment and deployment container  Amazon Elastic Container Service (ECS),  Ruby-on-Rails (EngineYard) and  GoogleApp Engine etc. https://containerjournal.com/features/paas-vs-caas-wrong-question-ask/ https://aws.amazon.com/ecs/ https://www.engineyard.com/ https://cloud.google.com/appengine
  152. 152. Thank You Japanese Hebrew English Merci French Russian Danke German Grazie Italian Gracias Spanish Obrigado Portuguese Arabic Simplified Chinese Traditional Chinese Tamil Thai Korean https://sites.google.com/site/animeshchaturvedi07

×