JSJ BONUS: Web Apps on Linux with Jeremy Likness and Michael Crump
JavaScript Jabber12 Syys 2017

JSJ BONUS: Web Apps on Linux with Jeremy Likness and Michael Crump

Tweet this episodeJSJ BONUS: Web Apps on Linux with Jeremy Likness and Michael CrumpIn this episode Aimee Knight and Charles Max Wood discuss Microsoft's Web Apps on Linux offering with Jeremy Likness and Michael Crump.[00:37] Michael Crump IntroductionMichael is on the developer experience team for Azure.[00:52] Jeremy Likness IntroductionJeremy is on the cloud developer advocacy team. Their mission is to remove friction and support developers and work with teams to build a positive experience.The NodeJS team is headed up by John Papa. They have teams around the world and involved in many open source communities.They're focused on building documentation and creating great experiences[02:54] What is it about Azure that people should be getting excited about?Azure is a huge platform. It can be overwhelming. They're trying to help you start with your problem and then see the solution as it exists on Azure.Azure is growing to embrace the needs of developers as they solve these problems.The experience is intended to be open and easy to use for any developer in any language on any platform. It allows you to work in whatever environment you want.Standing up applications in production is tough. Azure provides services and facilities (and interfaces) that make it easy to manage infrastructure.You don't have to be an operations expert.Chuck mentions this messaging as he heard it at Microsoft Connect() last year.It's not about bringing you to .NET. It's about making it easy where you're at.Aimee adds that as a new-ish person in the community and Azure excites her because the portal and tutorials are easy to follow for many new programmers.A lot of these features are available across command lines, tools, and much more.The documentation is great. See our interview with Dan Fernandez on the Microsoft Docs. [12:04] Web Apps on LinuxWeb application as a service offering from Microsoft. I don't need to worry about the platform, just what's different about my application.Web Apps has traditionally been on Windows. Web Apps on Linux is in preview.You can choose the size of your infrastructure. You only get billed for what you use and can scale up.Setting up multiple servers, managing synchronization and load balancing is a pain. Web Apps gives you a clean interface that makes this management easy.You can also scale across multiple datacenters around the world.[15:06] Why Linux? What's hard about Windows?Node was originally created on Linux and many tools run nicely on Linux. It was later ported to Windows.The toolchains and IDE's and build processes is in an ecosystem that is targeted more toward Linux than Windows.This allows people to work in an environment that operates how they expect instead of trying to map to an underlying Windows kernel.Aimee gives the example of trying to set up ImageMagick on Windows.Web Apps on Linux also allows you to build integrations with your tools that let you build, test, and deploy your application automatically.[19:12] Supported RuntimesWeb Apps on Linux supports Node, PHP, Ruby, and .NET Core.You can run a docker container with Node up to 6.x. If you want Node 7.x and 8.x you can create your own Docker container.Web Apps on Linux is build on Docker.The containers also have SSH, so developers can log into the docker container and troubleshoot problems on the container.If you can build a container, you can also run it on this service.At certain levels, there's automatic scaling.[22:06] Consistency between containers? Shared ownership of state or assetsIt depends on how you build your app. The Docker containers have a shared storage where all the containers have access to the same data and state.There's a system called kudu that makes this really simple.You can also pull logs across all systems.You can also use SSH in the browser[25:23] What's painful about Linux and containers?How is the application built and how does it manage state so that you can isolate issues.If you have 20 containers, can you connect to the right one.It's up to you to manage correlation between containers so you can find the information you need.Knowing your traffic and understanding what to do to prepare for it with scaling and automation is sometimes more art than science.[28:28] How should you manage state?A lot of these systems lend themselves to running stateless, but you don't want to run mongodb on each container versus running one mongodb instance that everything attaches. You want a common place to store data for the entire app for shared state.[30:34] CosmosDB (was DocumentDB)It's an API equivalent to MongoDB. It's a database as a service and you can connect your containers to the CosmosDB in Azure using your portal to make it super easy.You may need to open up some firewall rules, but it should be pretty straightforward.[34:14] Third Party Logging Management AppsAzure has a service that provides metrics (Application Insights) and a logging service. Many other companies use elasticsearch based solutions that solve some of these problems as well.[36:06] How do people use Web Apps on Linux?Companies building new applications many times want to run without managing any infrastructure. So, they use Azure Functions, and other services on Azure.Lift and shift: Take a virtual machine and change it into a web app container that they can run in the cloud. They also move from SQL Server on a server to SQL Server on the cloud. Moving from hosted MongoDB to CosmosDB.You can also use any images on DockerHub.[40:06] Continuous Integration and Continuous DeploymentWhether you're using a private registry or cloud registry. When you publish a new image, it'll use a webhook to pull the custom image and deploy it. Or to run it through Continuous Integration and then deploy it without any human interaction.Chuck mentions the case when you haven't logged into a server for a while, there's a huge backlog of system updates. Updating your container definitions makes upkeep automatic.[42:02] Process files and workers with PM2 formatYou can set up instances to run across cores with the PM2 definitions. You can also make it run various types of workers on different containers.Why did you use PM2? What other uses are there for this kind of setup?You can tell it which processes to start up on boot. You can also have it restart processes when a file is changed, for example, with a config file you can have it restart the processes that run off that config file.[45:38] How to get startedGetting started with Nodedocs.microsoft.comTrial account with a few hundred dollars in Azure credit.Michael's LinksJeremy's LinksPicksAimee
  • Having a little bit of mindfulness while waiting on code and tests to run.
