SlideShare a Scribd company logo
1 of 43
Download to read offline
ĀµService Architecture:
A Personal Journey of Discovery

Fred George
fredgeorge@acm.org
@fgeorge52


Copyright Ā© 2012 by Fred George. All rights reserved.   1
In the Beginning...




Copyright Ā© 2012 by Fred George. All rights reserved.   2
2004:
1M loc - Largest Certified
J2EE Application




Copyright Ā© 2012 by Fred George. All rights reserved.   3
It Started
Well...
Martin Fowler
consulted, then
joined ThoughtWorks




Copyright Ā© 2009 by Fred George   4
What I Found in 2004

āœ¦    1M locs
āœ¦    2,000 tests
āœ¦    70% success rate on Acceptance Test was Acceptable
āœ¦    Bug database with over 1000 entries
āœ¦    Still being changed
āœ¦    New tests almost non-existent


Copyright Ā© 2012 by Fred George. All rights reserved.     5
Unit Test Counts




Copyright Ā© 2012 by Fred George. All rights reserved.   6
assertNotNull (new Loan(50));

      āœ¦     Easy (reasonably) unit test
      āœ¦     On Saturday without interruptions




               5 hours later, it passed!
Copyright Ā© 2012 by Fred George. All rights reserved.   7
2004:
1M loc - Largest Certified
J2EE Application

ā€œ100K loc trying to get outā€
                                                        Jeff Bay




Copyright Ā© 2012 by Fred George. All rights reserved.              8
Why? What Happened?
                                                              Sloppy
             Lazy?

                                         Technical Debt
                                                        No power to refuse!
Inexperienced!


Copyright Ā© 2012 by Fred George. All rights reserved.                         9
Evolution...




Copyright Ā© 2012 by Fred George. All rights reserved.   10
2005: SOA in Chinese Bank
   Cash,
                                                    Loans   Mortgage   Insurance
  Balances




Copyright Ā© 2012 by Fred George. All rights reserved.                              11
Solution: Pub/Sub

                                                                    e d
      āœ¦     Events ā€œpublishedā€

                                                              c t
      āœ¦

      āœ¦
            Interested applications ā€œsubscribeā€



                                                        j e
            Applications then ā€œpublishā€ interaction requests
      āœ¦




                        R e
            UI elements render appropriate interactions




Copyright Ā© 2012 by Fred George. All rights reserved.                     12
2004: 2005
1M loc - Largest Certified
J2EE Application

ā€œ20 5K loc trying to get
outā€

ā€œ100K loc trying to get outā€
Copyright Ā© 2012 by Fred George. All rights reserved.   13
2005: Medical Systems



                                                   Information ā€œNuggetsā€




Copyright Ā© 2012 by Fred George. All rights reserved.                      14
From:                        CAT Scan

               About:                           Jane Doe

                                                                            e d
         Urgency:
                   Time:
                                         23 Apr 2012
                                           20:13:45
                                                Concern
                                                               c t         Summary




           Validity:
                                         26 Apr 2012
                                           20:13:45

                                                        j e            Only relevant
                                                                          until...




                        R e                        Information ā€œNuggetsā€


Copyright Ā© 2012 by Fred George. All rights reserved.                                  15
2005: Services for
Investment Management
                                                                    p e
āœ¦    Prototyping new system architecture

                                                              t y
                                                          o
āœ¦    Baysian Service Principles (Jeff Bay)



                                                        t
      āœ¦     Itā€™s okay to run more than one version at the same
            time


āœ¦
      āœ¦




                                r o
            You can only deploy one service at a time
     Decoupling result: Deploying 3 times a day!


               P
Copyright Ā© 2012 by Fred George. All rights reserved.                     16
2006: Batch Processing
Replacement Orders

āœ¦    Client needed to replace parts on cars
      āœ¦     Many variations based on car, location of car
āœ¦    Vendor estimated 15- months
                         18
āœ¦    Unacceptable to business




Copyright Ā© 2012 by Fred George. All rights reserved.       17
2006: Batch Processing
Replacement Orders




Copyright Ā© 2012 by Fred George. All rights reserved.   18
Refined Packet Design

 ?         Addr ?                         ?             ?    ?


                                                                   ?   ?   ? VIN   ?   ?



                    Date                ?           ?       ? Name ?



Copyright Ā© 2012 by Fred George. All rights reserved.                                      19
?         Addr ?                         ?             ?   ?

                                                                      d
                                                                  Join Table

                                                                    e
              ā€¢Need VIN
              ā€¢Need zzz
              ā€¢Inject aaa
                             r ks
                            e e
                           v e
                          i w
                                                                ā€¢Need Addr
                                                                ā€¢Inject Name

                        l
                       e 9
                     D  ā€¢Need Name
                        ā€¢Need rrr
                        ā€¢Inject VIN


                       i n
Copyright Ā© 2012 by Fred George. All rights reserved.                          20
New Observations and
Revelations
āœ¦    Services are like Classes
      āœ¦     Small, crisp conceptualization
      āœ¦     Services got very tiny (100 loc)
āœ¦    Smalltalk message passing perfect for services
āœ¦    Encapsulation
      āœ¦     Database segregated among services w/o sharing
      āœ¦     Service publishes conclusions, not raw data

Copyright Ā© 2012 by Fred George. All rights reserved.        21
New Problems and
Challenges
                                                                    d ?
āœ¦    ā€œWTF is going on ?ā€

                                                              r e
      āœ¦

      āœ¦
            Cycles, lost packets
            Needed to redefine tracking, logging

                                                        v e
āœ¦    Inexperienced team in defining services
      āœ¦

                                            l
            Approach compromised in Release 2 i
āœ¦



             D e
     Won award at TW Tech Day... for being a bad idea!


Copyright Ā© 2012 by Fred George. All rights reserved.                     22
2004: 2005 2006
1M loc - Largest Certified
J2EE Application
 200 500 loc
ā€œ20 5K loc trying to get
outā€

Copyright Ā© 2012 by Fred George. All rights reserved.   23
Experiences at...




Copyright Ā© 2012 by Fred George. All rights reserved.   24
2007: Forward Needs to
Monitor AdWords Accounts
                                                                    e d
                                                                t
āœ¦    Pub/sub model based on Linda Spaces (tuples)
            Segregate databases to services


                                                              c
      āœ¦

            Define agent services for each user


                                                          e
      āœ¦

            Start to automate activities and recommendations


                                                        j
      āœ¦

āœ¦    Off-shore for implementation
āœ¦

      āœ¦
            solution    R e
     CTO killed it (former Oracle executive)
            Replaced with a more traditional, SQL DB-driven

Copyright Ā© 2012 by Fred George. All rights reserved.                     25
2008: CardWall

                                                                    e d
āœ¦    Front-end automated Card Wall in Agile
                                                              e r
āœ¦    Back-end emerged as a set of services analyzing data

                                                        i v
                                              l
      āœ¦     One service, one role


āœ¦
      āœ¦



                               D
     Migrated to Hadoop Cluster as it grew  e
            Post alerts (with recommendations) to users




Copyright Ā© 2012 by Fred George. All rights reserved.                     26
New Observations and
Revelations
āœ¦    Services became disposable
āœ¦    Loosely coupled via RESTful Json packets or DB
      āœ¦     Albeit still knowledgeable about flow
āœ¦    Self-monitoring services replaces Unit Tests
āœ¦    Business monitoring replaces Acceptance Tests
āœ¦    Services language-agnostic


Copyright Ā© 2012 by Fred George. All rights reserved.   27
Current State...




Copyright Ā© 2012 by Fred George. All rights reserved.   28
Copyright Ā© 2012 by Fred George. All rights reserved.   29
Copyright Ā© 2012 by Fred George. All rights reserved.   30
Design: Events, not Entities




