SlideShare a Scribd company logo
Micro services For Websphere Commerce
(WCS)
Hariharan Anantharaman
@harianantha
Hariharan.anantharaman@gmail.com
https://www.linkedin.com/in/hariharan-anantharaman-64360218
Micro Services- Characteristics
 Flavor of SOA
 Desperate services together forms a complete application.
 Each service can scale up or down based on demand.
 Instances of each services are load balanced separately.
 Each service can have its own DB.
 Driven by scalability provided by cloud platforms.
 Developed to improve faster time to market, easier maintenance, zero downtime deployment
 Requires change in team structure
 Proposes each services to be deployed, scaled, maintained separately.
 Each service is managed separately by separate team rather than big team managing big
monolith applications
 Pioneered by Netflix. –”Chaos Monkey”
 Recommends smart end point and dumb transports. REST
Why Micro Services
 It takes SOA bit higher and reduces the risk of one Service breaking entire application.
 Individual services can be scaled up or down easily. Helps in effectively managing costs by
spending on what is needed and for what service.
 Since every service is treated and managed as independent units, release cycle of one service
can be different from other services. This helps is rolling out lot of features much faster than in
a monolith application.
 Enables incremental roll out of features.
 Roll back is much faster ,fool proof and does not affect entire system.
 Ensure reusability of the services across channels, business lines etc.
 As it proposes services based team structure, in ideal world same team takes care of service
enhancements and production fixes. This indirectly makes the developers to roll out quality
code.
 Enables zero downtime deployment.
Need For micro services in Digital Commerce
 As retailers move towards omni channel experience, service readiness and availability is the first
step in that direction.
 Helps business to try new features as services and roll them out ahead of the competition.
 Supports sudden/seasonal spikes in traffic across different services.
 Since it gives an option to deploy services in different geographies, it helps in both the
performance and disaster recovery.
 Instability of a service does not affect entire application and promises a better customer
experience and retention.
 Strengthens the API strategy of a retailer by reducing cost of ownership of individual services,
service offering and very minimal or zero down time.
Micro Service- Challenges , Pre Requisites
Challenges
 Identifying services – Functionality and Team size
 Data consistency across different services
 Migration of existing services of Monolith applications
Pre Requisites
 De coupled interfaces
 Architecture to support scalability
 Investment on Tools for automated deployment (Custom Scripts), monitoring (APM)
 Tools stack for centralized log monitoring for maintenance like ELK(Elastic Search, Log Stash, Kibana)
 Leveraging Tools, dashboards for PaaS,Containers
 Fool proof Disaster recover. Fail early.
 Consoliidated dash board to monitor all services and depict health of entire system.
 Reliable Service Discovery (etcd, Consul, Hystrix)
PaaS
 PaaS : A cloud provider delivers hardware and software tools -- usually those needed for
application development -- to its users as a service. A PaaS provider hosts the hardware and
software on its own infrastructure. As a result, PaaS frees users from having to install in-house
hardware and software to develop or run a new application.
 PaaS functions at a lower level than SaaS, typically providing a platform on which software can
be developed and deployed
 PaaS provider to provide hardware, operating systems, middleware (such as databases, Web
servers and so on) define user access or security, and then add the application to existing
systems management or application performance monitoring (APM) tools. users only need to log
in and start using the platform – usually through a Web browser interface.
 Popular PaaS platforms are CloudFoundry, Heroku, Google App Engine
 PaaS is built on top of virtualization technology. Businesses can requisition resources as they
need them, scaling as demand grows, rather than investing in hardware with redundant
resources.
Cloud Foundry
 Cloud Foundry is an open source cloud computing platform as a service (PaaS) originally developed by
VMware and now owned by Pivotal Software - a joint venture by EMC, VMware and General Electric
 Cloud Foundry Open Source Software (OSS).Available to anyone. Deploying this version of Cloud
