Microservice Architectures Dr. Andreas Schroeder
|
|
|
- Barrie Short
- 10 years ago
- Views:
Transcription
1 Microservice Architectures Dr. Andreas Schroeder 1
2 About me Dr. Andreas Schroeder codecentric AG Elsenheimerstr 55A München blog.codecentric.de 250+ staff 12 offfices (9 in Germany) Experts for developing custom IT solutions Involvement in the IT community via twitter github meetup 2
3 Agenda The Pain Therefore, Microservices Stable Interfaces: HTTP, JSON, REST Characteristics Comparison with Precursors Challenges With special focus on Service Versioning Conclusion 3
4 The Pain
5 Observed problems Area of consideration Web systems Built collaboratively by several development teams With traffic load that requires horizontal scaling (i.e. load balancing across multiple copies of the system) Observation Such systems are often built as monoliths or layered systems (JEE) 5
6 Software Monolith A Software Monolith One build and deployment unit One code base One technology stack (Linux, JVM, Tomcat, Libraries) Benefits Simple mental model for developers one unit of access for coding, building, and deploying Simple scaling model for operations just run multiple copies behind a load balancer 6
7 Problems of Software Monoliths Huge and intimidating code base for developers Development tools get overburdened refactorings take minutes builds take hours testing in continuous integration takes days Scaling is limited Running a copy of the whole system is resource-intense It doesn t scale with the data volume out-of-the-box Deployment frequency is limited Re-deploying means halting the whole system Re-deployments will fail and increase the perceived risk of deployment 7
8 Layered Systems A layered system decomposes a monolith into layers Usually: presentation, logic, data access At most one technology stack per layer Presentation: Linux, JVM, Tomcat, Libs, EJB client, JavaScript Logic: Linux, JVM, EJB container, Libs Data Access: Linux, JVM, EJB JPA, EJB container, Libs Benefits Presentation Logic Data Access Simple mental model, simple dependencies Simple deployment and scaling model DB 8
9 Problems of Layered Systems Still huge codebases (one per layer) with the same impact on development, building, and deployment Scaling works better, but still limited Staff growth is limited: roughly speaking, one team per layer works well Developers become specialists on their layer Communication between teams is biased by layer experience (or lack thereof) 9
10 Growing systems beyond the limits Applications and teams need to grow beyond the limits imposed by monoliths and layered systems, and they do in an uncontrolled way. Large companies end up with landscapes of layered systems that often interoperate in undocumented ways. These landscapes then often break in unexpected ways. How can a company grow and still have a working IT architecture and vision? Observing and documenting successful companies (e.g. Amazon, Netflix) lead to the definition of microservice architecture principles. 10
11 Therefore, Microservices
12 History 2011: First discussions using this term at a software architecture workshop near Venice May 2012: microservices settled as the most appropriate term March 2012: Java, the Unix Way at 33rd degree by James Lewis September 2012: µservice Architecture at Baruco by Fred George All along, Adrian Cockroft pioneered this style at Netflix as fine grained SOA James Lewis Fred George Adrian Cockroft 12
13 Underlying principle On the logical level, microservice architectures are defined by a functional system decomposition into manageable and independently deployable components The term micro refers to the sizing: a microservice must be manageable by a single development team (5-9 developers) Functional system decomposition means vertical slicing (in contrast to horizontal slicing through layers) Independent deployability implies no shared state and inter-process communication (often via HTTP REST-ish interfaces) 13
14 More specifically Each microservice is functionally complete with Resource representation Data management Each microservice handles one resource (or verb), e.g. Clients Shop Items Carts Checkout Microservices are fun-sized services, as in still fun to develop and deploy 14
15 Independent Deployability is key It enables separation and independent evolution of code base technology stacks scaling and features, too 15
16 Independent code base Each service has its own software repository Codebase is maintainable for developers it fits into their brain Tools work fast building, testing, refactoring code takes seconds Service startup only takes seconds No accidental cross-dependencies between code bases 16
17 Independent technology stacks Each service is implemented on its own technology stacks The technology stack can be selected to fit the task best Teams can also experiment with new technologies within a single microservice No system-wide standardized technology stack also means No struggle to get your technology introduced to the canon No piggy-pack dependencies to unnecessary technologies or libraries It s only your own dependency hell you need to struggle with Selected technology stacks are often very lightweight A microservice is often just a single process that is started via command line, and not code and configuration that is deployed to a container. 17
18 functional decomp. Independent Scaling Each microservice can be scaled independently Identified bottlenecks can be addressed directly Data sharding can be applied to microservices as needed Parts of the system that do not represent bottlenecks can remain simple and un-scaled Netflix Scaling Cube JEE Pet Store horizontal & vertical 18
19 Independent evolution of Features Microservices can be extended without affecting other services For example, you can deploy a new version of (a part of) the UI without re-deploying the whole system You can also go so far as to replace the service by a complete rewrite But you have to ensure that the service interface remains stable 19
20 Stable Interfaces standardized communication Communication between microservices is often standardized using HTTP(S) battle-tested and broadly available transport protocol REST uniform interfaces on data as resources with known manipulation means JSON simple data representation format REST and JSON are convenient because they simplify interface evolution (more on this later) 20
21 Stable Interfaces: HTTP, JSON, REST
22 HTTP Example GET / HTTP/1.1 Host: Connection: keep-alive Cache-Control: max-age=0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/ (KHTML, like Gecko) Chrome/ Safari/ Accept-Encoding: gzip,deflate Accept-Language: de-de,de;q=0.8,en-us;q=0.6,en;q=0.4 Cookie: HTTP/ OK Date: Tue, 21 Oct :34:29 GMT Server: Apache/ (Amazon) Cache-Control: no-cache, must-revalidate, max-age=0 Content-Encoding: gzip Content-Length: 8083 Connection: close Content-Type: text/html; charset=utf-8 22
23 HTTP Available verbs GET, POST, PUT, DELETE (and more) Safe verbs: GET (and others, but none of the above) Non-idempotent: POST (no other verb has this issue) Mechanisms for caching and cache control content negotiation session management user agent and server identification Status codes in response (200, 404, etc) for information, success, redirection, client error, server error Rich standardized interface for interacting over the net 23
24 JSON Minimal and popular data representation format Schemaless in principle, but can be validated if need be Example of two bank accounts: [{ "number" : 12345, "balance" : , "currency" : "EUR" }, { "number" : 12346, "balance" : , "currency" : "USD" }] json.org 24
25 REST REST is an architectural style for systems built on the web. It consists of a set of coordinated architectural constraints for distributed hypermedia systems. REST describes how to build systems on battle-tested protocols and standards that are already out there (like HTTP) REST describes the architectural ideas behind HTTP, and how HTTP can be used to do more than serving static web content 25
26 REST Architectural Constraints Client-Server: Separation of logic from user interface Stateless: no client context on the server Cacheable: reduce redundant interaction between client and server Layered System: intermediaries may relay communication between client and server (e.g. for load balancing) Code on demand: serve code to be executed on the client (e.g. JavaScript) Uniform interface Use of known HTTP verbs for manipulating resources Resource manipulation through representations which separated from internal representations Hypermedia as the engine of application state (HATEOAS): the response contains all allowed operations and the resource identifiers needed to trigger them 26
27 HATEOAS example in JSON Resource representation { "number" : 12345, "balance" : , "currency" : "EUR", "links" : [ { "rel" : "self", "href" : " }, { "rel" : "deposit", "href" : " } ] } relation name (known by clients) URI for operation 27
28 Stable Interfaces HTTP offers a rich set of standardized interaction mechanisms that still allow for scaling JSON offers a simple data format that can be (partially) validated REST provides principles and ideas for leveraging HTTP and JSON to build evolvable microservice interfaces Be of the web, not behind the web Ian Robinson 28
29 Characteristics
30 Componentization via Services Interaction mode: share-nothing, cross-process communication Independently deployable (with all the benefits) Explicit, REST-based public interface Sized and designed for replaceability Upgrading technologies should not happen big-bang, all-or-nothing-style Downsides Communication is more expensive than in-process Interfaces need to be coarser-grained Re-allocation of responsibilities between services is harder 30
31 Favors Cross-Functional Teams Line of separation is along functional boundaries, not along tiers Presentation VS Logic Data Access DB 31
32 Decentralized Governance Principle: focus on standardizing the relevant parts, and leverage battle-tested standards and infrastructure Treats differently What needs to be standardized Communication protocol (HTTP) Message format (JSON) What should be standardized Communication patterns (REST) What doesn t need to be standardized Application technology stack 32
33 Decentralized Data Management OO Encapsulation applies to services as well Each service can choose the persistence solution that fits best its Data access patterns Scaling and data sharding requirements Only few services really need enterprisey persistence 33
34 Infrastructure Automation Having to deploy significant number of services forces operations to automate the infrastructure for Deployment (Continuous Delivery) Monitoring (Automated failure detection) Managing (Automated failure recovery) Consider that: Amazon AWS is primarily an internal service Netflix uses Chaos Monkey to further enforce infrastructure resilience 34
35 Comparisons with Precursors
36 DATA SERVICE ORCHESTRATION Service-Oriented Architecture 36
37 Service-Oriented Architecture SOA systems also focus on functional decomposition, but services are not required to be self-contained with data and UI, most of the time the contrary is pictured. It is often thought as decomposition within tiers, and introducing another tier the service orchestration tier In comparison to microservices SOA is focused on enabling business-level programming through business processing engines and languages such as BPEL and BPMN SOA does not focus on independent deployment units and its consequences Microservices can be seen as SOA the good parts 37
38 Component-Based Software Engineering Underlying functional decomposition principle of microservices is basically the same. Additionally, the following similarities and differences exist: State model Many theoretical component models follow the share-nothing model Communication model Component technologies often focus on simulating in-process communication across processes (e.g. Java RPC, OSGi, EJB) Microservice communication is intra-process, serialization-based Code separation model Component technologies do require code separation Components are often developed in a common code repository Deployment model Components are often thought as being deployed into a uniform container 38
39 Challenges
40 Fallacies of Distributed Computing Essentially everyone, when they first build a distributed application, makes the following eight assumptions. All prove to be false in the long run and all cause big trouble and painful learning experiences. The network is reliable Latency is zero Bandwidth is infinite The network is secure Topology doesn t change There is one administrator Transport cost is zero The network is homogeneous Peter Deutsch 40
41 Microservices Prerequisites Before applying microservices, you should have in place Rapid provisioning Dev teams should be able to automatically provision new infrastructure Basic monitoring Essential to detect problems in the complex system landscape Rapid application deployment Service deployments must be controlled and traceable Rollbacks of deployments must be easy Source 41
42 Evolving interfaces correctly Microservice architectures enable independent evolution of services but how is this done without breaking existing clients? There are two answers Version service APIs on incompatible API changes Using JSON and REST limits versioning needs of service APIs Versioning is key Service interfaces are like programmer APIs you need to know which version you program against As service provider, you need to keep old versions of your interface operational while delivering new versions But first, let s recap compatibility 42
43 API Compatibility There are two types of compatibility Forward Compatibility Upgrading the service in the future will not break existing clients Requires some agreements on future design features, and the design of new versions to respect old interfaces Backward Compatibility Newly created service is compatible with old clients Requires the design of new versions to respect old interfaces The hard type of compatibility is forward compatibility! 43
44 Forward compatibility through REST and JSON REST and JSON have a set of inherent agreements that benefit forward compatibility JSON: only validate for what you really need, and ignore unknown object fields (i.e. newly introduced ones) REST: HATEOAS links introduce server-controlled indirection between operations and their URIs { "number" : 12345,... "links" : [ { " "rel" : "deposit", "href" : " } ] } 44
45 Compatibility and Versioning Compatibility can t be always guaranteed, therefore versioning schemes (major.minor.point) are introduced Major version change: breaking API change Minor version change: compatible API change Note that versioning a service imposes work on the service provider Services need to exist in their old versions as long as they are used by clients The service provider has to deal with the mapping from old API to new API as long as old clients exist 45
46 REST API Versioning Three options exist for versioning a REST service API 1. Version URIs 2. Custom HTTP header api-version: 2 3. Accept HTTP header Accept: application/vnd.accounts.v2+json Which option to choose? While developing use option 1, it is easy to pass around For production use option 3, it is the cleanest one 46
47 REST API Versioning It is important to version your API directly from the start install a clear policy on handling unversioned calls Service version 1? Service most version? Reject? Sources
48 Further Challenges Testing the whole system A single microservice isn t the whole system. A clear picture of upstream and downstream services is needed for integration testing Transactions Instead of distributed transactions, compensations are used (as in SOA) Authentication Is often offloaded to reverse proxies making use auf authentication (micro)services Request logging Pass along request tokens Add them to the log Perform log aggregation 48
49 Conclusion
50 Microservices: just? Just adopt? No. Microservices are a possible design alternative for new web systems and an evolution path for existing web systems. There are considerable amounts of warnings about challenges, complexities and prerequisites of microservices architectures from the community. Just the new fad? Yes and no. Microservices is a new term, and an evolution of long-known architectural principles applied in a specific way to a specific type of systems. The term is dev and ops-heavy, not so much managerial. The tech landscape is open source and vendor-free at the moment. 50
51 Summary There is an alternative to software monoliths Microservices: functional decomposition of systems into manageable and independently deployable services Microservice architectures means Independence in code, technology, scaling, evolution Using battle-tested infrastructure (HTTP, JSON, REST) Microservice architectures are challenging Compatibility and versioning while changing service interfaces transactions, testing, deploying, monitoring, tracing is/are harder Microservices are no silver bullet, but may be the best way forward for large web systems built by professional software engineers 51
52 Sources and Further Reading
53 Pictures Slide 1: Cover Picture Slide 6: Monolith Boris Macek Martin Dosch 53
The Hyper-Text Transfer Protocol (HTTP)
The Hyper-Text Transfer Protocol (HTTP) Antonio Carzaniga Faculty of Informatics University of Lugano October 4, 2011 2005 2007 Antonio Carzaniga 1 HTTP message formats Outline HTTP methods Status codes
Hypertext for Hyper Techs
Hypertext for Hyper Techs An Introduction to HTTP for SecPros Bio Josh Little, GSEC ~14 years in IT. Support, Server/Storage Admin, Webmaster, Web App Dev, Networking, VoIP, Projects, Security. Currently
THE PROXY SERVER 1 1 PURPOSE 3 2 USAGE EXAMPLES 4 3 STARTING THE PROXY SERVER 5 4 READING THE LOG 6
The Proxy Server THE PROXY SERVER 1 1 PURPOSE 3 2 USAGE EXAMPLES 4 3 STARTING THE PROXY SERVER 5 4 READING THE LOG 6 2 1 Purpose The proxy server acts as an intermediate server that relays requests between
From the Monolith to Microservices: Evolving Your Architecture to Scale. Randy Shoup @randyshoup linkedin.com/in/randyshoup
From the Monolith to Microservices: Evolving Your Architecture to Scale Randy Shoup @randyshoup linkedin.com/in/randyshoup Background Consulting CTO at Randy Shoup Consulting o o Helping companies from
CS640: Introduction to Computer Networks. Applications FTP: The File Transfer Protocol
CS640: Introduction to Computer Networks Aditya Akella Lecture 4 - Application Protocols, Performance Applications FTP: The File Transfer Protocol user at host FTP FTP user client interface local file
Vodia PBX RESTful API (v2.0)
Vodia PBX RESTful API (v2.0) 2015 Vodia Networks Inc. All rights reserved. Page 1 of 30 Contents Login... 3 Get license info... 4 Get a complete list of domains... 5 Get the details of a specific domain...
1. When will an IP process drop a datagram? 2. When will an IP process fragment a datagram? 3. When will a TCP process drop a segment?
Questions 1. When will an IP process drop a datagram? 2. When will an IP process fragment a datagram? 3. When will a TCP process drop a segment? 4. When will a TCP process resend a segment? CP476 Internet
Security Testing For RESTful Applications
Security Testing For RESTful Applications Ofer Shezaf, HP Enterprise Security Products [email protected] What I do for a living? Product Manager, Security Solutions, HP ArcSight Led security research and product
reference: HTTP: The Definitive Guide by David Gourley and Brian Totty (O Reilly, 2002)
1 cse879-03 2010-03-29 17:23 Kyung-Goo Doh Chapter 3. Web Application Technologies reference: HTTP: The Definitive Guide by David Gourley and Brian Totty (O Reilly, 2002) 1. The HTTP Protocol. HTTP = HyperText
All You Can Eat Realtime
HTML5 WebSocket: All You Can Eat Realtime By Peter Lubbers, Kaazing May 14, 2010 1 About Peter Lubbers Director of Documentation and Training, Kaazing Co-Founder San Francisco HTML5 User Group http://www.sfhtml5.org/
How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer
How to Build an E-Commerce Application using J2EE Carol McDonald Code Camp Engineer Code Camp Agenda J2EE & Blueprints Application Architecture and J2EE Blueprints E-Commerce Application Design Enterprise
<Insert Picture Here> Oracle Web Cache 11g Overview
Oracle Web Cache 11g Overview Oracle Web Cache Oracle Web Cache is a secure reverse proxy cache and a compression engine deployed between Browser and HTTP server Browser and Content
Table of Contents. Open-Xchange Authentication & Session Handling. 1.Introduction...3
Open-Xchange Authentication & Session Handling Table of Contents 1.Introduction...3 2.System overview/implementation...4 2.1.Overview... 4 2.1.1.Access to IMAP back end services...4 2.1.2.Basic Implementation
REST web services. Representational State Transfer Author: Nemanja Kojic
REST web services Representational State Transfer Author: Nemanja Kojic What is REST? Representational State Transfer (ReST) Relies on stateless, client-server, cacheable communication protocol It is NOT
Architecture of So-ware Systems HTTP Protocol. Mar8n Rehák
Architecture of So-ware Systems HTTP Protocol Mar8n Rehák HTTP Protocol Hypertext Transfer Protocol Designed to transfer hypertext informa8on over the computer networks Hypertext: Structured text with
Project #2. CSE 123b Communications Software. HTTP Messages. HTTP Basics. HTTP Request. HTTP Request. Spring 2002. Four parts
CSE 123b Communications Software Spring 2002 Lecture 11: HTTP Stefan Savage Project #2 On the Web page in the next 2 hours Due in two weeks Project reliable transport protocol on top of routing protocol
Study of the architecture for a new webbased software system using commercial ERP system
Study of the architecture for a new webbased software system using commercial ERP system Bram Cooreman under supervision of: Ari Rantala, TAMK Jari Mikkolainen, TAMK Esa Kujansuu, TAMK Wim Catteeuw, KHBO
API Architecture. for the Data Interoperability at OSU initiative
API Architecture for the Data Interoperability at OSU initiative Introduction Principles and Standards OSU s current approach to data interoperability consists of low level access and custom data models
CONTENT of this CHAPTER
CONTENT of this CHAPTER v DNS v HTTP and WWW v EMAIL v SNMP 3.2.1 WWW and HTTP: Basic Concepts With a browser you can request for remote resource (e.g. an HTML file) Web server replies to queries (e.g.
Web Services and Service Oriented Architectures. Thomas Soddemann, RZG
Web Services and Service Oriented Architectures, RZG Delaman Workshop 2004 Overview The Garching Supercomputing Center - RZG Diving into the world of Web Services Service Oriented Architectures And beyond
Business-Driven Software Engineering Lecture 3 Foundations of Processes
Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster [email protected] Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary
Adding scalability to legacy PHP web applications. Overview. Mario Valdez-Ramirez
Adding scalability to legacy PHP web applications Overview Mario Valdez-Ramirez The scalability problems of legacy applications Usually were not designed with scalability in mind. Usually have monolithic
Playing with Web Application Firewalls
Playing with Web Application Firewalls Who is Wendel? Independent penetration test analyst. Affiliated to Hackaholic team. Over 7 years in the security industry. Discovered vulnerabilities in Webmails,
Research of Web Real-Time Communication Based on Web Socket
Int. J. Communications, Network and System Sciences, 2012, 5, 797-801 http://dx.doi.org/10.4236/ijcns.2012.512083 Published Online December 2012 (http://www.scirp.org/journal/ijcns) Research of Web Real-Time
Varnish Tips & Tricks, 2015 edition
Varnish Tips & Tricks, 2015 edition ConFoo 2015 Montreal, Canada Magnus Hagander [email protected] PRODUCTS CONSULTING APPLICATION MANAGEMENT IT OPERATIONS SUPPORT TRAINING Magnus Hagander Redpill Linpro
Internet Technologies Internet Protocols and Services
QAFQAZ UNIVERSITY Computer Engineering Department Internet Technologies Internet Protocols and Services Dr. Abzetdin ADAMOV Chair of Computer Engineering Department [email protected] http://ce.qu.edu.az/~aadamov
CS 188/219. Scalable Internet Services Andrew Mutz October 8, 2015
CS 188/219 Scalable Internet Services Andrew Mutz October 8, 2015 For Today About PTEs Empty spots were given out If more spots open up, I will issue more PTEs You must have a group by today. More detail
Web applications. Web security: web basics. HTTP requests. URLs. GET request. Myrto Arapinis School of Informatics University of Edinburgh
Web applications Web security: web basics Myrto Arapinis School of Informatics University of Edinburgh HTTP March 19, 2015 Client Server Database (HTML, JavaScript) (PHP) (SQL) 1 / 24 2 / 24 URLs HTTP
Security-Assessment.com White Paper Leveraging XSRF with Apache Web Server Compatibility with older browser feature and Java Applet
Security-Assessment.com White Paper Leveraging XSRF with Apache Web Server Compatibility with older browser feature and Java Applet Prepared by: Roberto Suggi Liverani Senior Security Consultant Security-Assessment.com
SOA @ ebay : How is it a hit
SOA @ ebay : How is it a hit Sastry Malladi Distinguished Architect. ebay, Inc. Agenda The context : SOA @ebay Brief recap of SOA concepts and benefits Challenges encountered in large scale SOA deployments
World Wide Web. Before WWW
World Wide Web [email protected] Before WWW Major search tools: Gopher and Archie Archie Search FTP archives indexes Filename based queries Gopher Friendly interface Menu driven queries João Neves 2
Modern Web Development From Angle Brackets to Web Sockets
Modern Web Development From Angle Brackets to Web Sockets Pete Snyder Outline (or, what am i going to be going on about ) 1.What is the Web? 2.Why the web matters 3.What s unique about
Protocolo HTTP. Web and HTTP. HTTP overview. HTTP overview
Web and HTTP Protocolo HTTP Web page consists of objects Object can be HTML file, JPEG image, Java applet, audio file, Web page consists of base HTML-file which includes several referenced objects Each
HTTP Caching & Cache-Busting for Content Publishers
HTTP Caching & Cache-Busting for Content Publishers Michael J. Radwin http://public.yahoo.com/~radwin/ OSCON 2005 Thursday, August 4th, 2005 1 1 Agenda HTTP in 3 minutes Caching concepts Hit, Miss, Revalidation
EnergySync and AquaSys. Technology and Architecture
EnergySync and AquaSys Technology and Architecture EnergySync and AquaSys modules Enterprise Inventory Enterprise Assets Enterprise Financials Enterprise Billing Service oriented architecture platform
Building Hyper-Scale Platform-as-a-Service Microservices with Microsoft Azure. Patriek van Dorp and Alex Thissen
Building Hyper-Scale Platform-as-a-Service Microservices with Microsoft Azure Patriek van Dorp and Alex Thissen About me: Patriek van Dorp [email protected] @pvandorp Xpirit http://onwindowsazure.com
Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.
Chapter 2 TOPOLOGY SELECTION SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: Topology selection criteria. Perform a comparison of topology selection criteria. WebSphere component
Sticky Session Setup and Troubleshooting
1 Sticky Session Setup and Troubleshooting Day, Date, 2004 time p.m. ET Teleconference Access: US & Canada: 888-259-4812 Teleconference Access: North America: xxxx Toll Number: 706-679-4880 International:
Cache All The Things
Cache All The Things About Me Mike Bell Drupal Developer @mikebell_ http://drupal.org/user/189605 Exactly what things? erm... everything! No really... Frontend: - HTML - CSS - Images - Javascript Backend:
Demystifying cache. Kristian Lyngstøl Product Specialist Varnish Software AS
Demystifying cache Kristian Lyngstøl Product Specialist Varnish Software AS Montreal, March 2013 Agenda - The types of caches involved - The benefits of a cache - HTTP - Reverse proxy specifics Not: L1/L2
Service Oriented Architecture
Service Oriented Architecture Charlie Abela Department of Artificial Intelligence [email protected] Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture 2 Lecture Outline
SiteCelerate white paper
SiteCelerate white paper Arahe Solutions SITECELERATE OVERVIEW As enterprises increases their investment in Web applications, Portal and websites and as usage of these applications increase, performance
Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture #3 2008 3 Apache.
JSP, and JSP, and JSP, and 1 2 Lecture #3 2008 3 JSP, and JSP, and Markup & presentation (HTML, XHTML, CSS etc) Data storage & access (JDBC, XML etc) Network & application protocols (, etc) Programming
Application layer Web 2.0
Information Network I Application layer Web 2.0 Youki Kadobayashi NAIST They re revolving around the web, after all Name any Internet-related buzz: Cloud computing Smartphone Social media... You ll end
Reference Model for Cloud Applications CONSIDERATIONS FOR SW VENDORS BUILDING A SAAS SOLUTION
October 2013 Daitan White Paper Reference Model for Cloud Applications CONSIDERATIONS FOR SW VENDORS BUILDING A SAAS SOLUTION Highly Reliable Software Development Services http://www.daitangroup.com Cloud
Session 6 Patterns and best practices in SOA/REST
Session 6 Patterns and best practices in SOA/REST Sistemas Distribuidos Diego Sevilla Ruiz DITEC Facultad de Informática Murcia, 2012 Diego Sevilla Ruiz (DITEC Facultad de Informática) Session 6 Patterns
Web Architecture I 03.12.2014. u www.tugraz.at
1 Web Architecture I Web Architecture I u www.tugraz.at 2 Outline Development of the Web Quality Requirements HTTP Protocol Web Architecture A Changing Web Web Applications and State Management Web n-tier
HTTP. Internet Engineering. Fall 2015. Bahador Bakhshi CE & IT Department, Amirkabir University of Technology
HTTP Internet Engineering Fall 2015 Bahador Bakhshi CE & IT Department, Amirkabir University of Technology Questions Q1) How do web server and client browser talk to each other? Q1.1) What is the common
Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies
Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies 3-day seminar Give Your Business the Competitive Edge SOA has rapidly seized the momentum and center stage because
perspective Microservices A New Application Paradigm Abstract
perspective Microservices A New Application Paradigm Abstract Microservices Architecture is introducing the concept of developing functionality as a number of small self-contained services. This paper
Service-Oriented Architecture and Software Engineering
-Oriented Architecture and Software Engineering T-86.5165 Seminar on Enterprise Information Systems (2008) 1.4.2008 Characteristics of SOA The software resources in a SOA are represented as services based
HTTP Protocol. Bartosz Walter <[email protected]>
HTTP Protocol Bartosz Walter Agenda Basics Methods Headers Response Codes Cookies Authentication Advanced Features of HTTP 1.1 Internationalization HTTP Basics defined in
International Journal of Engineering & Technology IJET-IJENS Vol:14 No:06 44
International Journal of Engineering & Technology IJET-IJENS Vol:14 No:06 44 Data Traffic and Security over Internet via Monitoring and Analyzing the HTTP Protocol Ezmolda Barolli, Loren Nebiaj, Gloria
Jenkins User Conference Herzelia, July 5 2012 #jenkinsconf. Testing a Large Support Matrix Using Jenkins. Amir Kibbar HP http://hp.
Testing a Large Support Matrix Using Jenkins Amir Kibbar HP http://hp.com/go/oo About Me! 4.5 years with HP! Almost 3 years System Architect! Out of which 1.5 HP OO s SA! Before that a Java consultant
Outline SOA. Properties of SOA. Service 2/19/2016. Definitions. Comparison of component technologies. Definitions Component technologies
Szolgáltatásorientált rendszerintegráció Comparison of component technologies Simon Balázs, BME IIT Outline Definitions Component technologies RPC, RMI, CORBA, COM+,.NET, Java, OSGi, EJB, SOAP web services,
Oracle Communications WebRTC Session Controller: Basic Admin. Student Guide
Oracle Communications WebRTC Session Controller: Basic Admin Student Guide Edition 1.0 April 2015 Copyright 2015, Oracle and/or its affiliates. All rights reserved. Disclaimer This document contains proprietary
LBL Application Availability Infrastructure Unified Secure Reverse Proxy
LBL Application Availability Infrastructure Unified Secure Reverse Proxy Valerio Mezzalira TCOGROUP Company Outline Mission: Development of Software Tools Aimed at Enhancing High Availability (HA) of IT
Designing RESTful Web Applications
Ben Ramsey php works About Me: Ben Ramsey Proud father of 7-month-old Sean Organizer of Atlanta PHP user group Founder of PHP Groups Founding principal of PHP Security Consortium Original member of PHPCommunity.org
Using SAML for Single Sign-On in the SOA Software Platform
Using SAML for Single Sign-On in the SOA Software Platform SOA Software Community Manager: Using SAML on the Platform 1 Policy Manager / Community Manager Using SAML for Single Sign-On in the SOA Software
DEPLOYMENT GUIDE DEPLOYING F5 WITH MICROSOFT WINDOWS SERVER 2008
DEPLOYMENT GUIDE DEPLOYING F5 WITH MICROSOFT WINDOWS SERVER 2008 Table of Contents Table of Contents Deploying F5 with Microsoft Windows Server 2008 Prerequisites and configuration notes...1-1 Deploying
Playing with Web Application Firewalls
Playing with Web Application Firewalls DEFCON 16, August 8-10, 2008, Las Vegas, NV, USA Who is Wendel Guglielmetti Henrique? Penetration Test analyst at SecurityLabs - Intruders Tiger Team Security division
Migrating Applications From IBM WebSphere to Apache Tomcat
Migrating Applications From IBM WebSphere to Apache Tomcat MuleSource and the MuleSource logo are trademarks of MuleSource Inc. in the United States and/or other countries. All other product and company
Cloud computing - Architecting in the cloud
Cloud computing - Architecting in the cloud [email protected] 1 Outline Cloud computing What is? Levels of cloud computing: IaaS, PaaS, SaaS Moving to the cloud? Architecting in the cloud Best practices
DEPLOYMENT GUIDE Version 1.2. Deploying the BIG-IP System v9.x with Microsoft IIS 7.0 and 7.5
DEPLOYMENT GUIDE Version 1.2 Deploying the BIG-IP System v9.x with Microsoft IIS 7.0 and 7.5 Deploying F5 with Microsoft IIS 7.0 and 7.5 F5's BIG-IP system can increase the existing benefits of deploying
Software-Defined Networks Powered by VellOS
WHITE PAPER Software-Defined Networks Powered by VellOS Agile, Flexible Networking for Distributed Applications Vello s SDN enables a low-latency, programmable solution resulting in a faster and more flexible
DEPLOYMENT GUIDE DEPLOYING THE BIG-IP SYSTEM WITH MICROSOFT INTERNET INFORMATION SERVICES (IIS) 7.0
DEPLOYMENT GUIDE DEPLOYING THE BIG-IP SYSTEM WITH MICROSOFT INTERNET INFORMATION SERVICES (IIS) 7.0 Deploying F5 with Microsoft IIS 7.0 F5's BIG-IP system can increase the existing benefits of deploying
Network Technologies
Network Technologies Glenn Strong Department of Computer Science School of Computer Science and Statistics Trinity College, Dublin January 28, 2014 What Happens When Browser Contacts Server I Top view:
The Web History (I) The Web History (II)
Goals of Today s Lecture EE 122: The World Wide Web Ion Stoica TAs: Junda Liu, DK Moon, David Zats http://inst.eecs.berkeley.edu/~ee122/ (Materials with thanks to Vern Paxson, Jennifer Rexford, and colleagues
Put a Firewall in Your JVM Securing Java Applications!
Put a Firewall in Your JVM Securing Java Applications! Prateep Bandharangshi" Waratek Director of Client Security Solutions" @prateep" Hussein Badakhchani" Deutsche Bank Ag London Vice President" @husseinb"
www.novell.com/documentation Policy Guide Access Manager 3.1 SP5 January 2013
www.novell.com/documentation Policy Guide Access Manager 3.1 SP5 January 2013 Legal Notices Novell, Inc., makes no representations or warranties with respect to the contents or use of this documentation,
Choose an IBM WebSphere Application Server configuration to suit your business needs
IBM is the industry s market leading foundation for building, deploying, reusing, integrating and managing applications and services Choose an IBM configuration to suit your business needs Highlights Unparalleled
CloudOYE CDN USER MANUAL
CloudOYE CDN USER MANUAL Password - Based Access Logon to http://mycloud.cloudoye.com. Enter your Username & Password In case, you have forgotten your password, click Forgot your password to request a
HTTP/2: Operable and Performant. Mark Nottingham @mnot (@akamai)
HTTP/2: Operable and Performant Mark Nottingham @mnot (@akamai) This talk may be disappointing. As we know, there are known knowns; there are things we know we know. We also know there are known unknowns;
Cyber Security Workshop Ethical Web Hacking
Cyber Security Workshop Ethical Web Hacking May 2015 Setting up WebGoat and Burp Suite Hacking Challenges in WebGoat Concepts in Web Technologies and Ethical Hacking 1 P a g e Downloading WebGoat and Burp
ORACLE COHERENCE 12CR2
ORACLE COHERENCE 12CR2 KEY FEATURES AND BENEFITS ORACLE COHERENCE IS THE #1 IN-MEMORY DATA GRID. KEY FEATURES Fault-tolerant in-memory distributed data caching and processing Persistence for fast recovery
DEPLOYMENT GUIDE Version 1.1. Deploying F5 with IBM WebSphere 7
DEPLOYMENT GUIDE Version 1.1 Deploying F5 with IBM WebSphere 7 Table of Contents Table of Contents Deploying the BIG-IP LTM system and IBM WebSphere Servers Prerequisites and configuration notes...1-1
Lecture 8a: WWW Proxy Servers and Cookies
Internet and Intranet Protocols and Applications Lecture 8a: WWW Proxy Servers and Cookies March 12, 2003 Arthur Goldberg Computer Science Department New York University [email protected] Terminology Origin
Fairsail REST API: Guide for Developers
Fairsail REST API: Guide for Developers Version 1.02 FS-API-REST-PG-201509--R001.02 Fairsail 2015. All rights reserved. This document contains information proprietary to Fairsail and may not be reproduced,
Customer Bank Account Management System Technical Specification Document
Customer Bank Account Management System Technical Specification Document Technical Specification Document Page 1 of 15 Table of Contents Contents 1 Introduction 3 2 Design Overview 4 3 Topology Diagram.6
Setting the World on FHIR
Setting the World on FHIR W. Ed Hammond. Ph.D., FACMI, FAIMBE, FIMIA, FHL7 Director, Duke Center for Health Informatics Director, Applied Informatics Research, DHTS Director of Academic Affairs, MMCi Program
Service-oriented architecture in e-commerce applications
Service-oriented architecture in e-commerce applications What is a Service Oriented Architecture? Depends on who you ask Web Services A technical architecture An evolution of distributed computing and
Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures
Part I EAI: Foundations, Concepts, and Architectures 5 Example: Mail-order Company Mail order Company IS Invoicing Windows, standard software IS Order Processing Linux, C++, Oracle IS Accounts Receivable
Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1
Open Source egovernment Reference Architecture Osera.modeldriven.org Slide 1 Caveat OsEra and the Semantic Core is work in progress, not a ready to use capability Slide 2 OsEra What we will cover OsEra
Domain Name System (DNS)
Application Layer Domain Name System Domain Name System (DNS) Problem Want to go to www.google.com, but don t know the IP address Solution DNS queries Name Servers to get correct IP address Essentially
The Virtualization Practice
The Virtualization Practice White Paper: Managing Applications in Docker Containers Bernd Harzog Analyst Virtualization and Cloud Performance Management October 2014 Abstract Docker has captured the attention
Chapter 27 Hypertext Transfer Protocol
Chapter 27 Hypertext Transfer Protocol Columbus, OH 43210 [email protected] http://www.cis.ohio-state.edu/~jain/ 27-1 Overview Hypertext language and protocol HTTP messages Browser architecture CGI
Server-side OSGi with Apache Sling. Felix Meschberger Day Management AG 124
Server-side OSGi with Apache Sling Felix Meschberger Day Management AG 124 About Felix Meschberger > Senior Developer, Day Management AG > [email protected] > http://blog.meschberger.ch > VP Apache Sling
ORACLE MOBILE SUITE. Complete Mobile Development Solution. Cross Device Solution. Shared Services Infrastructure for Mobility
ORACLE MOBILE SUITE COMPLETE MOBILE DEVELOPMENT AND DEPLOYMENT PLATFORM KEY FEATURES Productivity boosting mobile development framework Cross device/os deployment Lightweight and robust enterprise service
How Comcast Built An Open Source Content Delivery Network National Engineering & Technical Operations
How Comcast Built An Open Source Content Delivery Network National Engineering & Technical Operations Jan van Doorn Distinguished Engineer VSS CDN Engineering 1 What is a CDN? 2 Content Router get customer
DEPLOYMENT GUIDE Version 1.0. Deploying the BIG-IP LTM with Apache Tomcat and Apache HTTP Server
DEPLOYMENT GUIDE Version 1.0 Deploying the BIG-IP LTM with Apache Tomcat and Apache HTTP Server Table of Contents Table of Contents Deploying the BIG-IP LTM with Tomcat application servers and Apache web
Cloud Powered Mobile Apps with Microsoft Azure
Cloud Powered Mobile Apps with Microsoft Azure Malte Lantin Technical Evanglist Microsoft Azure Malte Lantin Technical Evangelist, Microsoft Deutschland Fokus auf Microsoft Azure, App-Entwicklung Student
S y s t e m A r c h i t e c t u r e
S y s t e m A r c h i t e c t u r e V e r s i o n 5. 0 Page 1 Enterprise etime automates and streamlines the management, collection, and distribution of employee hours, and eliminates the use of manual
Welcome to the Force.com Developer Day
Welcome to the Force.com Developer Day Sign up for a Developer Edition account at: http://developer.force.com/join Nicola Lalla [email protected] n_lalla nlalla26 Safe Harbor Safe harbor statement under
WebSphere ESB Best Practices
WebSphere ESB Best Practices WebSphere User Group, Edinburgh 17 th September 2008 Andrew Ferrier, IBM Software Services for WebSphere [email protected] Contributions from: Russell Butek ([email protected])