Copyright Ā© 2012 by Fred George. All rights reserved.   31
Design: History, not Current




Copyright Ā© 2012 by Fred George. All rights reserved.   32
Legacy System
              Web                                        Web
       Services                                         Services
                                                                                ETL/
                Biz                                       Biz                   Data
                                                                               Muddling
             Data                                        Data

                                                                   Reporting

Copyright Ā© 2012 by Fred George. All rights reserved.                                 33
Cloud of Signals
                                                                          Email Read
     Postcode

                                                        Email Address
       Name
                                                                        Postal Address

                     Server Load
                                                               URL Request
Copyright Ā© 2012 by Fred George. All rights reserved.                                    34
Data Ecosystem
   Producers                                                Kafka         Consumers
                                                        Postal Address
App                                                                         R
                            App
                                                                                    Hive
Service                                                 Email Address
                                                                         Monitoring
          Web Server                                    URL Request
                                                                                 Apps/
3rd Party                                                                       Services
                                                            Name
Web Hooks

Copyright Ā© 2012 by Fred George. All rights reserved.                                      35
Cross-sell Tracking




Copyright Ā© 2012 by Fred George. All rights reserved.   36
User Paths Through Site




Copyright Ā© 2012 by Fred George. All rights reserved.   37
Agile Best Practices Not Used
              Trust w
āœ¦ Stand ups collocation                                  āœ¦   Unit tests
āœ¦    Story narratives                                    āœ¦   Acceptance tests
                                                                              Small,
āœ¦    Retrospectives                                      āœ¦   Refactoring
                                                                            short-lived
āœ¦    Estimates                                           āœ¦   Patterns          apps
                                              Results,
āœ¦    Iterations                              not blame   āœ¦   Continuous integration
āœ¦    Mandatory pairing                                              Continuous
                                                                    deployment


Copyright Ā© 2012 by Fred George. All rights reserved.                                 38
What About Technical Debt?
                                                                         Sloppy
             Lazy?

                                                        Technical Debt




                                                                 No power to refuse!
Inexperienced!


Copyright Ā© 2012 by Fred George. All rights reserved.                                  39
Conclusions (so far)...




Copyright Ā© 2012 by Fred George. All rights reserved.   40
Summary Principles of
ĀµServices
āœ¦    Very, very small
āœ¦    Loosely coupled (including flow)
āœ¦    Multiple versions acceptable (encouraged?)
āœ¦    Self-execution monitoring of each service
āœ¦    Publish interesting ā€œstuffā€ (w/o requirement)
āœ¦    ā€œApplicationā€ seems to be poor conceptualization


Copyright Ā© 2012 by Fred George. All rights reserved.   41
ā€œLiving Softwareā€ System
āœ¦    Long-lived system; short-lived services (human body)
āœ¦    Extremely dynamic with continuous deployments
      āœ¦     5- minutes between deployments typical
              10
āœ¦    Accept it is complex (especially for testing)
      āœ¦     Acceptance test on business outcomes instead
āœ¦    Radical impact to processes (Anarchy)
āœ¦    There will be a learning curve for developers!

Copyright Ā© 2012 by Fred George. All rights reserved.       42
ĀµService Architecture:
A Personal Journey of Discovery

Fred George
fredgeorge@acm.org
@fgeorge52


Copyright Ā© 2012 by Fred George. All rights reserved.   43

More Related Content