Foundry involves interfacing with the underlying infrastructure using the Cloud Foundry BOSH (bosh
outer shell)deployment scripting language, another open source tool from Pivotal.
 Pivotal Cloud Foundry (Pivotal CF).A commercial product available from Pivotal. It provides extra
tools for installation and administration not included in the OSS product.
 Pivotal Web Services (PWS). An instance of Pivotal Cloud Foundry hosted on Amazon Web
Services (AWS).
 Products like IBM Bluemix etc are built on CloudFoundry.
 When an application is deployed to Cloud Foundry, an image is created for it and stored internally.
The image is then deployed to a Warden container to run in. For multiple instances, multiple images
are started on multiple containers. This is where BOSH comes in - Cloud Foundry's internal Controller
uses BOSH to get the underlying infrastructure to spin up virtual machines to run the Warden
containers on. When an application is terminated, all its VMs can be recycled for another application
to use. If the application instance crashes, its container is killed and a new Warden container is
started automatically. A container only ever runs one application ensuring isolation, security and
resilience.
 A load-balancing router sits at the front of Cloud Foundry to route incoming requests to the correct
application - essentially to one of the containers where the application is running.
Cloud Foundry
 Applications deployed to Cloud Foundry access external resources via Services.
 In a PaaS environment, all external dependencies such as databases, messaging systems, files systems and so on
are Services.
 When an application is pushed to Cloud Foundry, the services it should use also can be specified. Depending on the
application language, auto-configuration of services is possible - for example a Java application requiring a MySQL
database picks up the MySQL service on Cloud Foundry if it is the only one defined in the current space.
 Services have to be deployed to the platform first and then are available to any application using it.
 Advantage of Pivotal CF is that many pre-defined services can be deployed into it directly using the Administration
Console.
 Users of the Open Source Cloud Foundry must make services available by writing and running BOSH scripts.
 PWS provides services thanks to a partnership arrangement with App Direct.
 The following services are available to Pivotal CF and on PWS:
 Data Storage: MySQL, PostgreSQL, MongoDB, Redis, Riak, DataStax (Cassandra), Neo4J, Pivotal HD (Hadoop)
 Messaging: Pivotal RabbitMQ
 Development: CloudBees Jenkins (Continuous Integration)
 Mobile: API Gateway, Data Sync, Push Notifications (Pivotal proprietary services to support Mobile Apps).
 Typically, Cloud Foundry is installed on-premises running over VMware's vSphere virtualization infrastructure,
although deployment to OpenStack is an option using BOSH.[18]
 It is also possible to run Cloud Foundry instances on VMware Fusion or Virtualbox using Vagrant and on AWS
Containers
 A container consists of an entire runtime environment: an application, plus all its dependencies, libraries
and other binaries, and configuration files needed to run it, bundled into one package. By containerizing the
application platform and its dependencies, differences in OS distributions and underlying infrastructure are
abstracted away.
 With virtualization technology, the package that can be passed around is a virtual machine and it includes an
entire operating system as well as the application. A physical server running three virtual machines would
have a hypervisor and three separate operating systems running on top of it.
 By contrast a server running three containerized applications runs a single operating system, and each
container shares the operating system kernel with the other containers. Shared parts of the operating
system are read only, while each container has its own mount (i.e., a way to access the container) for
writing. That means the containers are much more lightweight and use far fewer resources than virtual
machines.
 Popular containers Available are Dockers and rkt
WCS Approach for Micro Services – My Thoughts
WCS : Big monolith Ecommerce engine.
Solution Options
1. Have Separate Rest.war for each service. Create EAR for each Rest WAR .It will have WCS jars etc required for run time. Deploy each service
independently.
Pros
 No Extra overhead or network hops to access WCS run time.
 Any REST feature capable with WCS can be managed as Micro Service
Cons
 Lot of Rest WAR files and tough to manage with out matured management model.
 Changes in Core runtime will require re-deployment of all Rest WAR’s
