January 2016 Summaries
2 posts from Nylas
Filter
Month:
Year:
Post Summaries
Back to Blog
At Nylas, the infrastructure team utilizes Ansible to manage server configurations with a unique "role-per-host" design, simplifying automation by reducing the need for multiple playbooks and running tasks hourly via ansible-pull. This approach emphasizes consistency and modularity, allowing for scalable and less error-prone infrastructure management. The system employs stub playbooks to run specific roles, which are assigned based on server tags and dependencies, ensuring that each server only runs relevant automation. This method mirrors the concept of wrapper cookbooks in Chef, promoting modularity and ease of sharing automation tasks. Additionally, Nylas has developed a tool called ansible-test, which leverages Docker to test Ansible playbooks and roles locally before deployment, enhancing reliability and reducing the risk of errors in production environments. The company is committed to extending ansible-test's capabilities and sharing their practices to benefit the broader community.
Jan 12, 2016
1,457 words in the original blog post.
The development of a new email client focused on creating a native, cross-platform experience for Windows, Mac, and Linux users, emphasizing the importance of creativity and customization akin to programs like Emacs and Photoshop. The team chose JavaScript for its vast developer community and modern capabilities, opting to build the client using Atom's framework, which combines NodeJS and Chromium, to leverage web technologies without being limited to a browser. To address performance challenges, particularly given the extensive DOM manipulation involved, React was utilized for its virtual DOM, which helps maintain a fast and stable user interface. The architecture employed a variant of the Flux pattern to ensure a structured and modular approach, promoting extensibility and preventing poor architectural decisions. This approach allows for unidirectional data flow and loose coupling between components, enhancing reliability and testability, with a focus on writing unit tests for both business logic and UI components, ultimately aiming to create a powerful and extensible email client.
Jan 12, 2016
1,167 words in the original blog post.