What's hot

Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...
Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...
Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...Amazon Web Services
Ā 
4. į„ƒį…¢į„‹į…­į†¼į„…į…£į†¼ į„‹į…”į„į…µį„į…¦į†Øį„Žį…§ į„‰į…„į†Æį„€į…Ø į„‘į…¢į„į…„į†«
4. į„ƒį…¢į„‹į…­į†¼į„…į…£į†¼ į„‹į…”į„į…µį„į…¦į†Øį„Žį…§ į„‰į…„į†Æį„€į…Ø į„‘į…¢į„į…„į†«4. į„ƒį…¢į„‹į…­į†¼į„…į…£į†¼ į„‹į…”į„į…µį„į…¦į†Øį„Žį…§ į„‰į…„į†Æį„€į…Ø į„‘į…¢į„į…„į†«
4. į„ƒį…¢į„‹į…­į†¼į„…į…£į†¼ į„‹į…”į„į…µį„į…¦į†Øį„Žį…§ į„‰į…„į†Æį„€į…Ø į„‘į…¢į„į…„į†«Terry Cho
Ā 
ģ¹“ģ¹“ģ˜¤ ź“‘ź³  ķ”Œėž«ķ¼ MSA ģ ģš© ģ‚¬ė”€ ė° API Gatewayģ™€ ģøģ¦ źµ¬ķ˜„ģ— ėŒ€ķ•œ ģ†Œź°œ
ģ¹“ģ¹“ģ˜¤ ź“‘ź³  ķ”Œėž«ķ¼ MSA ģ ģš© ģ‚¬ė”€ ė° API Gatewayģ™€ ģøģ¦ źµ¬ķ˜„ģ— ėŒ€ķ•œ ģ†Œź°œģ¹“ģ¹“ģ˜¤ ź“‘ź³  ķ”Œėž«ķ¼ MSA ģ ģš© ģ‚¬ė”€ ė° API Gatewayģ™€ ģøģ¦ źµ¬ķ˜„ģ— ėŒ€ķ•œ ģ†Œź°œ
ģ¹“ģ¹“ģ˜¤ ź“‘ź³  ķ”Œėž«ķ¼ MSA ģ ģš© ģ‚¬ė”€ ė° API Gatewayģ™€ ģøģ¦ źµ¬ķ˜„ģ— ėŒ€ķ•œ ģ†Œź°œif kakao
Ā 
ė©€ķ‹°Ā·ķ•˜ģ“ėøŒė¦¬ė“œ ķ“ė¼ģš°ė“œ źµ¬ģ¶• ģ „ėžµ - ė„¤ģ“ė²„ė¹„ģ¦ˆė‹ˆģŠ¤ķ”Œėž«ķ¼ ė°•źø°ģ€ CTO
ė©€ķ‹°Ā·ķ•˜ģ“ėøŒė¦¬ė“œ ķ“ė¼ģš°ė“œ źµ¬ģ¶• ģ „ėžµ - ė„¤ģ“ė²„ė¹„ģ¦ˆė‹ˆģŠ¤ķ”Œėž«ķ¼ ė°•źø°ģ€ CTOė©€ķ‹°Ā·ķ•˜ģ“ėøŒė¦¬ė“œ ķ“ė¼ģš°ė“œ źµ¬ģ¶• ģ „ėžµ - ė„¤ģ“ė²„ė¹„ģ¦ˆė‹ˆģŠ¤ķ”Œėž«ķ¼ ė°•źø°ģ€ CTO
ė©€ķ‹°Ā·ķ•˜ģ“ėøŒė¦¬ė“œ ķ“ė¼ģš°ė“œ źµ¬ģ¶• ģ „ėžµ - ė„¤ģ“ė²„ė¹„ģ¦ˆė‹ˆģŠ¤ķ”Œėž«ķ¼ ė°•źø°ģ€ CTONAVER CLOUD PLATFORMć…£ė„¤ģ“ė²„ ķ“ė¼ģš°ė“œ ķ”Œėž«ķ¼
Ā 
Change data capture with MongoDB and Kafka.
Change data capture with MongoDB and Kafka.Change data capture with MongoDB and Kafka.
Change data capture with MongoDB and Kafka.Dan Harvey
Ā 
Flowcon (added to for CMG) Keynote talk on how Speed Wins and how Netflix is ...
Flowcon (added to for CMG) Keynote talk on how Speed Wins and how Netflix is ...Flowcon (added to for CMG) Keynote talk on how Speed Wins and how Netflix is ...
Flowcon (added to for CMG) Keynote talk on how Speed Wins and how Netflix is ...Adrian Cockcroft
Ā 
ė§ˆģ“ķ¬ė”œģ„œė¹„ģŠ¤ źø°ė°˜ ķ“ė¼ģš°ė“œ ģ•„ķ‚¤ķ…ģ²˜ źµ¬ģ„± ėŖØė²” ģ‚¬ė”€ - ģœ¤ģ„ģ°¬ (AWS ķ…Œķ¬ģ—ė°˜ģ ¤ė¦¬ģŠ¤ķŠø)
ė§ˆģ“ķ¬ė”œģ„œė¹„ģŠ¤ źø°ė°˜ ķ“ė¼ģš°ė“œ ģ•„ķ‚¤ķ…ģ²˜ źµ¬ģ„± ėŖØė²” ģ‚¬ė”€ - ģœ¤ģ„ģ°¬ (AWS ķ…Œķ¬ģ—ė°˜ģ ¤ė¦¬ģŠ¤ķŠø) ė§ˆģ“ķ¬ė”œģ„œė¹„ģŠ¤ źø°ė°˜ ķ“ė¼ģš°ė“œ ģ•„ķ‚¤ķ…ģ²˜ źµ¬ģ„± ėŖØė²” ģ‚¬ė”€ - ģœ¤ģ„ģ°¬ (AWS ķ…Œķ¬ģ—ė°˜ģ ¤ė¦¬ģŠ¤ķŠø)
ė§ˆģ“ķ¬ė”œģ„œė¹„ģŠ¤ źø°ė°˜ ķ“ė¼ģš°ė“œ ģ•„ķ‚¤ķ…ģ²˜ źµ¬ģ„± ėŖØė²” ģ‚¬ė”€ - ģœ¤ģ„ģ°¬ (AWS ķ…Œķ¬ģ—ė°˜ģ ¤ė¦¬ģŠ¤ķŠø) Amazon Web Services Korea
Ā 
Serverless ź°œė°œģ—ģ„œģ˜ ģøģ¦ ģ™„ė²½ ź°€ģ“ė“œ::ė°•ģ„ ģš©::AWS Summit Seoul 2018
Serverless ź°œė°œģ—ģ„œģ˜ ģøģ¦ ģ™„ė²½ ź°€ģ“ė“œ::ė°•ģ„ ģš©::AWS Summit Seoul 2018Serverless ź°œė°œģ—ģ„œģ˜ ģøģ¦ ģ™„ė²½ ź°€ģ“ė“œ::ė°•ģ„ ģš©::AWS Summit Seoul 2018
Serverless ź°œė°œģ—ģ„œģ˜ ģøģ¦ ģ™„ė²½ ź°€ģ“ė“œ::ė°•ģ„ ģš©::AWS Summit Seoul 2018Amazon Web Services Korea
Ā 
What are Microservices | Microservices Architecture Training | Microservices ...
What are Microservices | Microservices Architecture Training | Microservices ...What are Microservices | Microservices Architecture Training | Microservices ...
What are Microservices | Microservices Architecture Training | Microservices ...Edureka!
Ā 
Doing REST Right
Doing REST RightDoing REST Right
Doing REST RightKerry Buckley
Ā 
Amazon SageMaker ėŖØėø ė°°ķ¬ ė°©ė²• ģ†Œź°œ::ź¹€ėŒ€ź·¼, AI/ML ģŠ¤ķŽ˜ģ…œė¦¬ģŠ¤ķŠø ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø, AWS::AWS AIML ģŠ¤ķŽ˜ģ…œ ģ›Øė¹„ė‚˜
Amazon SageMaker ėŖØėø ė°°ķ¬ ė°©ė²• ģ†Œź°œ::ź¹€ėŒ€ź·¼, AI/ML ģŠ¤ķŽ˜ģ…œė¦¬ģŠ¤ķŠø ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø, AWS::AWS AIML ģŠ¤ķŽ˜ģ…œ ģ›Øė¹„ė‚˜Amazon SageMaker ėŖØėø ė°°ķ¬ ė°©ė²• ģ†Œź°œ::ź¹€ėŒ€ź·¼, AI/ML ģŠ¤ķŽ˜ģ…œė¦¬ģŠ¤ķŠø ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø, AWS::AWS AIML ģŠ¤ķŽ˜ģ…œ ģ›Øė¹„ė‚˜
Amazon SageMaker ėŖØėø ė°°ķ¬ ė°©ė²• ģ†Œź°œ::ź¹€ėŒ€ź·¼, AI/ML ģŠ¤ķŽ˜ģ…œė¦¬ģŠ¤ķŠø ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø, AWS::AWS AIML ģŠ¤ķŽ˜ģ…œ ģ›Øė¹„ė‚˜Amazon Web Services Korea
Ā 
ķšØź³¼ģ ģø NoSQL (Elasticahe / DynamoDB) ė””ģžģø ė° ķ™œģš© ė°©ģ•ˆ (ģµœģœ ģ • & ģµœķ™ģ‹, AWS ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø) :: ...
ķšØź³¼ģ ģø NoSQL (Elasticahe / DynamoDB) ė””ģžģø ė° ķ™œģš© ė°©ģ•ˆ (ģµœģœ ģ • & ģµœķ™ģ‹, AWS ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø) :: ...ķšØź³¼ģ ģø NoSQL (Elasticahe / DynamoDB) ė””ģžģø ė° ķ™œģš© ė°©ģ•ˆ (ģµœģœ ģ • & ģµœķ™ģ‹, AWS ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø) :: ...
ķšØź³¼ģ ģø NoSQL (Elasticahe / DynamoDB) ė””ģžģø ė° ķ™œģš© ė°©ģ•ˆ (ģµœģœ ģ • & ģµœķ™ģ‹, AWS ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø) :: ...Amazon Web Services Korea
Ā 
Microservices Tutorial for Beginners | Microservices Architecture | Microserv...
Microservices Tutorial for Beginners | Microservices Architecture | Microserv...Microservices Tutorial for Beginners | Microservices Architecture | Microserv...
Microservices Tutorial for Beginners | Microservices Architecture | Microserv...Edureka!
Ā 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to MicroservicesAmazon Web Services
Ā 
[Spring Camp 2018] 11ė²ˆź°€ Spring Cloud źø°ė°˜ MSAė”œģ˜ ģ „ķ™˜ : ģ§€ė‚œ 1ė…„ź°„ģ˜ ģ“ģ•¼źø°
[Spring Camp 2018] 11ė²ˆź°€ Spring Cloud źø°ė°˜ MSAė”œģ˜ ģ „ķ™˜ : ģ§€ė‚œ 1ė…„ź°„ģ˜ ģ“ģ•¼źø°[Spring Camp 2018] 11ė²ˆź°€ Spring Cloud źø°ė°˜ MSAė”œģ˜ ģ „ķ™˜ : ģ§€ė‚œ 1ė…„ź°„ģ˜ ģ“ģ•¼źø°
[Spring Camp 2018] 11ė²ˆź°€ Spring Cloud źø°ė°˜ MSAė”œģ˜ ģ „ķ™˜ : ģ§€ė‚œ 1ė…„ź°„ģ˜ ģ“ģ•¼źø°YongSung Yoon
Ā 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecturetyrantbrian
Ā 
AWS Lambda 100% ķ™œģš©ķ•˜źø° :: ź¹€ģƒķ•„ ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø :: Gaming on AWS 2016
AWS Lambda 100% ķ™œģš©ķ•˜źø° :: ź¹€ģƒķ•„ ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø :: Gaming on AWS 2016AWS Lambda 100% ķ™œģš©ķ•˜źø° :: ź¹€ģƒķ•„ ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø :: Gaming on AWS 2016
AWS Lambda 100% ķ™œģš©ķ•˜źø° :: ź¹€ģƒķ•„ ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø :: Gaming on AWS 2016Amazon Web Services Korea
Ā 
MSA ģ „ėžµ 2: ė§ˆģ“ķ¬ė”œģ„œė¹„ģŠ¤, ģ–“ė–»ź²Œ źµ¬ķ˜„ķ•  ź²ƒģøź°€?
MSA ģ „ėžµ 2: ė§ˆģ“ķ¬ė”œģ„œė¹„ģŠ¤, ģ–“ė–»ź²Œ źµ¬ķ˜„ķ•  ź²ƒģøź°€?MSA ģ „ėžµ 2: ė§ˆģ“ķ¬ė”œģ„œė¹„ģŠ¤, ģ–“ė–»ź²Œ źµ¬ķ˜„ķ•  ź²ƒģøź°€?
MSA ģ „ėžµ 2: ė§ˆģ“ķ¬ė”œģ„œė¹„ģŠ¤, ģ–“ė–»ź²Œ źµ¬ķ˜„ķ•  ź²ƒģøź°€?VMware Tanzu Korea
Ā 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Araf Karsh Hamid
Ā 