2. Have the Core WCS platform running separately. Have new features which might not require core runtime developed as pure micro services .The Service can
leverage core services as HTTP REST API calls
Pros:
 All micro services are light weight
 If core platform changes, deployment complexity does not increase as the number of micro services.
 Similar approach is used by Guardian on top of their existing monolith software.
Cons
 Core WCS run time having all features as REST is not are micro services.
 Extra network hop to reach core WCS services.
IaaS vs PaaS vs Containers – My Thoughts
IaaS
 Going of IaaS provide platform , OS and Services agnostic environment.
 If a new tech stack is adapted, IaaS is helpful as compatibility of PaaS with new tech stack could take time.
 If we do not have fine grained services or highly interdependent services, IaaS could be a better option. It gives
technological independence and promises scalability as well.
 Open Stack can be used to develop in house IaaS stack.
PaaS
 If we have matured technology stack and not much expertise on Infra setup , PaaS is the best fit.
 Based on Open standards and vendors availability is high.
Containers
 Reduces the time to deploy changes from Dev to Prod and reduces deployment complexity across environment.
More suitable for services with high velocity changes.
 Compatibility in private cloud environment needs to be validated.
 Only a few matured Container platforms.
 Since it is recommended to run only one service in a container, it might tend to be expensive.
 Popular PaaS and IaaS providers give Container services
Micro services Use Cases in Commerce
 Services to render content which are time bound like Festival pages, brand pages etc.
 Account service.
 Ancillary services like Rating and Reviews, blogs, education content etc.
 Value added services which are not a core feature of commerce engine( e.g Personalization, room designer
etc).
References
 http://martinfowler.com/articles/microservices.html
 http://www.ibm.com/developerworks/cloud/library/cl-bluemix-microservices-in-action-part-1-trs/
 http://www.ibm.com/developerworks/cloud/library/cl-bluemix-microservices-in-action-part-2-
trs/index.html
 http://netflix.github.io/
 https://www.computenext.com/blog/when-to-use-saas-paas-and-iaas/
 http://www.cio.com/article/2924995/enterprise-software/what-are-containers-and-why-do-you-
need-them.html
 https://en.wikipedia.org/wiki/Platform_as_a_service
 http://searchcloudcomputing.techtarget.com/definition/Platform-as-a-Service-PaaS
 http://www.networkcomputing.com/cloud-infrastructure/virtual-machines-vs-containers-a-matter-
of-scope/a/d-id/1269190
 http://www.networkcomputing.com/cloud-infrastructure/virtual-machines-vs-containers-a-matter-
of-scope/a/d-id/1269190

More Related Content

What's hot (20)

PPTX
VMware Developer Center --One Pager
Larry McDonough
 
PPTX
The Agile Roots of Microservices
Matt McLarty
 
PDF
Agile integration architecture in relation to APIs and messaging
Kim Clark
 
PDF
A Deep Dive into the Liberty Buildpack on IBM BlueMix
Rohit Kelapure
 
PDF
Full lifecycle of a microservice
Luigi Bennardis
 
PDF
Microservice Architecture
tyrantbrian
 
PPT
HAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
Karen Broughton-Mabbitt
 
PDF
Building enterprise depth APIs with the IBM hybrid integration portfolio
Kim Clark
 
PPTX
A Capability Blueprint for Microservices
Matt McLarty
 
PDF
10 Crucial Steps to Ensuring Performance of TIBCO BusinessWorks
SL Corporation
 
PDF
Differentiating between web APIs, SOA, & integration …and why it matters
Kim Clark
 
PDF
Evolving your Architecture to MicroServices
Hector Tapia
 
PDF
Whitepaper: DevOps - Happiest Minds
Happiest Minds Technologies
 
PDF
Where can you use serverless?  How does it relate to APIs, integration and mi...
Kim Clark
 
PDF
Growing Adoption of Open Source in Enterprises
WSO2
 
PPTX
Building out a Microservices Architecture with WebSphere Liberty Profile and ...
David Currie
 
