marketo-frame { height: 495px; }
._content { display: none; } .the-content p:first-child { display: none; } .hero-text div { padding-top: 10px; } .hero-text .subheader { font-family: 'Raleway', sans-serif; font-size: 3.2em; } .hero-text .subtext { width: 400px; } .hero-text .header { font-family: 'Raleway', sans-serif; font-size: 4em; line-height: .8em; } .oreilly-share a { color: white !important; } .hero-text .main-text { margin-top: 50px; } .hero-down-arrow { padding-top: 50px; } .topbar .triangle { float: left; width: 0; height: 0; border-left: 100px solid transparent; border-bottom: 100px solid #009639; } .topbar .free-ebook { height: 100px; background-color: #009639; margin-left: 100px; position: relative; } .ebook-form { margin-left: 81.25px; } .topbar .free-ebook span { color: white; display: block; padding-top: 33px; font-family: 'Raleway SemiBold', sans-serif; font-size: 24px; position: absolute; right: 20%; } .main-content { margin-left: 81.25px; } .left-content { margin-left: 81.25px; } .ssba { padding-top: 25px; } .book-info { margin-top: 60px; } .chap-section { font-family: 'Raleway', sans-serif; font-size: 12px; line-height: 20px; } .chap-title { font-family: 'Raleway', sans-serif; font-size: 16px; color: #009639; font-weight: bold; } .chapter-box .number { display: block; height: 45px; width: 35px; background-color: #d4d4d4; padding-top: .4em; font-family: 'Raleway', sans-serif; font-size: 20px; font-weight: bold; color: white; padding-left: .6em; } .chapter-box .bar { display: block; height: 100px; background-color: #dedede; padding-top: .5em; width: 35px; } .author-info .about-author { font-family: 'Raleway', sans-serif; font-size: 24px; font-weight: bold; display: inline-block; border-bottom: 3px solid #d2d2d2; margin-bottom: 15px; margin-left: 15px; } .author-info .author-snippet { font-family: 'Raleway', sans-serif; font-size: 16px; margin-bottom: 15px; padding-top: 1em; } .author-info .author-bio { font-family: 'Raleway', sans-serif; font-size: 14px; padding-right: 81.25px; padding-bottom: 35px; } .book-cover { margin-bottom: 10px; } .book-cover img { width: 100%; } .mktoFieldWrap input, input.mktoField.mktoHasWidth { border: none; background-color: #ebebeb; width: 100% !important; margin-bottom: 0px !important; } .mktoFieldWrap label.mktoLabel, .mktoForm .mktoRequiredField label.mktoLabel { font-size: 12px !important; font-weight: bold !important; text-transform: uppercase; font-family: 'Raleway SemiBold', sans-serif !important; } .mktoButtonRow .mktoButtonWrap { color: black !important; margin-left: none !important; } .mktoAsterix { display: inline; font-size: 18px; } .mktoButtonRow .mktoButtonWrap .mktoButton, .mktoForm .mktoButtonWrap.mktoCupidGreen .mktoButton { background: none !important; border: none !important; text-shadow: none !important; -webkit-box-shadow: none !important; box-shadow: none !important; width: 100% !important; background: url('http://megalodon.jp/get_contents/199488285') !important; background-size: cover !important; height: 39px !important; color: rgba(0,0,0,0) !important; padding: 0px !important; margin-top: 15px !important; } .mktoButtonRow .mktoButtonWrap .mktoButton:hover { background: url('http://megalodon.jp/get_contents/199488286') !important; background-size: cover !important; border: none !important; } .marketo-form { margin: 0 auto; padding-top: 25px; } .ebook-form { margin-top: -245px; } @media (max-width: 1140px) { .ebook-form { margin-top: 0px !important; } .book-info .column6 .column1 { width: 35px; } .book-info .column6 .column5 { width: 250px; margin-left: 15px; } .book-info { margin-top: 15px; } .about-author { margin-left: 5px !important; } .hero-text { margin-left: 0px !important; } .book-cover { padding-right: 0px; } .hero-text div { padding-top: 20px; } .hero-text .subheader { font-size: 2.5em; } .author-info .author-bio { padding-right: 0px; } .topbar .free-ebook { background-color: green; } .topbar .triangle { border-bottom: 100px solid green; } .hero-text .subtext { width: 300px; } .hero-text .main-text { margin-top: 50px; } .hero-down-arrow { padding-top: 25px; } }
HOW TO ADOPT
MICROSERVICES
MICROSERVICES
What are microservices?
Key benefits
What about service-oriented architecture?
Other de-compositional techniques
No silver bullet
Summary
INTEGRATION
Looking for the ideal integration technology
Interfacing with customers
The shared database
Synchronous vs. asychronous
Orchestration vs. choreography
Remote procedure calls (RPC)
REST
Implementing asynchronous event-base collaboration
Services as state machine
Reactive extensions
DRY and the perils of code reuse in a microservice world
Access by reference
Versioning
User interfaces
Integrating with 3rd-party software
Summary
MICROSERVICES AT SCALE
Failure is Everywhere
How Much Is Too Much?
Degrading Functionality
Architectural Safety Measures
The Antifragile Organization
Idempotency
Scaling
Scaling Databases
Caching
Caching for Writes
Auto-scaling
CAP Theorum
Service Discovery
Dynamic Service Registries
Documenting Services
The Self-Describing System
Summary