What's hot (20)

Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...
Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...
Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...
Ā 
4. į„ƒį…¢į„‹į…­į†¼į„…į…£į†¼ į„‹į…”į„į…µį„į…¦į†Øį„Žį…§ į„‰į…„į†Æį„€į…Ø į„‘į…¢į„į…„į†«
4. į„ƒį…¢į„‹į…­į†¼į„…į…£į†¼ į„‹į…”į„į…µį„į…¦į†Øį„Žį…§ į„‰į…„į†Æį„€į…Ø į„‘į…¢į„į…„į†«4. į„ƒį…¢į„‹į…­į†¼į„…į…£į†¼ į„‹į…”į„į…µį„į…¦į†Øį„Žį…§ į„‰į…„į†Æį„€į…Ø į„‘į…¢į„į…„į†«
4. į„ƒį…¢į„‹į…­į†¼į„…į…£į†¼ į„‹į…”į„į…µį„į…¦į†Øį„Žį…§ į„‰į…„į†Æį„€į…Ø į„‘į…¢į„į…„į†«
Ā 
ģ¹“ģ¹“ģ˜¤ ź“‘ź³  ķ”Œėž«ķ¼ MSA ģ ģš© ģ‚¬ė”€ ė° API Gatewayģ™€ ģøģ¦ źµ¬ķ˜„ģ— ėŒ€ķ•œ ģ†Œź°œ
ģ¹“ģ¹“ģ˜¤ ź“‘ź³  ķ”Œėž«ķ¼ MSA ģ ģš© ģ‚¬ė”€ ė° API Gatewayģ™€ ģøģ¦ źµ¬ķ˜„ģ— ėŒ€ķ•œ ģ†Œź°œģ¹“ģ¹“ģ˜¤ ź“‘ź³  ķ”Œėž«ķ¼ MSA ģ ģš© ģ‚¬ė”€ ė° API Gatewayģ™€ ģøģ¦ źµ¬ķ˜„ģ— ėŒ€ķ•œ ģ†Œź°œ
ģ¹“ģ¹“ģ˜¤ ź“‘ź³  ķ”Œėž«ķ¼ MSA ģ ģš© ģ‚¬ė”€ ė° API Gatewayģ™€ ģøģ¦ źµ¬ķ˜„ģ— ėŒ€ķ•œ ģ†Œź°œ
Ā 
ė©€ķ‹°Ā·ķ•˜ģ“ėøŒė¦¬ė“œ ķ“ė¼ģš°ė“œ źµ¬ģ¶• ģ „ėžµ - ė„¤ģ“ė²„ė¹„ģ¦ˆė‹ˆģŠ¤ķ”Œėž«ķ¼ ė°•źø°ģ€ CTO
ė©€ķ‹°Ā·ķ•˜ģ“ėøŒė¦¬ė“œ ķ“ė¼ģš°ė“œ źµ¬ģ¶• ģ „ėžµ - ė„¤ģ“ė²„ė¹„ģ¦ˆė‹ˆģŠ¤ķ”Œėž«ķ¼ ė°•źø°ģ€ CTOė©€ķ‹°Ā·ķ•˜ģ“ėøŒė¦¬ė“œ ķ“ė¼ģš°ė“œ źµ¬ģ¶• ģ „ėžµ - ė„¤ģ“ė²„ė¹„ģ¦ˆė‹ˆģŠ¤ķ”Œėž«ķ¼ ė°•źø°ģ€ CTO
ė©€ķ‹°Ā·ķ•˜ģ“ėøŒė¦¬ė“œ ķ“ė¼ģš°ė“œ źµ¬ģ¶• ģ „ėžµ - ė„¤ģ“ė²„ė¹„ģ¦ˆė‹ˆģŠ¤ķ”Œėž«ķ¼ ė°•źø°ģ€ CTO
Ā 
Change data capture with MongoDB and Kafka.
Change data capture with MongoDB and Kafka.Change data capture with MongoDB and Kafka.
Change data capture with MongoDB and Kafka.
Ā 
Flowcon (added to for CMG) Keynote talk on how Speed Wins and how Netflix is ...
Flowcon (added to for CMG) Keynote talk on how Speed Wins and how Netflix is ...Flowcon (added to for CMG) Keynote talk on how Speed Wins and how Netflix is ...
Flowcon (added to for CMG) Keynote talk on how Speed Wins and how Netflix is ...
Ā 
ė§ˆģ“ķ¬ė”œģ„œė¹„ģŠ¤ źø°ė°˜ ķ“ė¼ģš°ė“œ ģ•„ķ‚¤ķ…ģ²˜ źµ¬ģ„± ėŖØė²” ģ‚¬ė”€ - ģœ¤ģ„ģ°¬ (AWS ķ…Œķ¬ģ—ė°˜ģ ¤ė¦¬ģŠ¤ķŠø)
ė§ˆģ“ķ¬ė”œģ„œė¹„ģŠ¤ źø°ė°˜ ķ“ė¼ģš°ė“œ ģ•„ķ‚¤ķ…ģ²˜ źµ¬ģ„± ėŖØė²” ģ‚¬ė”€ - ģœ¤ģ„ģ°¬ (AWS ķ…Œķ¬ģ—ė°˜ģ ¤ė¦¬ģŠ¤ķŠø) ė§ˆģ“ķ¬ė”œģ„œė¹„ģŠ¤ źø°ė°˜ ķ“ė¼ģš°ė“œ ģ•„ķ‚¤ķ…ģ²˜ źµ¬ģ„± ėŖØė²” ģ‚¬ė”€ - ģœ¤ģ„ģ°¬ (AWS ķ…Œķ¬ģ—ė°˜ģ ¤ė¦¬ģŠ¤ķŠø)
ė§ˆģ“ķ¬ė”œģ„œė¹„ģŠ¤ źø°ė°˜ ķ“ė¼ģš°ė“œ ģ•„ķ‚¤ķ…ģ²˜ źµ¬ģ„± ėŖØė²” ģ‚¬ė”€ - ģœ¤ģ„ģ°¬ (AWS ķ…Œķ¬ģ—ė°˜ģ ¤ė¦¬ģŠ¤ķŠø)
Ā 
Serverless ź°œė°œģ—ģ„œģ˜ ģøģ¦ ģ™„ė²½ ź°€ģ“ė“œ::ė°•ģ„ ģš©::AWS Summit Seoul 2018
Serverless ź°œė°œģ—ģ„œģ˜ ģøģ¦ ģ™„ė²½ ź°€ģ“ė“œ::ė°•ģ„ ģš©::AWS Summit Seoul 2018Serverless ź°œė°œģ—ģ„œģ˜ ģøģ¦ ģ™„ė²½ ź°€ģ“ė“œ::ė°•ģ„ ģš©::AWS Summit Seoul 2018
Serverless ź°œė°œģ—ģ„œģ˜ ģøģ¦ ģ™„ė²½ ź°€ģ“ė“œ::ė°•ģ„ ģš©::AWS Summit Seoul 2018
Ā 
What are Microservices | Microservices Architecture Training | Microservices ...
What are Microservices | Microservices Architecture Training | Microservices ...What are Microservices | Microservices Architecture Training | Microservices ...
What are Microservices | Microservices Architecture Training | Microservices ...
Ā 
Doing REST Right
Doing REST RightDoing REST Right
Doing REST Right
Ā 
Amazon SageMaker ėŖØėø ė°°ķ¬ ė°©ė²• ģ†Œź°œ::ź¹€ėŒ€ź·¼, AI/ML ģŠ¤ķŽ˜ģ…œė¦¬ģŠ¤ķŠø ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø, AWS::AWS AIML ģŠ¤ķŽ˜ģ…œ ģ›Øė¹„ė‚˜
Amazon SageMaker ėŖØėø ė°°ķ¬ ė°©ė²• ģ†Œź°œ::ź¹€ėŒ€ź·¼, AI/ML ģŠ¤ķŽ˜ģ…œė¦¬ģŠ¤ķŠø ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø, AWS::AWS AIML ģŠ¤ķŽ˜ģ…œ ģ›Øė¹„ė‚˜Amazon SageMaker ėŖØėø ė°°ķ¬ ė°©ė²• ģ†Œź°œ::ź¹€ėŒ€ź·¼, AI/ML ģŠ¤ķŽ˜ģ…œė¦¬ģŠ¤ķŠø ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø, AWS::AWS AIML ģŠ¤ķŽ˜ģ…œ ģ›Øė¹„ė‚˜
Amazon SageMaker ėŖØėø ė°°ķ¬ ė°©ė²• ģ†Œź°œ::ź¹€ėŒ€ź·¼, AI/ML ģŠ¤ķŽ˜ģ…œė¦¬ģŠ¤ķŠø ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø, AWS::AWS AIML ģŠ¤ķŽ˜ģ…œ ģ›Øė¹„ė‚˜
Ā 
ķšØź³¼ģ ģø NoSQL (Elasticahe / DynamoDB) ė””ģžģø ė° ķ™œģš© ė°©ģ•ˆ (ģµœģœ ģ • & ģµœķ™ģ‹, AWS ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø) :: ...
ķšØź³¼ģ ģø NoSQL (Elasticahe / DynamoDB) ė””ģžģø ė° ķ™œģš© ė°©ģ•ˆ (ģµœģœ ģ • & ģµœķ™ģ‹, AWS ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø) :: ...ķšØź³¼ģ ģø NoSQL (Elasticahe / DynamoDB) ė””ģžģø ė° ķ™œģš© ė°©ģ•ˆ (ģµœģœ ģ • & ģµœķ™ģ‹, AWS ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø) :: ...
ķšØź³¼ģ ģø NoSQL (Elasticahe / DynamoDB) ė””ģžģø ė° ķ™œģš© ė°©ģ•ˆ (ģµœģœ ģ • & ģµœķ™ģ‹, AWS ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø) :: ...
Ā 
Microservices Tutorial for Beginners | Microservices Architecture | Microserv...
Microservices Tutorial for Beginners | Microservices Architecture | Microserv...Microservices Tutorial for Beginners | Microservices Architecture | Microserv...
Microservices Tutorial for Beginners | Microservices Architecture | Microserv...
Ā 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
Ā 
[Spring Camp 2018] 11ė²ˆź°€ Spring Cloud źø°ė°˜ MSAė”œģ˜ ģ „ķ™˜ : ģ§€ė‚œ 1ė…„ź°„ģ˜ ģ“ģ•¼źø°
[Spring Camp 2018] 11ė²ˆź°€ Spring Cloud źø°ė°˜ MSAė”œģ˜ ģ „ķ™˜ : ģ§€ė‚œ 1ė…„ź°„ģ˜ ģ“ģ•¼źø°[Spring Camp 2018] 11ė²ˆź°€ Spring Cloud źø°ė°˜ MSAė”œģ˜ ģ „ķ™˜ : ģ§€ė‚œ 1ė…„ź°„ģ˜ ģ“ģ•¼źø°
[Spring Camp 2018] 11ė²ˆź°€ Spring Cloud źø°ė°˜ MSAė”œģ˜ ģ „ķ™˜ : ģ§€ė‚œ 1ė…„ź°„ģ˜ ģ“ģ•¼źø°
Ā 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
Ā 
AWS Lambda 100% ķ™œģš©ķ•˜źø° :: ź¹€ģƒķ•„ ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø :: Gaming on AWS 2016
AWS Lambda 100% ķ™œģš©ķ•˜źø° :: ź¹€ģƒķ•„ ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø :: Gaming on AWS 2016AWS Lambda 100% ķ™œģš©ķ•˜źø° :: ź¹€ģƒķ•„ ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø :: Gaming on AWS 2016
AWS Lambda 100% ķ™œģš©ķ•˜źø° :: ź¹€ģƒķ•„ ģ†”ė£Øģ…˜ģ¦ˆ ģ•„ķ‚¤ķ…ķŠø :: Gaming on AWS 2016
Ā 
MSA ģ „ėžµ 2: ė§ˆģ“ķ¬ė”œģ„œė¹„ģŠ¤, ģ–“ė–»ź²Œ źµ¬ķ˜„ķ•  ź²ƒģøź°€?
MSA ģ „ėžµ 2: ė§ˆģ“ķ¬ė”œģ„œė¹„ģŠ¤, ģ–“ė–»ź²Œ źµ¬ķ˜„ķ•  ź²ƒģøź°€?MSA ģ „ėžµ 2: ė§ˆģ“ķ¬ė”œģ„œė¹„ģŠ¤, ģ–“ė–»ź²Œ źµ¬ķ˜„ķ•  ź²ƒģøź°€?
MSA ģ „ėžµ 2: ė§ˆģ“ķ¬ė”œģ„œė¹„ģŠ¤, ģ–“ė–»ź²Œ źµ¬ķ˜„ķ•  ź²ƒģøź°€?
Ā 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
Ā 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
Ā 

