Cluster manager monitoring systems alerting systems

This preview shows page 7 - 9 out of 15 pages.

Cluster manager. Monitoring systems. Alerting systems. Diagnostic tools. All these components can evolve out of conventions. In an evolutionary environment standards are enforced through : code, encouragement, code reviews, and code search. The easiest way to encourage best practices is through actual code . It’s not about top down review, or up front design, it’s about someone producing code that makes it easy to get the job done. Encouragement is through teams providing a library . Encouragement is also through the services you want to depend on supporting X protocol or Y protocol. Google is famous for every line of code that is checked-in to source code control being reviewed by at least one other programmer. This is a good way of communicating common practices. With a few exceptions, every engineer at Google can search the entire code base . This is a huge value add for when a programmer is trying to figure out how to do something. With 10K engineers it’s likely if you are trying to do something somebody has already done something like it before. This allows best practices that start in one area to propagate through the code base . It also allows mistakes to propagate. To encourage common practices and standardized conventions make it really easy to do the right thing and a lot harder to do the wrong thing. Individual services are independent from one another. At Google there’s no standardization of the internals of services . Services are a black box to the outside. Deep Lessons from Google and eBay on Building Ecosystems of Micr... ... 7 of 15 26/02/2017 19:38
Image of page 7
There are conventions and common libraries, but there are no programming language requirements. Four languages are used commonly: C++, Go, Java, Python. Lots of different services are written in various languages. There’s no standardization around frameworks or persistence mechanisms. In a mature ecosystem of services we standardize the arcs of the graph, not the nodes themselves. Define a common shape, not a common implementation. Creating New Services New services are created when their use has already been proven. Often a capability has been built for one particular use case. Then it’s discovered that capability is general and useful. A team is formed and the service is spun out to its own standalone unit. This happens only when a capability is successful and fits many different use cases. These architectures grow through pragmatism . Nobody is sitting on high and saying a service should be added. Google File System supported the search engine. No surprise that a distributed file system was more generally usable. Bigtable initially supported the search engine, but was much more broadly useful. Megastore was built as the storage mechanism for Google applications, but was more broadly useful. Google App Engine itself was started by a small group of engineers who recognized the need for help building web sites.
Image of page 8

Want to read all 15 pages?

Image of page 9

Want to read all 15 pages?

You've reached the end of your free preview.

Want to read all 15 pages?

  • Fall '16
  • Jane Smith
  • Science, Deep Lessons, Building Ecosystems

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern