Development

Product Management

Build Measure Learn Cycle

Conversion

  • Conversion marketing is the act of converting site visitors into paying customers.
  • Conversion rate is the proportion of visits to a website who take action to go beyond a website visit.

FeatureToggle

public class TopSellerRecommendationPanel extends AbstractShopBasePanel {

    @SpringBean
    private FeatureToogleBean featureToogleBean;

    ...

    @Override
    protected void onConfigure() {
      super.onConfigure();
      setVisible(featureToogleBean.isTopSellerFeatureEnabled());
    }

    ...

}

Monolith

Functionality / Data

Microservice Architecture

Unix Pipeline (1973)

vagrant@app-server-node-4:~$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.2  29640  4300 ?        Ss   08:38   0:02 /sbin/init
root         2  0.0  0.0      0     0 ?        S    08:38   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    08:38   0:02 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   08:38   0:00 [kworker/0:0H]
...
vagrant@app-server-node-4:~$ ps aux | grep java
root      1827  1.4  7.2 2458576 149452 ?      Sl   08:39   8:26 java -classpath
/usr/share/shop/product/lib/product-microservice-0.5.5.jar:/usr/share/shop/produ
ct/lib/scala-library-2.10.3.jar:/usr/share/shop/product/lib/akka-actor_2.10-2.2.
4.jar:/usr/share/shop/product/lib/spray-can-1.2.1.jar:/usr/share/shop/product/li
...
vagrant@app-server-node-4:~$ ps aux | grep java | wc -l
6

Service-Oriented Architecture (SOA / 1996)

  • SOA is an architectural style that supports service-orientation.
  • Service-orientation is a way of thinking in terms of services.
  • A service:
    • Is a logical representation of a repeatable business activity
      (e.g., submit order)
    • Is self-contained
    • May be composed of other services
    • Is a “black box” to consumers of the service

SOA taxonomy

Differences to SOA

  • No commitment to a unique technology
  • Greater flexibility of architecture
  • Services managed as products, with their own lifecycle
  • Industrialised deployment

Online Shop - Use case

Online Shop - Migration

Challenges of Microservices

With all the benefits they bring, microservices also create several challenges:

  • require integration.
  • require a multi deployment pipeline.
  • require automation of deployment and configuration.
  • require logging and monitoring.

Communication Structure - Leavitt

Type Star Chain Circle Complete Structure
 
centralization high medium low very low
communication low medium much very much
controllability much medium low very low

Microservices Communication

Multi Deployment Pipeline

Deployment Technology Trends

Deployment

Unix Package

mkdir -p $PACKAGE_BASE_DIR
cp build/product.jar $PACKAGE_BASE_DIR/usr/share/shop/product.jar
mkdir -p $PACKAGE_BASE_DIR/DEBIAN

cat > $PACKAGE_BASE_DIR/DEBIAN/control <<EOL
Package: product-service
Version: 1.0.0
Section: base
Priority: optional
Architecture: amd64
Depends: mongodb (>= 2.8.0)
Maintainer: Bernd Zuther <bernd.zuther@codecentric.de>
Description: Product Service
EOL
touch $PACKAGE_BASE_DIR/DEBIAN/postinst

dpkg-deb --build $PACKAGE_BASE_DIR $BUILD_ARTIFACT
reprepro -Vb /var/packages/debian includedeb shop $BUILD_ARTIFACT

<Thank You!>

Links

Links

Images