technology architecture school
TRANSCRIPT
• SLI Portal: League Center
• Technology Principles & Key Design Decisions
• Technology Assumptions
• Architecture Straw-man
• Execution Architecture
• Development Architecture Services Inventory
• Development Architecture – Tools
• Development Architecture Logical Environments
• Operations Architecture Services Inventory
• Operations Architecture Diagram
• Infrastructure Architecture Diagram
• Platform Architecture Services Inventory
CONTENTS
• SLI is a professional, multi-national sports league with teams in over 30 major cities
• SLI teams valued between $750 million to $1.5 billion, and profits last year ranked the highest in the sports industry
• In terms of popularity, last year over 45 million people watched an SLI game on television and over 20 million people attended an SLI game.
SLI PORTAL: LEAGUE CENTER
3
• Intelligent machines, Turing test, Web N, 10 Billion users
• Cloud computing combined with service oriented architecture (SOA) and parallel computing have influenced application softwaredevelopment.
• Parallel programs present a variety of challenges including race conditions, synchronization and load balancing overhead
• Social media, enterprise mobility, data analytics and cloud
• AI, Technology and enterprise, Virtualization, Open Source
• Machine learning, compilers, algorithms, systems
• Blockchain
• Profits and the efficient market
• Software development life cycle
• Economic – 100 Trillion market value
• Tiered industry
• Fourth industrial revolution
TECHNOLOGY PRINCIPLES & KEY DESIGN DECISIONS
URI
XML
RDF
Ontology
Logic
Proof
Trust
Semantic web stack
• Architect and design cloud applications to support multi-tenancy, concurrency management, parallel processing and service-oriented architecture supporting rest services.
• Law of accelerating returns
• Prices and margins, competition, converging global supply and demand, evolving business models
• Tier vs. batch processing, open source (availability of source code), language Java, C#, security and reliability.
• Public cloud – SaaS, PaaS, IaaS, in-house
• Numbers of users, usage model
• Structured data
• Availability of a high level software architecture specification including UML, use case diagrams. This would include the application UI (presentation layer), business logic (middle layer) and data access (data layer).
• Compiler is the glue logic for all the layers
• Collaboration on an open platform
– Web - www.internetsociety.org
– Open source
• Bitcoin cryptocurrency
• Anarchy
TECHNOLOGY ASSUMPTIONS
5
Co
mp
iler
Application
Operating System
Virtualization
Simulator
Host architecture
• Web N
– Internet protocols, XML, JSON– Web service standards, Layered SOA internet architecture– Semantic web technologies• Resource Description Framework
• Cloud computing
– Expenditure savings– Development and deployment of application platform
• Knowledge systems
– Vast repositories of structured, un-structured data• Efficient programming languages
– github• The Producer Consumer or Bounded buffer problem is an example of a multi-process synchronization challenge. It forms a
central role in any Operating system design that allows concurrent process activity. N producers, N consumers and N queues.
• The dining philosopher’s problem is another demonstration of the challenges in concurrency and synchronization.
TECHNOLOGY ASSUMPTIONS (CONTD.)
6
Producer 1 Queue 1 Consumer 1
Producer 2 Queue 2 Consumer 2
…Producer N Queue N Consumer N
AS A SERVICE CLOUD
• Platforms agnostic. Algorithms is the layer of abstraction
• Pay as you go
• Layered architecture
• Open Source
• QOS requirement are guaranteed by the tiered Cloud Service provider.
• Software as a Service (SaaS)
– Salesforce.com, Google Apps, Zoho Office
– Web Applications
7
Infrastructure as a Service (IaaS)
Platform as a Service (PaaS)
Software as a Service (SaaS)
Ven
do
r
Applications
Data
Runtime
Middleware
COMPILERS AND TRANSLATORS
• Compilers translate information from one representation to another.
• Most commonly, the information is a program
• Compilers translate from high-level source code to low-level code
• Translators transform representations at the same level of abstraction
• Windows – 50 million LOC
• Google internet services – 2 billion LOC
• Compiler
• Sequential batch architecture
• AST represents the structure of the source code
– Encodes order of evaluation
– Allows divide and conquer recursive evaluation
• Parser turns flat text into a tree
• AST is a kind of a program intermediate form (IR).
STAGES OF COMPILATION
Source code
Lexical analysis
• Token stream
Syntax analysis
• Abstract syntax tree
Semantic analysis
• OOP and Java have enabled enterprise system architecture
• Java is an algorithms, web and enterprise centric programming language
• It allows for deployment of applications on a host of platforms running a virtual machine
• Design once, deploy anywhere
• 3 billion mobile devices run Java - O(1) → O(N)
• Enterprise applications provide the business logic for an enterprise
• Architectures have evolved from monolithic systems, to distributed tiered systems, to Internet connected cloud systems today
INTERPRETER AND COMPILER
Example systems: g++ compiler, V8 JS
Parsing
Lowering
Interpreter
JIT compiler
Parsing
Lowering
Analysis + optimizatio
n
Code gen
Unified Modeling Language (UML)
• Class diagram
• Use case
• Sequence
Eclipse
JavaScript wavi
MODELING NOTATION
12
Tomcat MongoDB server3-tier use case diagram
ARCHITECTURE STRAW-MAN
13
Mobile Web browser
Data
Shop zone
CMS
Total stats, Inc.
Live stats, Inc.
Site analytics
Analytics
Search
UI Admin
User
REST / SO
APCognitive
SSO
REST, SOAP SERVICE
14
Authentication / Authorization
Host
Json, XML
RequestResponse
Shop zone
CMS
Total stats
Cognitive services
Cognitive agent
•UI
Client
Redundancy, Security
Service Oriented Architecture
EXECUTION ARCHITECTURE
15
User
Web browser
Mobile App
Presentation Layer
Application UI
HTML, JS, jQuery
Cognitive agent
Node.js, AngularJS
Purchase, Shopping
Cart, Payment
Meteor
SSO
Middle Layer
Cognitive Services
Java Python
Business Logic
Java Servlets,
JSP
PHP, ASP .NET
Shop zone, CMS,
Total stats
Data Layer
Data Access
NoSQL DB,
MongoDBJSON
• Large number of productivity applications, JavaScript frameworks
– AngularJS, jQuery
• Build web pages using templates
• Local Market app
– Logins via Twitter, capture photos and GPS location
– Under 1000 lines of JavaScript
– https://www.meteor.com/articles/localmarket-example-app
– meteor create --example localmarket
• Todos application
– 600 lines of JavaScript
– Collaborative task management
– https://www.meteor.com/articles/todos-example-app
– meteor create --example todos
• Built in authentication, registration
– Meteor.loginwithfacebook()
• https://atmospherejs.com
• https://github.com
METEOR
16
DEVELOPMENT ARCHITECTURE SERVICES INVENTORY
Emotion Speaker Recognition
Speech
Custom RecognitionComputer Vision
Face
Video
Cognitive Services microsoft.com/cognitive
Linguistic Analysis
Language Understanding
Bing Spell Check
Entity Linking
Knowledge Exploration
Academic Knowledge
Bing Image Search
Bing Video Search
Bing Web Search
WebLM
Text Analytics Recommendations
Bing Autosuggest
Bing News Search
Translator
https://sec.ch9.ms/sessions/build/2016/B855.pptx
Key Processes Key Tools
Program & project management Sharepoint
Server side languages Java Servlet, JSP, PHP
Client side languages HTML, JS
Database MySQL, MongoDB, Elasticsearch
Programming languages Java, C#, C++
Development standards UML
Development tools Eclipse, Visual Studio, JDeveloper
Operating system Linux
Web server Tomcat, Meteor
Visualization UI Kibana, Logstash
Configuration release management Git, Maven, Jenkins
DEVELOPMENT ARCHITECTURE – TOOLS
Interoperability
Scalability
Quality of Service
Open source
SaaS, PaaS, IaaS
Private cloud, public cloud, hybrid cloud
Service-Oriented Architecture (SOA) of Web 2.0, Web 3.0 and virtualization
Intellectual property
Site analytics, Kibana
DEVELOPMENT ARCHITECTURE LOGICAL ENVIRONMENTS
• Cloud computing
– Service Oriented Architecture (SOA)
– World Wide Web
• Requirements
– Cloud assessment
– Cloud usage patterns
• SDLC
– Architecture
– Design
– Implementation
– Testing
– Production
– Support and Maintenance
OPERATIONS ARCHITECTURE SERVICES INVENTORY
Requirements
Design
Coding Testing
Deployment
• Monolithic architecture
• Cloud computing
– Accessibility
• Programmability
• Web
• Structured data, unstructured
• Consolidate price, performance requirements as per usage constraints
• Code reuse
• Revenue, delivery deadline
• New customer, customer reviews
• Availability of compilers and code generators
• Security, reliability, vendor, control, governance and legal
OPERATIONS ARCHITECTURE DIAGRAM
N-tier, SOA
Products and services
Licensing, R&D
Open innovation, open source
Strategy vary in business needs
REVENUE
22
23
• Time, Cost and Productivity
• Distributed Complex Sourcing
• Faster Delivery of Innovation
• Increasing Complexity
• SaaS vs. PaaS
– Number of users, usage model
• Reuse of Web Services
• Agile, continuous development
• QOS is supported in tiered cloud service provider
CLOUD
• Elasticsearch is a distributed and scalable data store. It provides search and analytics capabilities with Rest services. It supports indexing of a JSON document. Input is through Logstash.
CLOUD (CONTD.)
• By 2019, 59 percent of the total cloud workloads will be Software-as-a-Service (SaaS) workloads, up from 45 percent in 2014.
• By 2019, 30 percent of the total cloud workloads will be Infrastructure-as-a-Service (IaaS) workloads, down from 42 percent in 2014.
• By 2019, 11 percent of the total cloud workloads will be Platform-as-a-Service (PaaS) workloads, down from 13 percent in 2014.
24
INFRASTRUCTURE ARCHITECTURE DIAGRAM
• Infrastructure as a Service (IaaS)
– Amazon Elastic Cloud (EC2), VMware, vCloud
Express
Use
r
Applications
Data
Runtime
Middleware
PLATFORM ARCHITECTURE SERVICES INVENTORY
• Platform as a Service (PaaS)
– Force.com, Google App Engine
– Java, Python, .NET, MySQL
• Cloud development platform
• Code reuse
• Interface design
• Purchase Application template
• Deploy application as per usage model
• https://azure.microsoft.com/en-in/pricing/calculator
• http://calculator.s3.amazonaws.com/index.html
26
User
Applications
Data
Vendor
Runtime
Middleware
• Deep Learning NLP - https://kxdocuments.accenture.com/Contribution/043a517e-046e-41ba-84e5-54643b39e32c
• AI System Challenges -https://myoffice.accenture.com/:f:/g/personal/shaun_c_dsouza_accenture_com/Ej3goWafJuJNt-hQhBf2bWsB8ktZlvbgL197svBpLmCsKA
• Computer Vision - Learn Over Coffee - https://webcast.accenture.com?eventid=34502
• Celia Chatbot Software Architecture - https://kxdocuments.accenture.com/contribution/553a4d6d-8b3a-4605-8143-2d0107637a1f
• AI Conversational Agent architecture - https://kxdocuments.accenture.com/Contribution/0574bf91-0970-4565-b3b7-1f15ea749aef
REFERENCES
27