“While sailing in these latitudes on one very dark night, the sea presented a wonderful and most beautiful spectacle. There was a fresh breeze, and every part of the surface, which during the day is seen as foam, now glowed with a pale light. The vessel drove before her bows two billows of liquid phosphorus, and in her wake she was followed by a milky train. As far as the eye reached, the crest of every wave was bright, and the sky above the horizon, from the reflected glare of these livid flames, was not so utterly obscure, as over the rest of the heavens”
— Charles Darwin

Microservices

Benefits

The benefit of decomposing an application into different smaller services are numerous:

  • Modularity: This makes the application easier to understand, develop, test, and become more resilient to architecture erosion.[6] This benefit is often argued in comparison to the complexity of monolithic architectures.[24]
  • Scalability: Since microservices are implemented and deployed independently of each other, i.e. they run within independent processes, they can be monitored and scaled independently.[25]
  • Integration of heterogeneous and legacy systems: microservices is considered as a viable mean for modernizing existing monolithic software application.[26][27] There are experience reports of several companies who have successfully replaced (parts of) their existing software by microservices, or are in the process of doing so.[28] The process for Software modernization of legacy applications is done using an incremental approach.[29]
  • Distributed development: it parallelizes development by enabling small autonomous teams to develop, deploy and scale their respective services independently.[30] It also allows the architecture of an individual service to emerge through continuous refactoring.[31] Microservice-based architectures facilitate continuous delivery and deployment.[32]

XML

RSS, Atom, SOAP, SVG, and XHTML. XML-based formats have become the default for many office-productivity tools, including Microsoft Office (Office Open XML), OpenOffice.org and LibreOffice (OpenDocument), and Apple’s iWork

XML has also provided the base language for communication protocols such as XMPP. Applications for the Microsoft .NET Framework use XML files for configuration, and property lists are an implementation of configuration storage built on XML.[9]

Hadoop
How Do Databases Compare?

How Do Databases Compare?

SAML

Security Assertion Markup Language

For exchanging authentication and authorization data between parties, in particular, between an identity provider and a service provider. SAML is an XML-based markup language for security assertions


The single most important use case that SAML addresses is web browser single sign-on (SSO)

SSO is relatively easy to accomplish within a security domain but extending SSO across security domains is more difficult

Open Systems Interconnection (OSI)

Communication between separate computers occurs in a stack-like fashion with information passing from one node to the other through several layers of code, including:

  1. Physical layer
  2. Data link layer
  3. Network layer
  4. Transport layer
  5. Session layer
  6. Presentation layer
  7. Application layer

SOAP

SOAP (abbreviation for Simple Object Access Protocol) is a messaging protocol specification for exchanging structured information in the implementation of web services in computer networks. Its purpose is to provide extensibility, neutrality and independence. It uses XML Information Set for its message format, and relies on application layer protocols, most often Hypertext Transfer Protocol (HTTP) or Simple Mail Transfer Protocol (SMTP), for message negotiation and transmission.

SOAP allows processes running on disparate operating systems (such as Windows and Linux) to communicate using Extensible Markup Language (XML). Since Web protocols like HTTP are installed and running on all operating systems, SOAP allows clients to invoke web services and receive responses independent of language and platforms.

Bastion Server

A bastion host is a special-purpose computer on a network specifically designed and configured to withstand attacks. The computer generally hosts a single application, for example a proxy server, and all other services are removed or limited to reduce the threat to the computer. It is hardened in this manner primarily due to its location and purpose, which is either on the outside of a firewall or in a demilitarized zone (DMZ) and usually involves access from untrusted networks or computers.

“Rather than slowly growing edible fruit in orchards covering acres of land, silicon semiconductor manufacturing laid out invisibly tiny electronic rows of functional, computational engines along with storage sheds for the electrons they sort. Once designed, a chip blueprint can be mass-produced using chemical photography to yield enormous numbers of usable chips at relatively little cost”