JoeChuckJeremyMichaelSpecial Guests: Jeremy Likness and Michael Crump.

Support this podcast at — https://redcircle.com/javascript-jabber/donations

Privacy & Opt-Out: https://redcircle.com/privacy

Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

Jaksot(735)

TypeScript Success: Integration, Type Checking, and Generics  - JSJ 660

TypeScript Success: Integration, Type Checking, and Generics - JSJ 660

In this episode, Dan sits down with TypeScript expert Matt Pocock to dive deep into the world of TypeScript migration, learning curves, and developer challenges. They explore why having a TypeScript "wizard" is crucial for teams transitioning from JavaScript and how TypeScript's integration with development environments like Visual Studio Code has been a game changer.Dan and Matt discuss the importance of real-time typechecking, the community's role in TypeScript's success, and practical strategies for migrating large codebases to TypeScript. You'll hear about Matt's journey from drama school to becoming a DevRel expert, his contributions to the XState library, and his philosophy of type-driven development. Together, they highlight TypeScript's advantages, such as enhanced code reliability and the nuanced benefits of explicit vs. inferred types.Whether you're a seasoned developer or just starting with TypeScript, this episode offers valuable insights and actionable advice to help you harness the full power of static typing in your projects. Tune in for a fascinating discussion that underscores the value of "boring" code, the need for continual learning, and the ongoing evolution of software development practices. Stay with us as we unravel the intricacies of TypeScript and share practical tips to elevate your coding journey.SocialsLinkedIn: Matt PocockBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

3 Joulu 20241h 20min

React and Beyond: The Importance of Learning DOM APIs - JSJ 659

React and Beyond: The Importance of Learning DOM APIs - JSJ 659

In today's episode, Charles, AJ and Steve are joined by guests Corey Brown for a rich discussion on the importance of understanding foundational concepts in software development. They explore the balance between leveraging high-level frameworks like React and the necessity of grasping the underlying technologies to troubleshoot effectively and build robust applications. They emphasize the value of comprehending core language features to write better software and solve problems efficiently. Corey reflects on the passion within the software development community and the hidden costs of over-relying on third-party dependencies like the infamous "left pad" incident.As the conversation unfolds, they debate whether sticking to frameworks or delving into deeper technologies leads to long-term success. They share practical insights on the benefits of reading source code, continuously learning, and the significance of core platform APIs. Additionally, the episode includes light-hearted "picks" from the panelists, including humorous resources and personal anecdotes. Join them as they dissect these critical perspectives and share valuable advice for both novice and seasoned developers alike. Let's get started!PicksAJ - Grug BrainAJ - Creeds of CraftsmanshipAJ - AJQuery v3.0.3Cory - Palm Paradise #206Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

26 Marras 20241h 23min

New Horizons in Web Development with Danny Moerkerke - JSJ 658

New Horizons in Web Development with Danny Moerkerke - JSJ 658

In today's jam-packed episode, Charles, AJ, and Dan, along with special guest Danny Moerkerke, a seasoned freelance JavaScript web developer from Amsterdam.  They dive deep into the fascinating world of web development, focusing on the capabilities and future of Progressive Web Apps (PWAs), comparing them to native apps, and discussing the technical intricacies involved.AJ shares his latest project on passkeys and the challenges of transitioning clients, while Dan gives us a glimpse into his social media habits and movie recommendations. Danny enlightens us with his experiences at IKEA and his passion for web components, PWAs, and crucial APIs like the Wake Lock and Background Sync.They explore the complex interplay between service workers, caching for offline functionality, and the barriers to widespread PWA adoption, particularly on iOS. Plus, they dive into practical applications of these technologies, from gaming to improving podcast accessibility for offline listening.So, tune in as they unravel the technical hurdles, share insightful demos, and debate the future of web and native app development. It's an episode packed with knowledge, practical advice, and a bit of fun along the way!SocialsLinkedIn: Danny MoerkerkeBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