PPTX
2014 q3-platform-update-v1.06.johnmathon
aaronwso2
 
PDF
Accelerate Digital Transformation with IBM Cloud Private
Michael Elder
 
PDF
IBM Digital Experience Overview - ICS.UG 2016
ICS User Group
 
PDF
MuCon 2015 - Microservices in Integration Architecture
Kim Clark
 
VMware Developer Center --One Pager
Larry McDonough
 
The Agile Roots of Microservices
Matt McLarty
 
Agile integration architecture in relation to APIs and messaging
Kim Clark
 
A Deep Dive into the Liberty Buildpack on IBM BlueMix
Rohit Kelapure
 
Full lifecycle of a microservice
Luigi Bennardis
 
Microservice Architecture
tyrantbrian
 
HAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
Karen Broughton-Mabbitt
 
Building enterprise depth APIs with the IBM hybrid integration portfolio
Kim Clark
 
A Capability Blueprint for Microservices
Matt McLarty
 
10 Crucial Steps to Ensuring Performance of TIBCO BusinessWorks
SL Corporation
 
Differentiating between web APIs, SOA, & integration …and why it matters
Kim Clark
 
Evolving your Architecture to MicroServices
Hector Tapia
 
Whitepaper: DevOps - Happiest Minds
Happiest Minds Technologies
 
Where can you use serverless?  How does it relate to APIs, integration and mi...
Kim Clark
 
Growing Adoption of Open Source in Enterprises
WSO2
 
Building out a Microservices Architecture with WebSphere Liberty Profile and ...
David Currie
 
2014 q3-platform-update-v1.06.johnmathon
aaronwso2
 
Accelerate Digital Transformation with IBM Cloud Private
Michael Elder
 
IBM Digital Experience Overview - ICS.UG 2016
ICS User Group
 
MuCon 2015 - Microservices in Integration Architecture
Kim Clark
 

Viewers also liked (10)

PPTX
Microservices Architecture (MSA) - Presentation made at AEA-MN quarterly even...
Somasundram Balakrushnan
 
PDF
Microservices architecture overview v3
Dmitry Skaredov
 
PDF
DevOps, Microservices and containers - a high level overview
Barton George
 
PDF
Continuous Delivery and Micro Services - A Symbiosis
Eberhard Wolff
 
PDF
ArchSummit Shenzhen - Using sagas to maintain data consistency in a microserv...
Chris Richardson
 
PDF
Asynchronous Microservices in nodejs
Bruno Pedro
 
PPTX
Introduction to Microservices and Cloud Native Application Architecture
David Currie
 
PDF
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
Chris Richardson
 
PDF
Microservices: Notes From The Field
Apcera
 
PPT
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Winton Winton
 
Microservices Architecture (MSA) - Presentation made at AEA-MN quarterly even...
Somasundram Balakrushnan
 
Microservices architecture overview v3
Dmitry Skaredov
 
DevOps, Microservices and containers - a high level overview
Barton George
 
Continuous Delivery and Micro Services - A Symbiosis
Eberhard Wolff
 
ArchSummit Shenzhen - Using sagas to maintain data consistency in a microserv...
Chris Richardson
 
Asynchronous Microservices in nodejs
Bruno Pedro
 
Introduction to Microservices and Cloud Native Application Architecture
David Currie
 
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
Chris Richardson
 
Microservices: Notes From The Field
Apcera
 
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Winton Winton
 
Ad

Similar to Microservices approach for Websphere commerce (20)

PDF
PHP Buildpacks in the Cloud on Bluemix
IBM
 
PDF
Cloud Foundry for PHP developers
Daniel Krook
 
PDF
Modern Software Architecture - Cloud Scale Computing
Giragadurai Vallirajan
 
PDF
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
Jack-Junjie Cai
 
PPTX
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
David Currie
 
PPTX
Application Centric Microservices from Redhat Summit 2015
Ken Owens
 