Viewers also liked

Microservices and functional programming
Microservices and functional programmingMicroservices and functional programming
Microservices and functional programmingMichael Neale
Ā 
How Spotify Builds Products (Organization. Architecture, Autonomy, Accountabi...
How Spotify Builds Products (Organization. Architecture, Autonomy, Accountabi...How Spotify Builds Products (Organization. Architecture, Autonomy, Accountabi...
How Spotify Builds Products (Organization. Architecture, Autonomy, Accountabi...Kevin Goldsmith
Ā 
Application Networks: Microservices and APIs at Netflix
Application Networks: Microservices and APIs at NetflixApplication Networks: Microservices and APIs at Netflix
Application Networks: Microservices and APIs at NetflixMuleSoft
Ā 
Mastering Chaos - A Netflix Guide to Microservices
Mastering Chaos - A Netflix Guide to MicroservicesMastering Chaos - A Netflix Guide to Microservices
Mastering Chaos - A Netflix Guide to MicroservicesJosh Evans
Ā 
Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration StrategiesJesus Rodriguez
Ā 
Microservices at Spotify
Microservices at SpotifyMicroservices at Spotify
Microservices at SpotifyKevin Goldsmith
Ā 
Import golang; struct microservice - Codemotion Rome 2015
Import golang; struct microservice - Codemotion Rome 2015Import golang; struct microservice - Codemotion Rome 2015
Import golang; struct microservice - Codemotion Rome 2015Giorgio Cefaro
Ā 
MicroServices at Netflix - challenges of scale
MicroServices at Netflix - challenges of scaleMicroServices at Netflix - challenges of scale
MicroServices at Netflix - challenges of scaleSudhir Tonse
Ā 
From SOA to MSA
From SOA to MSAFrom SOA to MSA
From SOA to MSAWilliam Yang
Ā 

Viewers also liked (9)

Microservices and functional programming
Microservices and functional programmingMicroservices and functional programming
Microservices and functional programming
Ā 
How Spotify Builds Products (Organization. Architecture, Autonomy, Accountabi...
How Spotify Builds Products (Organization. Architecture, Autonomy, Accountabi...How Spotify Builds Products (Organization. Architecture, Autonomy, Accountabi...
How Spotify Builds Products (Organization. Architecture, Autonomy, Accountabi...
Ā 
Application Networks: Microservices and APIs at Netflix
Application Networks: Microservices and APIs at NetflixApplication Networks: Microservices and APIs at Netflix
Application Networks: Microservices and APIs at Netflix
Ā 
Mastering Chaos - A Netflix Guide to Microservices
Mastering Chaos - A Netflix Guide to MicroservicesMastering Chaos - A Netflix Guide to Microservices
Mastering Chaos - A Netflix Guide to Microservices
Ā 
Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration Strategies
Ā 
Microservices at Spotify
Microservices at SpotifyMicroservices at Spotify
Microservices at Spotify
Ā 
Import golang; struct microservice - Codemotion Rome 2015
Import golang; struct microservice - Codemotion Rome 2015Import golang; struct microservice - Codemotion Rome 2015
Import golang; struct microservice - Codemotion Rome 2015
Ā 
MicroServices at Netflix - challenges of scale
MicroServices at Netflix - challenges of scaleMicroServices at Netflix - challenges of scale
MicroServices at Netflix - challenges of scale
Ā 
From SOA to MSA
From SOA to MSAFrom SOA to MSA
From SOA to MSA
Ā 

Similar to MicroService Architecture

Taking Hollywood Out of Production
Taking Hollywood Out of ProductionTaking Hollywood Out of Production
Taking Hollywood Out of ProductionR/GA
Ā 
Mobile Research in Emerging Markets - Heineken Goes Mobile in Africa and The ...
Mobile Research in Emerging Markets - Heineken Goes Mobile in Africa and The ...Mobile Research in Emerging Markets - Heineken Goes Mobile in Africa and The ...
Mobile Research in Emerging Markets - Heineken Goes Mobile in Africa and The ...Dave King
Ā 
Inspire 2012 - Lollapalooza
Inspire 2012 - LollapaloozaInspire 2012 - Lollapalooza
Inspire 2012 - LollapaloozaRyan Manchee
Ā 
Sharing the Success of OpenID Japan Success
Sharing the Success of OpenID Japan SuccessSharing the Success of OpenID Japan Success
Sharing the Success of OpenID Japan SuccessNat Sakimura
Ā 
Global Say on Pay: Coming to Your Stock Plan in 2013
Global Say on Pay:  Coming to Your Stock Plan in 2013Global Say on Pay:  Coming to Your Stock Plan in 2013
Global Say on Pay: Coming to Your Stock Plan in 2013fwhittlesey
Ā 
Inspire 1012- Dean Donaldson-Living in a material world
Inspire 1012- Dean Donaldson-Living in a material world Inspire 1012- Dean Donaldson-Living in a material world
Inspire 1012- Dean Donaldson-Living in a material world MediaMindGlobal
Ā 
Inspire 1012 - Living in a Material World
Inspire 1012 - Living in a Material WorldInspire 1012 - Living in a Material World
Inspire 1012 - Living in a Material WorldDean Donaldson
Ā 
Fighting counterfeit motion pictures
Fighting counterfeit motion picturesFighting counterfeit motion pictures
Fighting counterfeit motion picturesKenny Nguyen
Ā 
Hadoop, oracle and the industrial revolution of data
Hadoop, oracle and the industrial revolution of data Hadoop, oracle and the industrial revolution of data
Hadoop, oracle and the industrial revolution of data Guy Harrison
Ā 
Duck Dynasty Template - Oct 2012
Duck Dynasty Template - Oct 2012Duck Dynasty Template - Oct 2012
Duck Dynasty Template - Oct 2012Ashley Endlich
Ā 
Fashion star s2 screenshot deck final 3.12.13
Fashion star s2 screenshot deck final 3.12.13Fashion star s2 screenshot deck final 3.12.13
Fashion star s2 screenshot deck final 3.12.13miotakahashi
Ā 
Medinah 2012 slideshow
Medinah 2012 slideshowMedinah 2012 slideshow
Medinah 2012 slideshowEmtec Inc.
Ā 
BYOD Trends, Challenges, Pitfalls and Tips
BYODTrends, Challenges, Pitfalls and TipsBYODTrends, Challenges, Pitfalls and Tips
BYOD Trends, Challenges, Pitfalls and TipsAxios Systems
Ā 
Nouvelle Cuisine (2012)
Nouvelle Cuisine (2012)Nouvelle Cuisine (2012)
Nouvelle Cuisine (2012)Marc Jadoul
Ā 
Purposeful Mobile: Thoughts on Mobile Research - Confirmit
Purposeful Mobile: Thoughts on Mobile Research - ConfirmitPurposeful Mobile: Thoughts on Mobile Research - Confirmit
Purposeful Mobile: Thoughts on Mobile Research - ConfirmitMerlien Institute
Ā 
Opening Keynote
Opening KeynoteOpening Keynote
Opening KeynoteElasticsearch
Ā 
Ellie Mae Inc.: Redefining the Mortgage Industry with Search
Ellie Mae Inc.: Redefining the Mortgage Industry with SearchEllie Mae Inc.: Redefining the Mortgage Industry with Search
Ellie Mae Inc.: Redefining the Mortgage Industry with SearchElasticsearch
Ā 
Defrag 2012: anticipation nation 2020
Defrag 2012: anticipation nation 2020 Defrag 2012: anticipation nation 2020
Defrag 2012: anticipation nation 2020 Paul Muller
Ā 

Similar to MicroService Architecture (20)

Taking Hollywood Out of Production
Taking Hollywood Out of ProductionTaking Hollywood Out of Production
Taking Hollywood Out of Production
Ā 
Mobile Research in Emerging Markets - Heineken Goes Mobile in Africa and The ...
Mobile Research in Emerging Markets - Heineken Goes Mobile in Africa and The ...Mobile Research in Emerging Markets - Heineken Goes Mobile in Africa and The ...
Mobile Research in Emerging Markets - Heineken Goes Mobile in Africa and The ...
Ā 
Being Influential Online
Being Influential OnlineBeing Influential Online
Being Influential Online
Ā 
Inspire 2012 - Lollapalooza
Inspire 2012 - LollapaloozaInspire 2012 - Lollapalooza
Inspire 2012 - Lollapalooza
Ā 
Sharing the Success of OpenID Japan Success
Sharing the Success of OpenID Japan SuccessSharing the Success of OpenID Japan Success
Sharing the Success of OpenID Japan Success
Ā 
Leading Change
Leading ChangeLeading Change
Leading Change
Ā 
Global Say on Pay: Coming to Your Stock Plan in 2013
Global Say on Pay:  Coming to Your Stock Plan in 2013Global Say on Pay:  Coming to Your Stock Plan in 2013
Global Say on Pay: Coming to Your Stock Plan in 2013
Ā 
Inspire 1012- Dean Donaldson-Living in a material world
Inspire 1012- Dean Donaldson-Living in a material world Inspire 1012- Dean Donaldson-Living in a material world
Inspire 1012- Dean Donaldson-Living in a material world
Ā 
Inspire 1012 - Living in a Material World
Inspire 1012 - Living in a Material WorldInspire 1012 - Living in a Material World
Inspire 1012 - Living in a Material World
Ā 
Fighting counterfeit motion pictures
Fighting counterfeit motion picturesFighting counterfeit motion pictures
Fighting counterfeit motion pictures
Ā 
Hadoop, oracle and the industrial revolution of data
Hadoop, oracle and the industrial revolution of data Hadoop, oracle and the industrial revolution of data
Hadoop, oracle and the industrial revolution of data
Ā 
Duck Dynasty Template - Oct 2012
Duck Dynasty Template - Oct 2012Duck Dynasty Template - Oct 2012
Duck Dynasty Template - Oct 2012
Ā 
Fashion star s2 screenshot deck final 3.12.13
Fashion star s2 screenshot deck final 3.12.13Fashion star s2 screenshot deck final 3.12.13
Fashion star s2 screenshot deck final 3.12.13
Ā 
Medinah 2012 slideshow
Medinah 2012 slideshowMedinah 2012 slideshow
Medinah 2012 slideshow
Ā 
BYOD Trends, Challenges, Pitfalls and Tips
BYODTrends, Challenges, Pitfalls and TipsBYODTrends, Challenges, Pitfalls and Tips
BYOD Trends, Challenges, Pitfalls and Tips
Ā 
Nouvelle Cuisine (2012)
Nouvelle Cuisine (2012)Nouvelle Cuisine (2012)
Nouvelle Cuisine (2012)
Ā 
Purposeful Mobile: Thoughts on Mobile Research - Confirmit
Purposeful Mobile: Thoughts on Mobile Research - ConfirmitPurposeful Mobile: Thoughts on Mobile Research - Confirmit
Purposeful Mobile: Thoughts on Mobile Research - Confirmit
Ā 
Opening Keynote
Opening KeynoteOpening Keynote
Opening Keynote
Ā 
Ellie Mae Inc.: Redefining the Mortgage Industry with Search
Ellie Mae Inc.: Redefining the Mortgage Industry with SearchEllie Mae Inc.: Redefining the Mortgage Industry with Search
Ellie Mae Inc.: Redefining the Mortgage Industry with Search
Ā 
Defrag 2012: anticipation nation 2020
Defrag 2012: anticipation nation 2020 Defrag 2012: anticipation nation 2020
Defrag 2012: anticipation nation 2020
Ā 

More from Fred George

Go Faster - Remove Inhibitors to Rapid Innovation
Go Faster - Remove Inhibitors to Rapid InnovationGo Faster - Remove Inhibitors to Rapid Innovation
Go Faster - Remove Inhibitors to Rapid InnovationFred George
Ā 
Programmer Anarchy and Managerless Processes
Programmer Anarchy and Managerless ProcessesProgrammer Anarchy and Managerless Processes
Programmer Anarchy and Managerless ProcessesFred George
Ā 
Secret Assumption of Agile
Secret Assumption of AgileSecret Assumption of Agile
Secret Assumption of AgileFred George
Ā 
Agile is the New Black
Agile is the New BlackAgile is the New Black
Agile is the New BlackFred George
Ā 
It's a Bird, It's a Plan, No It's Superman
It's a Bird, It's a Plan, No It's SupermanIt's a Bird, It's a Plan, No It's Superman
It's a Bird, It's a Plan, No It's SupermanFred George
Ā 
Programmer Anarchy (Chinese Mandarin)
Programmer Anarchy (Chinese Mandarin)Programmer Anarchy (Chinese Mandarin)
Programmer Anarchy (Chinese Mandarin)Fred George
Ā 
Programmer Anarchy (English)
Programmer Anarchy (English)Programmer Anarchy (English)
Programmer Anarchy (English)Fred George
Ā 
Secret Assumption of Agile (Chinese)
Secret Assumption of Agile (Chinese)Secret Assumption of Agile (Chinese)
Secret Assumption of Agile (Chinese)Fred George
Ā 
It's A Bird, It's a Plane, ... (in Chinese)
It's A Bird, It's a Plane, ... (in Chinese)It's A Bird, It's a Plane, ... (in Chinese)
It's A Bird, It's a Plane, ... (in Chinese)Fred George
Ā 

More from Fred George (9)

Go Faster - Remove Inhibitors to Rapid Innovation
Go Faster - Remove Inhibitors to Rapid InnovationGo Faster - Remove Inhibitors to Rapid Innovation
Go Faster - Remove Inhibitors to Rapid Innovation
Ā 
Programmer Anarchy and Managerless Processes
Programmer Anarchy and Managerless ProcessesProgrammer Anarchy and Managerless Processes
Programmer Anarchy and Managerless Processes
Ā 
Secret Assumption of Agile
Secret Assumption of AgileSecret Assumption of Agile
Secret Assumption of Agile
Ā 
Agile is the New Black
Agile is the New BlackAgile is the New Black
Agile is the New Black
Ā 
It's a Bird, It's a Plan, No It's Superman
It's a Bird, It's a Plan, No It's SupermanIt's a Bird, It's a Plan, No It's Superman
It's a Bird, It's a Plan, No It's Superman
Ā 
Programmer Anarchy (Chinese Mandarin)
Programmer Anarchy (Chinese Mandarin)Programmer Anarchy (Chinese Mandarin)
Programmer Anarchy (Chinese Mandarin)
Ā 
Programmer Anarchy (English)
Programmer Anarchy (English)Programmer Anarchy (English)
Programmer Anarchy (English)
Ā 
Secret Assumption of Agile (Chinese)
Secret Assumption of Agile (Chinese)Secret Assumption of Agile (Chinese)
Secret Assumption of Agile (Chinese)
Ā 
It's A Bird, It's a Plane, ... (in Chinese)
It's A Bird, It's a Plane, ... (in Chinese)It's A Bird, It's a Plane, ... (in Chinese)
It's A Bird, It's a Plane, ... (in Chinese)
Ā 

MicroService Architecture

  • 1. ĀµService Architecture: A Personal Journey of Discovery Fred George fredgeorge@acm.org @fgeorge52 Copyright Ā© 2012 by Fred George. All rights reserved. 1
  • 2. In the Beginning... Copyright Ā© 2012 by Fred George. All rights reserved. 2
  • 3. 2004: 1M loc - Largest Certified J2EE Application Copyright Ā© 2012 by Fred George. All rights reserved. 3
  • 4. It Started Well... Martin Fowler consulted, then joined ThoughtWorks Copyright Ā© 2009 by Fred George 4
  • 5. What I Found in 2004 āœ¦ 1M locs āœ¦ 2,000 tests āœ¦ 70% success rate on Acceptance Test was Acceptable āœ¦ Bug database with over 1000 entries āœ¦ Still being changed āœ¦ New tests almost non-existent Copyright Ā© 2012 by Fred George. All rights reserved. 5
  • 6. Unit Test Counts Copyright Ā© 2012 by Fred George. All rights reserved. 6
  • 7. assertNotNull (new Loan(50)); āœ¦ Easy (reasonably) unit test āœ¦ On Saturday without interruptions 5 hours later, it passed! Copyright Ā© 2012 by Fred George. All rights reserved. 7
  • 8. 2004: 1M loc - Largest Certified J2EE Application ā€œ100K loc trying to get outā€ Jeff Bay Copyright Ā© 2012 by Fred George. All rights reserved. 8
  • 9. Why? What Happened? Sloppy Lazy? Technical Debt No power to refuse! Inexperienced! Copyright Ā© 2012 by Fred George. All rights reserved. 9
  • 10. Evolution... Copyright Ā© 2012 by Fred George. All rights reserved. 10
  • 11. 2005: SOA in Chinese Bank Cash, Loans Mortgage Insurance Balances Copyright Ā© 2012 by Fred George. All rights reserved. 11
  • 12. Solution: Pub/Sub e d āœ¦ Events ā€œpublishedā€ c t āœ¦ āœ¦ Interested applications ā€œsubscribeā€ j e Applications then ā€œpublishā€ interaction requests āœ¦ R e UI elements render appropriate interactions Copyright Ā© 2012 by Fred George. All rights reserved. 12
  • 13. 2004: 2005 1M loc - Largest Certified J2EE Application ā€œ20 5K loc trying to get outā€ ā€œ100K loc trying to get outā€ Copyright Ā© 2012 by Fred George. All rights reserved. 13
  • 14. 2005: Medical Systems Information ā€œNuggetsā€ Copyright Ā© 2012 by Fred George. All rights reserved. 14
  • 15. From: CAT Scan About: Jane Doe e d Urgency: Time: 23 Apr 2012 20:13:45 Concern c t Summary Validity: 26 Apr 2012 20:13:45 j e Only relevant until... R e Information ā€œNuggetsā€ Copyright Ā© 2012 by Fred George. All rights reserved. 15
  • 16. 2005: Services for Investment Management p e āœ¦ Prototyping new system architecture t y o āœ¦ Baysian Service Principles (Jeff Bay) t āœ¦ Itā€™s okay to run more than one version at the same time āœ¦ āœ¦ r o You can only deploy one service at a time Decoupling result: Deploying 3 times a day! P Copyright Ā© 2012 by Fred George. All rights reserved. 16
  • 17. 2006: Batch Processing Replacement Orders āœ¦ Client needed to replace parts on cars āœ¦ Many variations based on car, location of car āœ¦ Vendor estimated 15- months 18 āœ¦ Unacceptable to business Copyright Ā© 2012 by Fred George. All rights reserved. 17
  • 18. 2006: Batch Processing Replacement Orders Copyright Ā© 2012 by Fred George. All rights reserved. 18
  • 19. Refined Packet Design ? Addr ? ? ? ? ? ? ? VIN ? ? Date ? ? ? Name ? Copyright Ā© 2012 by Fred George. All rights reserved. 19
  • 20. ? Addr ? ? ? ? d Join Table e ā€¢Need VIN ā€¢Need zzz ā€¢Inject aaa r ks e e v e i w ā€¢Need Addr ā€¢Inject Name l e 9 D ā€¢Need Name ā€¢Need rrr ā€¢Inject VIN i n Copyright Ā© 2012 by Fred George. All rights reserved. 20
  • 21. New Observations and Revelations āœ¦ Services are like Classes āœ¦ Small, crisp conceptualization āœ¦ Services got very tiny (100 loc) āœ¦ Smalltalk message passing perfect for services āœ¦ Encapsulation āœ¦ Database segregated among services w/o sharing āœ¦ Service publishes conclusions, not raw data Copyright Ā© 2012 by Fred George. All rights reserved. 21
  • 22. New Problems and Challenges d ? āœ¦ ā€œWTF is going on ?ā€ r e āœ¦ āœ¦ Cycles, lost packets Needed to redefine tracking, logging v e āœ¦ Inexperienced team in defining services āœ¦ l Approach compromised in Release 2 i āœ¦ D e Won award at TW Tech Day... for being a bad idea! Copyright Ā© 2012 by Fred George. All rights reserved. 22
  • 23. 2004: 2005 2006 1M loc - Largest Certified J2EE Application 200 500 loc ā€œ20 5K loc trying to get outā€ Copyright Ā© 2012 by Fred George. All rights reserved. 23
  • 24. Experiences at... Copyright Ā© 2012 by Fred George. All rights reserved. 24
  • 25. 2007: Forward Needs to Monitor AdWords Accounts e d t āœ¦ Pub/sub model based on Linda Spaces (tuples) Segregate databases to services c āœ¦ Define agent services for each user e āœ¦ Start to automate activities and recommendations j āœ¦ āœ¦ Off-shore for implementation āœ¦ āœ¦ solution R e CTO killed it (former Oracle executive) Replaced with a more traditional, SQL DB-driven Copyright Ā© 2012 by Fred George. All rights reserved. 25
  • 26. 2008: CardWall e d āœ¦ Front-end automated Card Wall in Agile e r āœ¦ Back-end emerged as a set of services analyzing data i v l āœ¦ One service, one role āœ¦ āœ¦ D Migrated to Hadoop Cluster as it grew e Post alerts (with recommendations) to users Copyright Ā© 2012 by Fred George. All rights reserved. 26
  • 27. New Observations and Revelations āœ¦ Services became disposable āœ¦ Loosely coupled via RESTful Json packets or DB āœ¦ Albeit still knowledgeable about flow āœ¦ Self-monitoring services replaces Unit Tests āœ¦ Business monitoring replaces Acceptance Tests āœ¦ Services language-agnostic Copyright Ā© 2012 by Fred George. All rights reserved. 27
  • 28. Current State... Copyright Ā© 2012 by Fred George. All rights reserved. 28
  • 29. Copyright Ā© 2012 by Fred George. All rights reserved. 29
  • 30. Copyright Ā© 2012 by Fred George. All rights reserved. 30
  • 31. Design: Events, not Entities Copyright Ā© 2012 by Fred George. All rights reserved. 31
  • 32. Design: History, not Current Copyright Ā© 2012 by Fred George. All rights reserved. 32
  • 33. Legacy System Web Web Services Services ETL/ Biz Biz Data Muddling Data Data Reporting Copyright Ā© 2012 by Fred George. All rights reserved. 33
  • 34. Cloud of Signals Email Read Postcode Email Address Name Postal Address Server Load URL Request Copyright Ā© 2012 by Fred George. All rights reserved. 34
  • 35. Data Ecosystem Producers Kafka Consumers Postal Address App R App Hive Service Email Address Monitoring Web Server URL Request Apps/ 3rd Party Services Name Web Hooks Copyright Ā© 2012 by Fred George. All rights reserved. 35
  • 36. Cross-sell Tracking Copyright Ā© 2012 by Fred George. All rights reserved. 36
  • 37. User Paths Through Site Copyright Ā© 2012 by Fred George. All rights reserved. 37
  • 38. Agile Best Practices Not Used Trust w āœ¦ Stand ups collocation āœ¦ Unit tests āœ¦ Story narratives āœ¦ Acceptance tests Small, āœ¦ Retrospectives āœ¦ Refactoring short-lived āœ¦ Estimates āœ¦ Patterns apps Results, āœ¦ Iterations not blame āœ¦ Continuous integration āœ¦ Mandatory pairing Continuous deployment Copyright Ā© 2012 by Fred George. All rights reserved. 38
  • 39. What About Technical Debt? Sloppy Lazy? Technical Debt No power to refuse! Inexperienced! Copyright Ā© 2012 by Fred George. All rights reserved. 39
  • 40. Conclusions (so far)... Copyright Ā© 2012 by Fred George. All rights reserved. 40
  • 41. Summary Principles of ĀµServices āœ¦ Very, very small āœ¦ Loosely coupled (including flow) āœ¦ Multiple versions acceptable (encouraged?) āœ¦ Self-execution monitoring of each service āœ¦ Publish interesting ā€œstuffā€ (w/o requirement) āœ¦ ā€œApplicationā€ seems to be poor conceptualization Copyright Ā© 2012 by Fred George. All rights reserved. 41
  • 42. ā€œLiving Softwareā€ System āœ¦ Long-lived system; short-lived services (human body) āœ¦ Extremely dynamic with continuous deployments āœ¦ 5- minutes between deployments typical 10 āœ¦ Accept it is complex (especially for testing) āœ¦ Acceptance test on business outcomes instead āœ¦ Radical impact to processes (Anarchy) āœ¦ There will be a learning curve for developers! Copyright Ā© 2012 by Fred George. All rights reserved. 42
  • 43. ĀµService Architecture: A Personal Journey of Discovery Fred George fredgeorge@acm.org @fgeorge52 Copyright Ā© 2012 by Fred George. All rights reserved. 43