19 Marras 20241h 27min

Structuring Node.js Applications: Event Loop, Metrics, and Efficient Processing Techniques

Structuring Node.js Applications: Event Loop, Metrics, and Efficient Processing Techniques

In this episode, they dive deep into the essential practices and principles for successful Node.js development.  AJ and Dan are joined by special guests Michael Dawson, James Snell, and Matteo Collina. They bring a wealth of expertise and experience to the table, discussing key topics like experimental tech with existing web standards, managing updates with LTS releases, and the fundamental pillars of Node.js, including the critical concept of "not blocking the event loop."They explore the consequences of blocking the event loop, real-world insights into performance issues, and the importance of efficient task handling. They also share their wisdom on utilizing multi-threading, scaling applications, best practices for dependency management, and the significance of regular updates to maintain security and performance.Additionally, they touch on some fascinating side discussions, such as AI's role in coding, the evolution of package management, and the importance of intentional coding practices. There's even a bit of personal insight with recommendations for exciting Netflix series and real-world anecdotes about Node.js conferences and testing frameworks.Join them as they unravel these topics and more, guiding you through advanced Node.js SocialsLinkedIn: James SnellLinkedIn: Michael DawsonLinkedIn: Matteo CollinaLinksThe Nine Node Pillars: 9  Principles for Doing Node.js Right in Enterprise EnvironmentsThe Nine Node Pillars | 9 principles for doing Node.js right in enterprise environments - YouTubePicksDan - Monsters: The Lyle and Erik Menendez StoryDan - The WordPress drama explainedMichael - bee-agent-frameworkJames - NodeConf EUBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

12 Marras 20241h 44min

Stimulus and Turbo in Web Development - JSJ 656

Stimulus and Turbo in Web Development - JSJ 656

Dive into the dynamic world of JavaScript frameworks with this week's episode of JavaScript Jabber! Join Charles, AJ, Dan and Steve as they explore Hotwire, Stimulus, and Turbo—tools that are transforming how developers build fast, responsive web applications. They discover the evolution from Turbo Links to Turbo Drive, learn how these technologies enhance page rendering speeds by updating only changed elements, and understand their seamless integration in Rails applications. The discussion also touches on practical implementations using Turbo frames and streams for efficient DOM manipulation. Additionally, they dive into the benefits of partial page updates for improved performance and talk about the insights into integrating Stimulus for fine-grained control over client-side interactions. They also explore the parallels between modern frameworks like React or Angular with traditional approaches.Tune in to uncover how you can leverage these tools to optimize your development workflow!SocialsLinkedIn: Charles WoodPicksAJ - The Fall Guy 4k + Extended CutAJ - Passkeys DemoBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

5 Marras 20241h 26min

Understanding, Confidence, and Humility in Web development - JSJ 655

Understanding, Confidence, and Humility in Web development - JSJ 655

Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

29 Loka 20241h 19min

Exploring Local-First Applications and Data Synchronization Challenges: Part 1 - JSJ 654

Exploring Local-First Applications and Data Synchronization Challenges: Part 1 - JSJ 654

Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

22 Loka 20241h 35min

Slaughtering Sacred Cows: Reconsidering Software Dev Truisms - JSJ 653

Slaughtering Sacred Cows: Reconsidering Software Dev Truisms - JSJ 653

Charles and Dan dive deep into the world of programming languages, development practices, and the trade-offs that shape our daily coding lives. Joining them is special guest Tomer Gabel, an experienced backend engineer, and consultant.In this episode, they unpack the productivity benefits and challenges of using Rails, deliberate on the pros and cons of dynamic languages, and explore the fascinating topic of convergent evolution in programming ecosystems. They also discuss TypeScript's value proposition, the intricacies of static typing, and the sometimes controversial principles of "clean code." Get ready for an engaging conversation packed with expert insights, practical advice, and a few surprising takeaways. Let’s get started!SponsorBlue HostSocialsLinkedIn: Tomer GabelBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

15 Loka 20241h 45min

Suosittua kategoriassa Liike-elämä ja talous

sijotuskasti
psykopodiaa-podcast
mimmit-sijoittaa
rss-rahapodi
herrasmieshakkerit
ostan-asuntoja-podcast
hyva-paha-johtaminen
taloudellinen-mielenrauha
sijoituskaverit
rss-rahamania
rss-lahtijat
rss-sisalto-kuntoon
rss-lentopaivakirjat
leadcast
rss-huomisen-talous
rss-merja-mahkan-rahat
rss-paasipodi
kasvun-kipuja
rss-startup-ministerio
rss-bisnesta-bebeja