PDF
Public Cloud Workshop
Amer Ather
 
PPTX
Transforming Legacy Applications Into Dynamically Scalable Web Services
Adam Takvam
 
PDF
Cloudify your applications: microservices and beyond
Ugo Landini
 
PDF
Microservices for java architects it-symposium-2015-09-15
Derek Ashmore
 
PDF
20141210 - Microservice Container
Jamie (Taka) Wang
 
PDF
Building Microservices Software practics
muhammed84essa
 
PDF
Integration in the Cloud, by Rob Davies
Judy Breedlove
 
PDF
Microservices Architecture
Srinivasan Nanduri
 
PPTX
Accelerate DevOps/Microservices and Kubernetes
Rick Hightower
 
PDF
Cloud foundry presentation
Vipul Tope
 
PDF
Cloud Foundry Introduction and Overview
Andy Piper
 
PPTX
Microservices pros and cons dark
Andrew Siemer
 
PDF
Adopting PCF At An Automobile Manufacturer
VMware Tanzu
 
PDF
Adopting PCF At An Automobile Manufacturer
Gregor Zurowski
 
PHP Buildpacks in the Cloud on Bluemix
IBM
 
Cloud Foundry for PHP developers
Daniel Krook
 
Modern Software Architecture - Cloud Scale Computing
Giragadurai Vallirajan
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
Jack-Junjie Cai
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
David Currie
 
Application Centric Microservices from Redhat Summit 2015
Ken Owens
 
Public Cloud Workshop
Amer Ather
 
Transforming Legacy Applications Into Dynamically Scalable Web Services
Adam Takvam
 
Cloudify your applications: microservices and beyond
Ugo Landini
 
Microservices for java architects it-symposium-2015-09-15
Derek Ashmore
 
20141210 - Microservice Container
Jamie (Taka) Wang
 
Building Microservices Software practics
muhammed84essa
 
Integration in the Cloud, by Rob Davies
Judy Breedlove
 
Microservices Architecture
Srinivasan Nanduri
 
Accelerate DevOps/Microservices and Kubernetes
Rick Hightower
 
Cloud foundry presentation
Vipul Tope
 
Cloud Foundry Introduction and Overview
Andy Piper
 
Microservices pros and cons dark
Andrew Siemer
 
Adopting PCF At An Automobile Manufacturer
VMware Tanzu
 
Adopting PCF At An Automobile Manufacturer
Gregor Zurowski
 
Ad

Recently uploaded (20)

PDF
How Agentic AI Networks are Revolutionizing Collaborative AI Ecosystems in 2025
ronakdubey419
 
PDF
AWS_Agentic_AI_in_Indian_BFSI_A_Strategic_Blueprint_for_Customer.pdf
siddharthnetsavvies
 
PDF
Enhancing Security in VAST: Towards Static Vulnerability Scanning
ESUG
 
PDF
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
PDF
Salesforce Pricing Update 2025: Impact, Strategy & Smart Cost Optimization wi...
GetOnCRM Solutions
 
PPTX
Presentation about Database and Database Administrator
abhishekchauhan86963
 
PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
PPTX
Farrell__10e_ch04_PowerPoint.pptx Programming Logic and Design slides
bashnahara11
 
PPTX
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PDF
Step-by-Step Guide to Install SAP HANA Studio | Complete Installation Tutoria...
SAP Vista, an A L T Z E N Company
 
PDF
SAP GUI Installation Guide for Windows | Step-by-Step Setup for SAP Access
SAP Vista, an A L T Z E N Company
 
PDF
How to Download and Install ADT (ABAP Development Tools) for Eclipse IDE | SA...
SAP Vista, an A L T Z E N Company
 
PDF
System Center 2025 vs. 2022; What’s new, what’s next_PDF.pdf
Q-Advise
 
PPTX
Role Of Python In Programing Language.pptx
jaykoshti048
 
