Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Open Source at Wongnai

Open Source at Wongnai

Codemania 110

Manatsawin Hanmongkolchai

November 25, 2017
Tweet

More Decks by Manatsawin Hanmongkolchai

Other Decks in Technology

Transcript

  1. Me • Manatsawin Hanmongkolchai • Junior Architect at Wongnai •

    Follow me on Medium at life.wongnai.com and blog.whs.in.th
  2. Where is Wongnai • We operate 126 vCPU (dynamically scaled)

    on Amazon EC2/RDS for production and development (incl. partner) use • 20 vCPU on Google Compute Engine for development use • All are in Singapore region
  3. Avoiding cloud lock-in • Suppose tomorrow Amazon announce that it

    will raises the price by 40% • Avoiding cloud lock-in means we could move to Google Cloud (or any other) easily • Even better if coupled with hybrid cloud solution
  4. Avoiding cloud lock-in • We have a policy not to

    use cloud services that is not replacable or disabled in our core systems ◦ RDS: Replaced by instance on GCE ◦ Elasticache: Replaced by instance on GCE ◦ X-Ray: Disabled on GCP ◦ Kubernetes Engine: Replaced by Kops
  5. Avoiding cloud lock-in • Use open source software alternatives for

    critical services: ◦ ECS -> Kubernetes ◦ SQS -> RabbitMQ
  6. Avoiding cloud lock-in • But sometimes it can be very

    expensive to build your own, so using cloud services is better ◦ S3: Replacable, but instance disk space is more expensive ◦ Load balancer: Replacable by instances ◦ SES: Replacable by mail server, but poor deliverability
  7. Avoiding cloud lock-in Pros • Migrate between cloud providers easily

    when needed • Resistant to hostile changes from cloud provider • More visibility Cons • Need to manually manage service • Can be more expensive
  8. What we do • Our most popular project: kube-slack •

    Thumbor-text-filter, key of our new Chatbot experience • Patches to softwares we use • We're working on putting our internal tools out there
  9. Why open sourcing? • Why not? It's not your core

    business anyway • Free improvements and testing (bug reports)
  10. Why open sourcing? When you open source useful code, you

    attract talent. Every time a talented developer cracks open the code to one of your projects, you win. Tom Preston-Werner GitHub Co-founder
  11. Improve your code quality • When writing any code, always

    think that it will be open sourced ◦ Don't couple it with internal infrastructure/components that you don't intend to open source ◦ Produce maintainable code
  12. Improve your code quality • Contributing patches to projects help

    you improve yourself ◦ Learn from maintainer's code review ◦ Study unfamiliar, large scale codebase ◦ Get to know the inner working of your system
  13. Side story: my first PR • My first PR was

    to Symfony/Process (PHP library) back in 2014 • A simple three lines duck typing fix for reading zero
  14. Signing CLA Many projects require a CLA to be signed

    CLA assigns the copyright of your contribution to the host organization.
  15. Summary • Open source infrastructure keep vendor lock-in away •

    Build your company's resume with open source • Giving back make a healthy open source community