Decomposing Lithium's Monolith with Kubernetes and OpenStack

14
Decomposing Lithium's Monolith with Kubernetes and OpenStack Lachlan Evenson Cloud Platform Team Lead @LachlanEvenson

Transcript of Decomposing Lithium's Monolith with Kubernetes and OpenStack

Page 1: Decomposing Lithium's Monolith with Kubernetes and OpenStack

Decomposing Lithium's Monolith with Kubernetes and OpenStack

Lachlan EvensonCloud Platform Team Lead@LachlanEvenson

Page 2: Decomposing Lithium's Monolith with Kubernetes and OpenStack

Agenda

▪ Share our journey to container-based microservices.

Page 3: Decomposing Lithium's Monolith with Kubernetes and OpenStack

About Lithium Technologies

▪ Our platform helps brands connect, engage and understand their customers.

Page 4: Decomposing Lithium's Monolith with Kubernetes and OpenStack

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?

Page 5: Decomposing Lithium's Monolith with Kubernetes and OpenStack

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

Page 6: Decomposing Lithium's Monolith with Kubernetes and OpenStack

Should you split the monolith?

▪ What did the monolith actually provide?▪ All new services to be deployed using and

end-to-end container pipeline

Page 7: Decomposing Lithium's Monolith with Kubernetes and OpenStack

Getting off the ground

▪ Be incremental▪ Do not boil the ocean

Page 8: Decomposing Lithium's Monolith with Kubernetes and OpenStack

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

Page 9: Decomposing Lithium's Monolith with Kubernetes and OpenStack

Why Kubernetes?

▪ Little engineering effort and no additional capex

▪ Docker primitives▪ OpenStack filled the container gaps

provided a platform to innovate

Page 10: Decomposing Lithium's Monolith with Kubernetes and OpenStack

Why Kubernetes cont.

▪ Cross cloud-platform support▪ Use AWS and an AZ▪ How did we deploy?

• AWS CloudCoreo - http://bit.ly/1M15vHB

Page 11: Decomposing Lithium's Monolith with Kubernetes and OpenStack

The implications of running containers

▪ Demands that you rethink everything• Logging• Monitoring• Secrets, config management• Try not to create container anti-patterns

Page 12: Decomposing Lithium's Monolith with Kubernetes and OpenStack

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

Page 13: Decomposing Lithium's Monolith with Kubernetes and OpenStack

The results cont.

▪ Higher code coverage▪ Smaller PRs▪ Complex deployment options have been

simplified▪ Canary releases and Rolling-upgrades and

Rollbacks

Page 14: Decomposing Lithium's Monolith with Kubernetes and OpenStack

Thank You

@LachlanEvenson