PDF
Virtual Threads in Java: A New Dimension of Scalability and Performance
Tier1 app
 
PDF
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
PDF
AI Image Enhancer: Revolutionizing Visual Quality”
docmasoom
 
PPTX
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
How Agentic AI Networks are Revolutionizing Collaborative AI Ecosystems in 2025
ronakdubey419
 
AWS_Agentic_AI_in_Indian_BFSI_A_Strategic_Blueprint_for_Customer.pdf
siddharthnetsavvies
 
Enhancing Security in VAST: Towards Static Vulnerability Scanning
ESUG
 
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
Salesforce Pricing Update 2025: Impact, Strategy & Smart Cost Optimization wi...
GetOnCRM Solutions
 
Presentation about Database and Database Administrator
abhishekchauhan86963
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
Farrell__10e_ch04_PowerPoint.pptx Programming Logic and Design slides
bashnahara11
 
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
Step-by-Step Guide to Install SAP HANA Studio | Complete Installation Tutoria...
SAP Vista, an A L T Z E N Company
 
SAP GUI Installation Guide for Windows | Step-by-Step Setup for SAP Access
SAP Vista, an A L T Z E N Company
 
How to Download and Install ADT (ABAP Development Tools) for Eclipse IDE | SA...
SAP Vista, an A L T Z E N Company
 
System Center 2025 vs. 2022; What’s new, what’s next_PDF.pdf
Q-Advise
 
Role Of Python In Programing Language.pptx
jaykoshti048
 
Virtual Threads in Java: A New Dimension of Scalability and Performance
Tier1 app
 
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
AI Image Enhancer: Revolutionizing Visual Quality”
docmasoom
 
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 

