2015年4月8日星期三

Learned from "A Conversation with Werner Vogels"

What I learn from:
http://queue.acm.org/detail.cfm?id=1142065

Growth impact:
  Larger data sets, faster update rates, more requests, more services, tighter SLAs (service-level agreements), more failures, more latency challenges, more service interdependenceies, more developers, more documentation, more programs, more servers, more networks, more data centers.

Progress:
  There were many complex pieces of software combined into a single system. It could not evolve anymore. The parts that needed to scale independently were tied into sharing resources with other unknown code path. There was no isolation and, as a result, no clear ownership.
  Service orientation becomes encapsulating the data with the business logic and operates on the data, with the only access through a published service interface.
  Grew into hundreds of services and a number of application servers that aggregate the information from the services.
  Move from a two-tier monolith to a fully distributed, decentralized, services platform serving many different applications.

Outcomes:
  Strict service orientation is an excellent technique to achieve isolation; you come to a level of ownership and control that was not seen before.
  By prohibiting direct database access by clients, you can make scaling and reliability improvements to your service state without involving your clients.
  If you want to insert advanced infrastructure techniques such as decentralized request routing or distributed request tracking, you need a single unified service-access mechanism.
  The developement and operational process has greatly benefited from using services.
  Giving developers operational responsibilities has greatly enhanced the quality of the services.

Headaches:
  How do you make sure that developers are productive?
  How can you make sure that all the pieces work together as intended, now and in the future?
  How do you test in this environment?

How to make decision:
  Scope and prototype the idea quickly. New ideas are enabled through the loosely coupled services model.

How to measure:
  Have good understanding of how customers interact with the site.
  Most of our developers are in the loop with customers.

Integrated with partners:
  Provide branded web sites for the general retail partners.

没有评论:

发表评论