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

Open Source at Wongnai

Open Source at Wongnai

Codemania 110

Avatar for Manatsawin Hanmongkolchai

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