Decomposing Lithium's Monolith
with Kubernetes and OpenStack
Lachlan Evenson
Cloud Platform Team Lead
@LachlanEvenson
Agenda
▪ Share our journey to container-based
microservices.
About Lithium Technologies
▪ Our platform helps brands connect, engage
and understand their customers.
Containers, VMs and OpenStack
▪ The issue is not Containers vs VMs
▪ Honestly - our engineering team couldn’t
care less
▪ It’s about the right tool for the job
▪ When to use which one?
How was the cloud being consumed
▪ Had we delivered on the promise of the
cloud?
▪ Containers offered the promise of simplified
packaging and deployment to the cloud
▪ Developer lead
Should you split the monolith?
▪ What did the monolith actually provide?
▪ All new services to be deployed using and
end-to-end container pipeline
Getting off the ground
▪ Be incremental
▪ Do not boil the ocean
You can’t containerize everything
▪ That’s a myth but consider what makes
sense
▪ Not just for “stateless” web front-ends
▪ Developers asked us to containerize the
most complex microservices first
Why Kubernetes?
▪ Little engineering effort and no additional
capex
▪ Docker primitives
▪ OpenStack filled the container gaps
provided a platform to innovate
Why Kubernetes cont.
▪ Cross cloud-platform support
▪ Use AWS and an AZ
▪ How did we deploy?
• AWS CloudCoreo - http://bit.ly/1M15vHB
The implications of running containers
▪ Demands that you rethink everything
• Logging
• Monitoring
• Secrets, config management
• Try not to create container anti-patterns
The results
▪ Time spent on infra versus features
▪ Single automatable pattern including CI/CD
▪ Infrastructure tools could follow the same
pattern
▪ AWS even acknowledges the problem
The results cont.
▪ Higher code coverage
▪ Smaller PRs
▪ Complex deployment options have been
simplified
▪ Canary releases and Rolling-upgrades and
Rollbacks
Thank You
@LachlanEvenson

Decomposing Lithium's Monolith with Kubernetes and OpenStack

  • 1.
    Decomposing Lithium's Monolith withKubernetes and OpenStack Lachlan Evenson Cloud Platform Team Lead @LachlanEvenson
  • 2.
    Agenda ▪ Share ourjourney to container-based microservices.
  • 3.
    About Lithium Technologies ▪Our platform helps brands connect, engage and understand their customers.
  • 4.
    Containers, VMs andOpenStack ▪ The issue is not Containers vs VMs ▪ Honestly - our engineering team couldn’t care less ▪ It’s about the right tool for the job ▪ When to use which one?
  • 5.
    How was thecloud being consumed ▪ Had we delivered on the promise of the cloud? ▪ Containers offered the promise of simplified packaging and deployment to the cloud ▪ Developer lead
  • 6.
    Should you splitthe monolith? ▪ What did the monolith actually provide? ▪ All new services to be deployed using and end-to-end container pipeline
  • 7.
    Getting off theground ▪ Be incremental ▪ Do not boil the ocean
  • 8.
    You can’t containerizeeverything ▪ That’s a myth but consider what makes sense ▪ Not just for “stateless” web front-ends ▪ Developers asked us to containerize the most complex microservices first
  • 9.
    Why Kubernetes? ▪ Littleengineering effort and no additional capex ▪ Docker primitives ▪ OpenStack filled the container gaps provided a platform to innovate
  • 10.
    Why Kubernetes cont. ▪Cross cloud-platform support ▪ Use AWS and an AZ ▪ How did we deploy? • AWS CloudCoreo - http://bit.ly/1M15vHB
  • 11.
    The implications ofrunning containers ▪ Demands that you rethink everything • Logging • Monitoring • Secrets, config management • Try not to create container anti-patterns
  • 12.
    The results ▪ Timespent on infra versus features ▪ Single automatable pattern including CI/CD ▪ Infrastructure tools could follow the same pattern ▪ AWS even acknowledges the problem
  • 13.
    The results cont. ▪Higher code coverage ▪ Smaller PRs ▪ Complex deployment options have been simplified ▪ Canary releases and Rolling-upgrades and Rollbacks
  • 14.

Editor's Notes

  • #3 There’s a lot of hype. It’s important to be onboard so that you can shape your journey as the container ecosystem matures. Encourage dialogue It’s not as hard as you may think You can leave and apply to your situation Why not use the platform to innovate
  • #5 Our primary motivation we to enable the developers I want to shed some light on how we moved forward and the decisions we made.
  • #7 It was less about technology and more about enabling developers Moving the problem Not every monolith should be broken apart - automated, CI/CD. Monolith was built on certain assumptions There’s a cost to refactor Make sure the decision provides business value
  • #8 It was a bumpy ride. It wasn’t all sunshine and lollipops Base images, config management, secrets management, logging, monitoring
  • #9 It was less about technology and more about enabling developers
  • #10 Developer problem aside you may have the best VM orchestration in the world Opportunity to get web-scale. Better apps, scaling Influence the journey Simplification of our infrastructure.
  • #13 App deployments went from 3 months to less that 15 minutes. Visual editing tool for templates