Microservices approach for Websphere commerce

  • 1. Micro services For Websphere Commerce (WCS) Hariharan Anantharaman @harianantha [email protected] https://www.linkedin.com/in/hariharan-anantharaman-64360218
  • 2. Micro Services- Characteristics  Flavor of SOA  Desperate services together forms a complete application.  Each service can scale up or down based on demand.  Instances of each services are load balanced separately.  Each service can have its own DB.  Driven by scalability provided by cloud platforms.  Developed to improve faster time to market, easier maintenance, zero downtime deployment  Requires change in team structure  Proposes each services to be deployed, scaled, maintained separately.  Each service is managed separately by separate team rather than big team managing big monolith applications  Pioneered by Netflix. –”Chaos Monkey”  Recommends smart end point and dumb transports. REST
  • 3. Why Micro Services  It takes SOA bit higher and reduces the risk of one Service breaking entire application.  Individual services can be scaled up or down easily. Helps in effectively managing costs by spending on what is needed and for what service.  Since every service is treated and managed as independent units, release cycle of one service can be different from other services. This helps is rolling out lot of features much faster than in a monolith application.  Enables incremental roll out of features.  Roll back is much faster ,fool proof and does not affect entire system.  Ensure reusability of the services across channels, business lines etc.  As it proposes services based team structure, in ideal world same team takes care of service enhancements and production fixes. This indirectly makes the developers to roll out quality code.  Enables zero downtime deployment.
  • 4. Need For micro services in Digital Commerce  As retailers move towards omni channel experience, service readiness and availability is the first step in that direction.  Helps business to try new features as services and roll them out ahead of the competition.  Supports sudden/seasonal spikes in traffic across different services.  Since it gives an option to deploy services in different geographies, it helps in both the performance and disaster recovery.  Instability of a service does not affect entire application and promises a better customer experience and retention.  Strengthens the API strategy of a retailer by reducing cost of ownership of individual services, service offering and very minimal or zero down time.
  • 5. Micro Service- Challenges , Pre Requisites Challenges  Identifying services – Functionality and Team size  Data consistency across different services  Migration of existing services of Monolith applications Pre Requisites  De coupled interfaces  Architecture to support scalability  Investment on Tools for automated deployment (Custom Scripts), monitoring (APM)  Tools stack for centralized log monitoring for maintenance like ELK(Elastic Search, Log Stash, Kibana)  Leveraging Tools, dashboards for PaaS,Containers  Fool proof Disaster recover. Fail early.  Consoliidated dash board to monitor all services and depict health of entire system.  Reliable Service Discovery (etcd, Consul, Hystrix)
  • 6. PaaS  PaaS : A cloud provider delivers hardware and software tools -- usually those needed for application development -- to its users as a service. A PaaS provider hosts the hardware and software on its own infrastructure. As a result, PaaS frees users from having to install in-house hardware and software to develop or run a new application.  PaaS functions at a lower level than SaaS, typically providing a platform on which software can be developed and deployed  PaaS provider to provide hardware, operating systems, middleware (such as databases, Web servers and so on) define user access or security, and then add the application to existing systems management or application performance monitoring (APM) tools. users only need to log in and start using the platform – usually through a Web browser interface.  Popular PaaS platforms are CloudFoundry, Heroku, Google App Engine  PaaS is built on top of virtualization technology. Businesses can requisition resources as they need them, scaling as demand grows, rather than investing in hardware with redundant resources.
  • 7. Cloud Foundry  Cloud Foundry is an open source cloud computing platform as a service (PaaS) originally developed by VMware and now owned by Pivotal Software - a joint venture by EMC, VMware and General Electric  Cloud Foundry Open Source Software (OSS).Available to anyone. Deploying this version of Cloud Foundry involves interfacing with the underlying infrastructure using the Cloud Foundry BOSH (bosh outer shell)deployment scripting language, another open source tool from Pivotal.  Pivotal Cloud Foundry (Pivotal CF).A commercial product available from Pivotal. It provides extra tools for installation and administration not included in the OSS product.  Pivotal Web Services (PWS). An instance of Pivotal Cloud Foundry hosted on Amazon Web Services (AWS).  Products like IBM Bluemix etc are built on CloudFoundry.  When an application is deployed to Cloud Foundry, an image is created for it and stored internally. The image is then deployed to a Warden container to run in. For multiple instances, multiple images are started on multiple containers. This is where BOSH comes in - Cloud Foundry's internal Controller uses BOSH to get the underlying infrastructure to spin up virtual machines to run the Warden containers on. When an application is terminated, all its VMs can be recycled for another application to use. If the application instance crashes, its container is killed and a new Warden container is started automatically. A container only ever runs one application ensuring isolation, security and resilience.  A load-balancing router sits at the front of Cloud Foundry to route incoming requests to the correct application - essentially to one of the containers where the application is running.
  • 8. Cloud Foundry  Applications deployed to Cloud Foundry access external resources via Services.  In a PaaS environment, all external dependencies such as databases, messaging systems, files systems and so on are Services.  When an application is pushed to Cloud Foundry, the services it should use also can be specified. Depending on the application language, auto-configuration of services is possible - for example a Java application requiring a MySQL database picks up the MySQL service on Cloud Foundry if it is the only one defined in the current space.  Services have to be deployed to the platform first and then are available to any application using it.  Advantage of Pivotal CF is that many pre-defined services can be deployed into it directly using the Administration Console.  Users of the Open Source Cloud Foundry must make services available by writing and running BOSH scripts.  PWS provides services thanks to a partnership arrangement with App Direct.  The following services are available to Pivotal CF and on PWS:  Data Storage: MySQL, PostgreSQL, MongoDB, Redis, Riak, DataStax (Cassandra), Neo4J, Pivotal HD (Hadoop)  Messaging: Pivotal RabbitMQ  Development: CloudBees Jenkins (Continuous Integration)  Mobile: API Gateway, Data Sync, Push Notifications (Pivotal proprietary services to support Mobile Apps).  Typically, Cloud Foundry is installed on-premises running over VMware's vSphere virtualization infrastructure, although deployment to OpenStack is an option using BOSH.[18]  It is also possible to run Cloud Foundry instances on VMware Fusion or Virtualbox using Vagrant and on AWS
  • 9. Containers  A container consists of an entire runtime environment: an application, plus all its dependencies, libraries and other binaries, and configuration files needed to run it, bundled into one package. By containerizing the application platform and its dependencies, differences in OS distributions and underlying infrastructure are abstracted away.  With virtualization technology, the package that can be passed around is a virtual machine and it includes an entire operating system as well as the application. A physical server running three virtual machines would have a hypervisor and three separate operating systems running on top of it.  By contrast a server running three containerized applications runs a single operating system, and each container shares the operating system kernel with the other containers. Shared parts of the operating system are read only, while each container has its own mount (i.e., a way to access the container) for writing. That means the containers are much more lightweight and use far fewer resources than virtual machines.  Popular containers Available are Dockers and rkt
  • 10. WCS Approach for Micro Services – My Thoughts WCS : Big monolith Ecommerce engine. Solution Options 1. Have Separate Rest.war for each service. Create EAR for each Rest WAR .It will have WCS jars etc required for run time. Deploy each service independently. Pros  No Extra overhead or network hops to access WCS run time.  Any REST feature capable with WCS can be managed as Micro Service Cons  Lot of Rest WAR files and tough to manage with out matured management model.  Changes in Core runtime will require re-deployment of all Rest WAR’s 2. Have the Core WCS platform running separately. Have new features which might not require core runtime developed as pure micro services .The Service can leverage core services as HTTP REST API calls Pros:  All micro services are light weight  If core platform changes, deployment complexity does not increase as the number of micro services.  Similar approach is used by Guardian on top of their existing monolith software. Cons  Core WCS run time having all features as REST is not are micro services.  Extra network hop to reach core WCS services.
  • 11. IaaS vs PaaS vs Containers – My Thoughts IaaS  Going of IaaS provide platform , OS and Services agnostic environment.  If a new tech stack is adapted, IaaS is helpful as compatibility of PaaS with new tech stack could take time.  If we do not have fine grained services or highly interdependent services, IaaS could be a better option. It gives technological independence and promises scalability as well.  Open Stack can be used to develop in house IaaS stack. PaaS  If we have matured technology stack and not much expertise on Infra setup , PaaS is the best fit.  Based on Open standards and vendors availability is high. Containers  Reduces the time to deploy changes from Dev to Prod and reduces deployment complexity across environment. More suitable for services with high velocity changes.  Compatibility in private cloud environment needs to be validated.  Only a few matured Container platforms.  Since it is recommended to run only one service in a container, it might tend to be expensive.  Popular PaaS and IaaS providers give Container services
  • 12. Micro services Use Cases in Commerce  Services to render content which are time bound like Festival pages, brand pages etc.  Account service.  Ancillary services like Rating and Reviews, blogs, education content etc.  Value added services which are not a core feature of commerce engine( e.g Personalization, room designer etc).
  • 13. References  http://martinfowler.com/articles/microservices.html  http://www.ibm.com/developerworks/cloud/library/cl-bluemix-microservices-in-action-part-1-trs/  http://www.ibm.com/developerworks/cloud/library/cl-bluemix-microservices-in-action-part-2- trs/index.html  http://netflix.github.io/  https://www.computenext.com/blog/when-to-use-saas-paas-and-iaas/  http://www.cio.com/article/2924995/enterprise-software/what-are-containers-and-why-do-you- need-them.html  https://en.wikipedia.org/wiki/Platform_as_a_service  http://searchcloudcomputing.techtarget.com/definition/Platform-as-a-Service-PaaS  http://www.networkcomputing.com/cloud-infrastructure/virtual-machines-vs-containers-a-matter- of-scope/a/d-id/1269190  http://www.networkcomputing.com/cloud-infrastructure/virtual-machines-vs-containers-a-matter- of-scope/a/d-id/1269190