Duplo World
Keith Brooks - CIO
keith@crgolaw.com
@lotusevangelist
Conference
Session 2858
1
Brooks?
Fractional
CIO
Chief
Whisperer
Redbooks
Thought
Leader
IBM
Champion
X6
2
https://www.cloudave.com/14675/the-evolution-of-it-towards-cloud-computing/ 3
Have you broken any of your Client/Server
architecture down yet?
Do your developers workflow charts look like a
skyscraper blueprint?
Do you rely on more “outside” applications than
internal ones?
World?LEGO
4
https://pmcdeadline2.files.wordpress.com/2017/02/the-big-bang-theory-lego.jpg?w=446&h=299&crop=1
https://www.finedininglovers.com/blog/out-of-the-blue/lego-foods/
http://www.geeksaresexy.net/2012/08/22/darth-vader-lego-needs-
beer-pic/
Like it
5
• Not quite the same feeling or time required
• One can not really test an API or a piece of code
in the time it takes to eat a doughnut
“..when it comes to the length of a Free Trial, many
people want to believe there is a magic number –
7, 14, 15, 30, 45, 60, 90..” – Lincoln Murphy
https://sixteenventures.com/ideal-free-trial-length
6
IBM Cloud Includes a Few Things
7
IBM Cloud (Bluemix) Includes a Few Things #2
8
IBM Cloud (Bluemix) Includes a Few Things #3
9
(Ok, 5 out of 7)
Layers
XX
10
• Still a server, but YOU don’t manage it
• Not to be confused with headless servers
• FaaS (Function as a Service)
Server?
vs.
11
• IBM Cloud Functions (based on Apache
OpenWhisk) is a FaaS platform which
executes functions in response to incoming
events
• It costs nothing when not in use.
• The FaaS executes application logic but does
not store data.
Server?
12
App
http://cloudswithcarl.com/blog/2016/07/08/start-with-serverless-computing-on-ibm-cloud-part-1/
13
• Developers have freedom to independently develop and deploy
services, make use of newer technologies, easy to modify
• Can be developed by a fairly small team
• Code for different services can be written in different languages
• Easy integration and automatic deployment
• Code is organized around business capabilities
• Starts the web container more quickly, so deployment is faster
• When change is required in a certain part of the application, only
the related service needs to be modified and redeployed
• If one microservice fails, the other will continue to work
• Easier to scale and integrate with third-party services
• No long-term commitment to technology stack 14
• Testing can be complicated and tedious with some many parts
• Architecture brings developers issues like mitigating fault
tolerance, network latency, load balancing, varied message
formats
• As it grows, integration and managing the application can become
complicated
• Developers have to plan for communication between the services
• Situations may require communication and cooperation between
different teams
• The architecture usually results in increased memory consumption
• Partitioning the application into microservices is very much an art
at present 15
One server does everything, but is also the single
point of failure
When microservices are broken down, they all
become a point of failure to the server.
Have you coded for failover or secondary
services for, not if, but when, the service
dies/drops?
Failure
16
High Level remember to think about:
1)Design for a collection of services
2)Separate the data
3)Communications between components
4)Design for performance and scaling
5)Security starts within the application
6)Monitor all the pieces
17
18
AppDynamics
I was impressed by
their solution in
the showcase
IBM Cloud https://www.ibm.com/cloud/solutions/
Sign up for an IBM Cloud Lite Account! https://ibm.biz/BdZqwA
App Dynamics https://www.appdynamics.com/
Erin Mckean, IBM Developer Advocate
https://github.com/emckean/serverless-for-managers-lab
Links?
19LEGO Slides from www.SlideHunter.com used under
Keith Brooks - CIO
CRGO Law
keith@crgolaw.com
@lotusevangelist
20

I'm a LEGO Man Living in a Duplo World