Slides from the May 20th workshop at the Seattle Node.js Meetup presented by Shubhra Kar titled: "Develop, Deploy, Monitor and Hyper-scale REST APIs Built in Node.js"
OpenSource API Server based on Node.js API framework built on supported Node.js platform with Tooling and DevOps. Use cases are Omni-channel API Server, Mobile Backend as a Service (mBaaS) or Next Generation Enterprise Service Bus. Key functionality include built in enterprise connectors, ORM, Offline Sync, Mobile and JS SDKs, Isomorphic JavaScript and Graphical API creation tool.
The document discusses the need for an API tier to support the growing demand for mobile applications and discusses how StrongLoop's Node.js and LoopBack platform can be used to build such an API tier to connect mobile and web applications to backend services and data sources in a highly scalable and performant manner. It provides an overview of StrongLoop's Node.js platform and LoopBack API framework and related DevOps tools for building, managing and monitoring Node.js and mobile backends.
Getting Started with the Node.js LoopBack APi FrameworkJimmy Guerrero
These slides are from the May 22, 2015 webinar with Shubhra Kar where he gave an overview of the architecture and features of the Node.js LoopBack framework for building APIs.
Picking the Right Node.js Framework for Your Use CaseJimmy Guerrero
Picking the Right Node.js Framework for Your Use Case with Shubhra Kar.
Topics covered in this webinar:
* Understanding the evolution of frameworks by design patterns
* Express
* Hapi
* Sails.js
* LoopBack.io
* Microservices
* IoT
LoopBack is an open source API framework built on top of Express optimized for mobile and web. Connect to multiple data sources, write business logic in Node.js, glue on top of your existing services and data, connect using JS, iOS & Android SDKs.
Rapid API Development with LoopBack/StrongLoopRaymond Camden
This document discusses how the speaker used to develop websites by focusing heavily on an application server that handled all database access, HTML generation, and other tasks, while the client-side was limited. Now, with improved client-side capabilities and the rise of mobile apps, the speaker focuses on building APIs with Node.js frameworks like Express and LoopBack that allow clients to directly access and render data without heavy server-side processing. The speaker demonstrates how to quickly create RESTful APIs and applications with LoopBack.
Node's Event Loop From the Inside Out - Sam Roberts, IBMNodejsFoundation
Do you think Node is asynchronous because it uses a thread pool for network interactions? Do you there is a relationship between "event emitters" and the "event loop"? I will be working through these misaprehensions as well as others, showing how the Node.js event loop really works. There are many, many pictures and blogs on this topic, but many of them are subtly wrong, or outright misleading. Despite that its event loop that is key to Node's scalability and performance, it remains a misunderstood black box to many. I will show how it works - C code may be seen! - talk about why it works that way, and what some of the implications are for Node developers, as well as briefly describe some changes that the Node core team are considering with respect to how Node uses libuv.
Building a Node.js API backend with LoopBack in 5 MinutesRaymond Feng
LoopBack is an open source API framework built on top of Express optimized for mobile and web. Connect to multiple data sources, write business logic in Node.js, glue on top of your existing services and data, connect using JS, iOS & Android SDKs.
OpenSource API Server based on Node.js API framework built on supported Node.js platform with Tooling and DevOps. Use cases are Omni-channel API Server, Mobile Backend as a Service (mBaaS) or Next Generation Enterprise Service Bus. Key functionality include built in enterprise connectors, ORM, Offline Sync, Mobile and JS SDKs, Isomorphic JavaScript and Graphical API creation tool.
The document discusses the need for an API tier to support the growing demand for mobile applications and discusses how StrongLoop's Node.js and LoopBack platform can be used to build such an API tier to connect mobile and web applications to backend services and data sources in a highly scalable and performant manner. It provides an overview of StrongLoop's Node.js platform and LoopBack API framework and related DevOps tools for building, managing and monitoring Node.js and mobile backends.
Getting Started with the Node.js LoopBack APi FrameworkJimmy Guerrero
These slides are from the May 22, 2015 webinar with Shubhra Kar where he gave an overview of the architecture and features of the Node.js LoopBack framework for building APIs.
Picking the Right Node.js Framework for Your Use CaseJimmy Guerrero
Picking the Right Node.js Framework for Your Use Case with Shubhra Kar.
Topics covered in this webinar:
* Understanding the evolution of frameworks by design patterns
* Express
* Hapi
* Sails.js
* LoopBack.io
* Microservices
* IoT
LoopBack is an open source API framework built on top of Express optimized for mobile and web. Connect to multiple data sources, write business logic in Node.js, glue on top of your existing services and data, connect using JS, iOS & Android SDKs.
Rapid API Development with LoopBack/StrongLoopRaymond Camden
This document discusses how the speaker used to develop websites by focusing heavily on an application server that handled all database access, HTML generation, and other tasks, while the client-side was limited. Now, with improved client-side capabilities and the rise of mobile apps, the speaker focuses on building APIs with Node.js frameworks like Express and LoopBack that allow clients to directly access and render data without heavy server-side processing. The speaker demonstrates how to quickly create RESTful APIs and applications with LoopBack.
Node's Event Loop From the Inside Out - Sam Roberts, IBMNodejsFoundation
Do you think Node is asynchronous because it uses a thread pool for network interactions? Do you there is a relationship between "event emitters" and the "event loop"? I will be working through these misaprehensions as well as others, showing how the Node.js event loop really works. There are many, many pictures and blogs on this topic, but many of them are subtly wrong, or outright misleading. Despite that its event loop that is key to Node's scalability and performance, it remains a misunderstood black box to many. I will show how it works - C code may be seen! - talk about why it works that way, and what some of the implications are for Node developers, as well as briefly describe some changes that the Node core team are considering with respect to how Node uses libuv.
Building a Node.js API backend with LoopBack in 5 MinutesRaymond Feng
LoopBack is an open source API framework built on top of Express optimized for mobile and web. Connect to multiple data sources, write business logic in Node.js, glue on top of your existing services and data, connect using JS, iOS & Android SDKs.
A short talk delivered at Milan MEAN meetup, where I discuss shortcomings of existing REST API frameworks and explaining how LoopBack solves them for you.
StrongLoop Node.js API Security & Customizationjguerrero999
API fine grained Authorization using Roles and ACLs in LoopBack
Connecting authentication to the front end
Third party and social (facebook, twitter) logins using OAuth2
Adding Node middleware for proxying, authentication, and traffic throttling
This document describes a web application framework called Loopback that can be used to build APIs and web services. It discusses key Loopback features like models, remote methods, middleware, ACLs, and generating SDKs. Models are defined using simple JSON and JavaScript files. Remote methods add logic to models. Middleware can be used to add common functionality. ACLs control access. SDKs can be generated to consume the API in client-side code like Angular apps. The document provides code examples and recommends Loopback for its simplicity and power over building APIs from scratch.
Everyone has written an API of some sort whether they know it or not. Many people might snap in a quick end point or two into their website that returns JSON or XML to support some simple front end validation or dynamic interactions. This is a loose API for the most part and if it solves the problem – great. Other folks might stand up a whole solution that is dedicated to supporting some disconnected clients like ios apps, android apps, or full blown SPA style javascript apps.
This second style of API is usually versioned separate from the consumers of it. And is most likely deploying at a different cadence from the client apps that are dependent on it. Also, when writing a rich API there are generally many concerns that one must take into account such as authentication and authorization, versioning of the contract between the client and the API, rate throttling, caching, etc. And if you are deploying API’s as different domains for a product suite, or as granular microservices, then you also need a way to uniformly present a consolidated API to the world. Analytics and reporting usually come into play as well.
For each of these concerns you could easily write some code (likely an extensive amount of it) to solve the problem. However, I find that letting my API worry about the business problem that it is trying to solve, and nothing else, makes iterating on my applications much less painful. For that reason I have turned to using infrastructure and 3rd party apps to solve many of these problems – with little to no code!
In this post we will take a look at proxys and gateways and some of the features that they expose to you. In future posts we will dig a little deeper into each of them and do more of an in depth comparison.
This document discusses Azure Static Web Apps, which provides globally distributed static content, integrated API support through Azure Functions, and automatic building and deployment of full stack web apps. It can support authentication/authorization and is easily scaled. The document demonstrates creating an Angular-based static web app using Cosmos DB for storage, Azure Functions for APIs, and Application Insights for monitoring.
Five Ways to Scale your API Without Touching Your Code3scale
Five ways to scale an API without changing code:
1. Optimize API design by removing unnecessary methods and structuring methods to match use cases.
2. Add aggregate methods to reduce calls to base methods.
3. Implement rate limiting to reduce load and encourage efficient code.
4. Offboard caching and processing to clients to reduce server load.
5. Provide SDKs to encode best practices and optimize client code patterns.
Together these techniques can significantly improve scaling by managing load through changes to API structure and client behavior rather than requiring code changes.
Microservices Architecture for Web Applications using AWS Lambda and moreMitoc Group
The document provides an overview of using microservices architecture for web applications on AWS. It discusses the challenges of traditional monolithic architectures and reference architectures. It then introduces serverless and microservices architectures as alternatives that can provide increased scalability, reduced complexity, and lower costs using AWS services like Lambda, API Gateway, DynamoDB, and others. It includes demos of setting up a serverless environment and a todo application built with microservices.
Ben Kehoe - Serverless Architecture for the Internet of ThingsServerlessConf
Presented at ServerlessConf NYC 2016.
iRobot is transitioning the cloud infrastructure for our IoT system to AWS with the goal of using zero EC2 instances. I'll cover our general architecture (AWS IoT, API Gateway, Lambda, etc.), our CloudFormation+Lambda deployment strategy, and the hardest patterns to make serverless on AWS.
This document discusses strategies for scaling APIs to handle increasing volumes of traffic. It outlines considerations and approaches for handling throughput from 1 transaction per second up to 100,000 transactions per second. Lower volumes can typically be handled through database and application tuning. Higher volumes require caching, database sharding or NoSQL databases, and scaling out application servers and other infrastructure. API and client design can also impact scaling by reducing unnecessary calls and payloads. Latency and network bandwidth also become important concerns at high volumes.
Building API-Driven Microservices with Amazon API Gateway - AWS Online Tech T...Amazon Web Services
This document provides an overview of building API-driven microservices with Amazon API Gateway. It introduces Amazon API Gateway and how it can be used to create, publish, maintain, monitor, and secure APIs. It discusses different options for deploying microservices, including using EC2, ECS, and AWS Lambda. It also covers securing APIs with IAM, custom authorizers, and Cognito user pools. Finally, it discusses tools like Swagger/OpenAPI, Chalice, SAM, and SAM Local that can be used to define and deploy serverless applications and APIs.
This document discusses scaling applications and services. It recommends taking a vertical approach by breaking monolithic applications into microservices that communicate through APIs. The Swagger framework is presented as a way to document and test APIs. Swagger can generate client libraries and helps services scale by enabling asynchronous communication through websockets. Taking this vertical, microservices approach with Swagger improves scalability by allowing dedicated teams to own individual services and improves performance through asynchronous communication protocols.
AWS API Gateway allows creating APIs to access backend services and applications. It offers features like monitoring API usage, rate limiting requests, transforming requests and responses, connecting to multiple backend services, integrating with VPC, using serverless compute, authenticating via IAM or custom authorizers, documenting APIs with Swagger, and some limitations around timeouts, payload sizes and supported protocols.
This document discusses optimizing APIs for mobile devices. It notes that mobile devices and networks are slower than servers, so APIs need to be optimized for these constraints. It recommends transforming data to more efficient formats like JSON, offering partial responses, enabling compression, implementing caching across a content delivery network, and being judicious about the amount of data returned to improve performance for mobile clients. The overall message is that APIs need to be designed with the limitations of mobile in mind.
Building a Critical Communications Platform Using Serverless TechnologiesAmazon Web Services
By adopting serverless technologies, one organization managed to both accelerate its internal development process and improve operational scalability. In this tech talk, we present optimization strategies for AWS Lambda, followed by the inner workings of a critical communications platform built on serverless technologies. We also share best practices relevant to the development environment and architecture, along with the lessons learned.
Simple REST-APIs with Dropwizard and SwaggerLeanIX GmbH
During the VOXXED Days in Berlin on 29 January 2016 Bernd Schönbach from LeanIX demonstrated an easy way to create well documented and implemented REST-APIs using the Dropwizard Library for the implementation and Swagger for easy Documentation.
===
LeanIX offers an innovative software-as-a-service solution for Enterprise Architecture Management (EAM), based either in a public cloud or the client’s data center.
Companies like Adidas, Axel Springer, Helvetia, RWE, Trusted Shops and Zalando use LeanIX Enterprise Architecture Management tool.
Free Trial: http://bit.ly/LeanIXFreeTrial
The document outlines the skills needed for a full stack developer including proficiency with front end technologies like HTML, CSS, JavaScript, and React; back end skills including Node.js, databases, APIs and servers; and deployment methods. It also covers software engineering best practices like version control, testing, and programming fundamentals. The skills are grouped into sections covering web design, JavaScript, React, Node.js, databases, deployment, and tools.
This document provides an overview of Shubhra Kar's presentation on using Node.js to build APIs and hyperscale the API economy. The presentation discusses using Node.js for mobile/omni-channel backends, high performance ESBs, and IoT. It also covers why Node.js is well-suited for APIs, which Node.js framework to choose, design patterns, and how to code and deploy an API in 10 minutes. The document includes graphs comparing Node.js performance to other solutions and discusses trends around microservices and decomposing monolithic APIs.
A short talk delivered at Milan MEAN meetup, where I discuss shortcomings of existing REST API frameworks and explaining how LoopBack solves them for you.
StrongLoop Node.js API Security & Customizationjguerrero999
API fine grained Authorization using Roles and ACLs in LoopBack
Connecting authentication to the front end
Third party and social (facebook, twitter) logins using OAuth2
Adding Node middleware for proxying, authentication, and traffic throttling
This document describes a web application framework called Loopback that can be used to build APIs and web services. It discusses key Loopback features like models, remote methods, middleware, ACLs, and generating SDKs. Models are defined using simple JSON and JavaScript files. Remote methods add logic to models. Middleware can be used to add common functionality. ACLs control access. SDKs can be generated to consume the API in client-side code like Angular apps. The document provides code examples and recommends Loopback for its simplicity and power over building APIs from scratch.
Everyone has written an API of some sort whether they know it or not. Many people might snap in a quick end point or two into their website that returns JSON or XML to support some simple front end validation or dynamic interactions. This is a loose API for the most part and if it solves the problem – great. Other folks might stand up a whole solution that is dedicated to supporting some disconnected clients like ios apps, android apps, or full blown SPA style javascript apps.
This second style of API is usually versioned separate from the consumers of it. And is most likely deploying at a different cadence from the client apps that are dependent on it. Also, when writing a rich API there are generally many concerns that one must take into account such as authentication and authorization, versioning of the contract between the client and the API, rate throttling, caching, etc. And if you are deploying API’s as different domains for a product suite, or as granular microservices, then you also need a way to uniformly present a consolidated API to the world. Analytics and reporting usually come into play as well.
For each of these concerns you could easily write some code (likely an extensive amount of it) to solve the problem. However, I find that letting my API worry about the business problem that it is trying to solve, and nothing else, makes iterating on my applications much less painful. For that reason I have turned to using infrastructure and 3rd party apps to solve many of these problems – with little to no code!
In this post we will take a look at proxys and gateways and some of the features that they expose to you. In future posts we will dig a little deeper into each of them and do more of an in depth comparison.
This document discusses Azure Static Web Apps, which provides globally distributed static content, integrated API support through Azure Functions, and automatic building and deployment of full stack web apps. It can support authentication/authorization and is easily scaled. The document demonstrates creating an Angular-based static web app using Cosmos DB for storage, Azure Functions for APIs, and Application Insights for monitoring.
Five Ways to Scale your API Without Touching Your Code3scale
Five ways to scale an API without changing code:
1. Optimize API design by removing unnecessary methods and structuring methods to match use cases.
2. Add aggregate methods to reduce calls to base methods.
3. Implement rate limiting to reduce load and encourage efficient code.
4. Offboard caching and processing to clients to reduce server load.
5. Provide SDKs to encode best practices and optimize client code patterns.
Together these techniques can significantly improve scaling by managing load through changes to API structure and client behavior rather than requiring code changes.
Microservices Architecture for Web Applications using AWS Lambda and moreMitoc Group
The document provides an overview of using microservices architecture for web applications on AWS. It discusses the challenges of traditional monolithic architectures and reference architectures. It then introduces serverless and microservices architectures as alternatives that can provide increased scalability, reduced complexity, and lower costs using AWS services like Lambda, API Gateway, DynamoDB, and others. It includes demos of setting up a serverless environment and a todo application built with microservices.
Ben Kehoe - Serverless Architecture for the Internet of ThingsServerlessConf
Presented at ServerlessConf NYC 2016.
iRobot is transitioning the cloud infrastructure for our IoT system to AWS with the goal of using zero EC2 instances. I'll cover our general architecture (AWS IoT, API Gateway, Lambda, etc.), our CloudFormation+Lambda deployment strategy, and the hardest patterns to make serverless on AWS.
This document discusses strategies for scaling APIs to handle increasing volumes of traffic. It outlines considerations and approaches for handling throughput from 1 transaction per second up to 100,000 transactions per second. Lower volumes can typically be handled through database and application tuning. Higher volumes require caching, database sharding or NoSQL databases, and scaling out application servers and other infrastructure. API and client design can also impact scaling by reducing unnecessary calls and payloads. Latency and network bandwidth also become important concerns at high volumes.
Building API-Driven Microservices with Amazon API Gateway - AWS Online Tech T...Amazon Web Services
This document provides an overview of building API-driven microservices with Amazon API Gateway. It introduces Amazon API Gateway and how it can be used to create, publish, maintain, monitor, and secure APIs. It discusses different options for deploying microservices, including using EC2, ECS, and AWS Lambda. It also covers securing APIs with IAM, custom authorizers, and Cognito user pools. Finally, it discusses tools like Swagger/OpenAPI, Chalice, SAM, and SAM Local that can be used to define and deploy serverless applications and APIs.
This document discusses scaling applications and services. It recommends taking a vertical approach by breaking monolithic applications into microservices that communicate through APIs. The Swagger framework is presented as a way to document and test APIs. Swagger can generate client libraries and helps services scale by enabling asynchronous communication through websockets. Taking this vertical, microservices approach with Swagger improves scalability by allowing dedicated teams to own individual services and improves performance through asynchronous communication protocols.
AWS API Gateway allows creating APIs to access backend services and applications. It offers features like monitoring API usage, rate limiting requests, transforming requests and responses, connecting to multiple backend services, integrating with VPC, using serverless compute, authenticating via IAM or custom authorizers, documenting APIs with Swagger, and some limitations around timeouts, payload sizes and supported protocols.
This document discusses optimizing APIs for mobile devices. It notes that mobile devices and networks are slower than servers, so APIs need to be optimized for these constraints. It recommends transforming data to more efficient formats like JSON, offering partial responses, enabling compression, implementing caching across a content delivery network, and being judicious about the amount of data returned to improve performance for mobile clients. The overall message is that APIs need to be designed with the limitations of mobile in mind.
Building a Critical Communications Platform Using Serverless TechnologiesAmazon Web Services
By adopting serverless technologies, one organization managed to both accelerate its internal development process and improve operational scalability. In this tech talk, we present optimization strategies for AWS Lambda, followed by the inner workings of a critical communications platform built on serverless technologies. We also share best practices relevant to the development environment and architecture, along with the lessons learned.
Simple REST-APIs with Dropwizard and SwaggerLeanIX GmbH
During the VOXXED Days in Berlin on 29 January 2016 Bernd Schönbach from LeanIX demonstrated an easy way to create well documented and implemented REST-APIs using the Dropwizard Library for the implementation and Swagger for easy Documentation.
===
LeanIX offers an innovative software-as-a-service solution for Enterprise Architecture Management (EAM), based either in a public cloud or the client’s data center.
Companies like Adidas, Axel Springer, Helvetia, RWE, Trusted Shops and Zalando use LeanIX Enterprise Architecture Management tool.
Free Trial: http://bit.ly/LeanIXFreeTrial
The document outlines the skills needed for a full stack developer including proficiency with front end technologies like HTML, CSS, JavaScript, and React; back end skills including Node.js, databases, APIs and servers; and deployment methods. It also covers software engineering best practices like version control, testing, and programming fundamentals. The skills are grouped into sections covering web design, JavaScript, React, Node.js, databases, deployment, and tools.
This document provides an overview of Shubhra Kar's presentation on using Node.js to build APIs and hyperscale the API economy. The presentation discusses using Node.js for mobile/omni-channel backends, high performance ESBs, and IoT. It also covers why Node.js is well-suited for APIs, which Node.js framework to choose, design patterns, and how to code and deploy an API in 10 minutes. The document includes graphs comparing Node.js performance to other solutions and discusses trends around microservices and decomposing monolithic APIs.
Triangle Node Meetup : APIs in Minutes with Node.jsShubhra Kar
Build Omni-channel APIs in minutes with Node.js. StrongLoop's Loopback API server provides an open source API framework for connecting mobile, devices, sensors and web to backends though lightweight APIs. Get Mobile Backend as a Service (mBaaS) and API Gateway plus a Visual API editor (Studio) all in a single modular Node.js platform. SDKs for Angular, iOS, Android and JavaScript makes Isomorphic JavaScript and fullstack JS a reality.
The document discusses how Node.js is powering the API economy. It highlights how the number of clients and channels have increased, with more sophisticated clients and stricter latency demands. Node.js is well-suited for building APIs due to its speed, support for JavaScript and JSON, and ability to handle high concurrency. Several large companies like LinkedIn, PayPal and Groupon have successfully migrated to Node.js for building APIs and seen significant improvements in performance, development speed and resource usage.
Cloud State of the Union for Java DevelopersBurr Sutter
This presentation provides a broad overview of what is going on in the Cloud computing world - for Java developers - presented on Dec 21st 2010 at the Atlanta Java Users Group - ajug.org - no audio was recorded.
Building Node.js based APIs in minutes. Achieve full-stack JavaScript, Offline Sync, Geolocation, REST API / JSON, ORM and API Management in open source. Write your own connectors, work on express.js. Create MEAN stack applications connecting Angular to Node to MongoDB. Presented at the Connect.js conference in Atlanta
Posons-nous et profitons de ce talk pour prendre un peu de hauteur sur l’état de l’industrie tech autour de la création d’API de persistence (CRUD).
D’où venons-nous, ou allons-nous ? Pourquoi le choix entre RPC, SOAP, REST et GraphQL n’est peut-être qu’un sujet de surface qui cache un problème bien plus profond…
Youtube: https://www.youtube.com/watch?v=IskE3m3VjRY
The document discusses enterprise mashup technologies and WebSphere sMash. It describes how sMash allows developing and running mashups using JavaScript and RESTful services to integrate existing resources. sMash provides a lightweight container, component model, and tools to quickly develop situational applications that consume and produce web resources. However, vendor lock-in is a risk compared to open source alternatives.
The document summarizes Microsoft technologies that can be used with PHP development, including:
- PHP can run on IIS using FastCGI for better performance than older methods like CGI.
- The SQL Server driver for PHP allows access to SQL Server databases.
- The Microsoft AJAX Library allows PHP applications to leverage AJAX capabilities.
- Silverlight is a tool for media and rich interactive applications that can integrate with PHP.
Ram Ji Soni has over 11 years of experience developing web applications using Java/J2EE technologies such as Spring, Hibernate, and Hadoop. He currently works as a Technical Architect at AppTad Technologies where he designs applications using technologies like Spring and Hadoop. Previously he has worked as a Technical Lead at companies such as HCL Technologies and CSDC India, developing applications for clients in various domains. He has an MCA from Global Institute of Information Technology and a B.Sc. from B.K.D. Jhansi.
Web API or WCF - An Architectural ComparisonAdnan Masood
ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. The new ASP.NET Web API is a continuation of the previous WCF Web API projection. WCF was originally created to enable SOAP-based services and other related bindings. However, for simpler RESTful or RPCish services (think clients like jQuery) ASP.NET Web API is a good choice.
In this meeting we discussed what do you need to understand as an architect to implement your service oriented architecture using WCF or ASP.NET web API. With code samples, we will elaborate on WCF Web API’s transition to ASP.NET Web API and respective constructs such as Service vs. Web API controller, Operation vs. Action, URI templates vs ASP.NET Routing, Message handlers, Formatters and Operation handlers vs Filters, model binders. WebApi offers support for modern HTTP programming model with full support for ASP.NET Routing, content negotiation and custom formatters, model binding and validation, filters, query composition, is easy to unit test and offers improved Inversion of Control (IoC) via DependencyResolver.
You will walk away with a sample set of services that run on Silverlight, Windows Forms, WPF, Windows Phone and ASP.NET.
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Amazon Web Services
With AWS, companies now have the ability to develop and run their applications with speed and flexibility like never before. Working with an infrastructure that can be 100 percent API driven enables businesses to use lean methodologies and realize these benefits. This in turn leads to greater success for those who make use of these practices. In this session, we talk about some key concepts and design patterns for continuous deployment and continuous integration, two elements of lean development of applications and infrastructures.
This document provides an overview of continuous integration and deployment best practices on AWS. It discusses what continuous integration is and how it helps with rapid development by making changes and deployments iterative rather than monolithic. This allows bugs to be detected quickly. The document then discusses tools that can be used to implement continuous integration, such as AWS services, configuration management systems like Puppet, deployment frameworks like AWS Elastic Beanstalk, and infrastructure management tools like AWS CloudFormation. It also provides tips for scaling tools like Puppet masters and optimizing continuous integration and deployment workflows.
Pivoting Spring XD to Spring Cloud Data Flow with Sabby AnandanPivotalOpenSourceHub
Pivoting Spring XD to Spring Cloud Data Flow: A microservice based architecture for stream processing
Microservice based architectures are not just for distributed web applications! They are also a powerful approach for creating distributed stream processing applications. Spring Cloud Data Flow enables you to create and orchestrate standalone executable applications that communicate over messaging middleware such as Kafka and RabbitMQ that when run together, form a distributed stream processing application. This allows you to scale, version and operationalize stream processing applications following microservice based patterns and practices on a variety of runtime platforms such as Cloud Foundry, Apache YARN and others.
About Sabby Anandan
Sabby Anandan is a Product Manager at Pivotal. Sabby is focused on building products that eliminate the barriers between application development, cloud, and big data.
A collection of OSGi/Equinox bundles/components for development of extensible multiuser Web applications with complex domain model and application logic.
REST - What's It All About? (SAP TechEd 2012, CD110)Sascha Wenninger
This document provides an overview of REST (Representational State Transfer) and its applications in SAP systems. It discusses key REST concepts like resources, representations, and hypermedia as the engine of application state. It also summarizes the capabilities and limitations of SAP NetWeaver Gateway for exposing SAP data and functionality via RESTful APIs. Additionally, it covers approaches for custom REST API development using ABAP code.
Similar to Seattle StrongLoop Node.js Workshop (20)
SOCRadar's Aviation Industry Q1 Incident Report is out now!
The aviation industry has always been a prime target for cybercriminals due to its critical infrastructure and high stakes. In the first quarter of 2024, the sector faced an alarming surge in cybersecurity threats, revealing its vulnerabilities and the relentless sophistication of cyber attackers.
SOCRadar’s Aviation Industry, Quarterly Incident Report, provides an in-depth analysis of these threats, detected and examined through our extensive monitoring of hacker forums, Telegram channels, and dark web platforms.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Takashi Kobayashi and Hironori Washizaki, "SWEBOK Guide and Future of SE Education," First International Symposium on the Future of Software Engineering (FUSE), June 3-6, 2024, Okinawa, Japan
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...kalichargn70th171
A dynamic process unfolds in the intricate realm of software development, dedicated to crafting and sustaining products that effortlessly address user needs. Amidst vital stages like market analysis and requirement assessments, the heart of software development lies in the meticulous creation and upkeep of source code. Code alterations are inherent, challenging code quality, particularly under stringent deadlines.
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Łukasz Chruściel
No one wants their application to drag like a car stuck in the slow lane! Yet it’s all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. We’ll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.
Zoom is a comprehensive platform designed to connect individuals and teams efficiently. With its user-friendly interface and powerful features, Zoom has become a go-to solution for virtual communication and collaboration. It offers a range of tools, including virtual meetings, team chat, VoIP phone systems, online whiteboards, and AI companions, to streamline workflows and enhance productivity.
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j
Dr. Jesús Barrasa, Head of Solutions Architecture for EMEA, Neo4j
Découvrez les dernières innovations de Neo4j, et notamment les dernières intégrations cloud et les améliorations produits qui font de Neo4j un choix essentiel pour les développeurs qui créent des applications avec des données interconnectées et de l’IA générative.
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j
Dr. Jesús Barrasa, Head of Solutions Architecture for EMEA, Neo4j
Découvrez les dernières innovations de Neo4j, et notamment les dernières intégrations cloud et les améliorations produits qui font de Neo4j un choix essentiel pour les développeurs qui créent des applications avec des données interconnectées et de l’IA générative.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsPeter Muessig
The UI5 tooling is the development and build tooling of UI5. It is built in a modular and extensible way so that it can be easily extended by your needs. This session will showcase various tooling extensions which can boost your development experience by far so that you can really work offline, transpile your code in your project to use even newer versions of EcmaScript (than 2022 which is supported right now by the UI5 tooling), consume any npm package of your choice in your project, using different kind of proxies, and even stitching UI5 projects during development together to mimic your target environment.
2. About me
u J2EE and SOA architect
u Performance architect
u Node, mBaaS & APIs
3. These guys sent me !
Bert
Belder
Ben
Noordhuis
Node/io core
Raymond
Feng
Ritchie
Martori
LoopBack & Express core
Sam
Roberts
Miroslav
Bajtos
Ryan
Graham
5. No IO bottlenecksHighly Concurrent
Very Fast JIT compiled
Node.js is emerging as the answer
Reduce infrastructure by 5XScalable
Lightweight, JS back and front, HeadlessFull stack
Write and maintain 50% lesser codeSimple
Suited for mobile and IoTEvented & JSON
Biggest OSS community on the planetEcosystem
7. Integration needs to be lighter and isomorphic !
REST/JSON
X - Platform
Relational Database Clustered Database Security Gateway Cloud
Laptop ( not requested but useful)
Connections
Tablet Phone IoT SDK API SE
Quick Example o
App Server
Relational Database Clustered Database Security Gateway Cloud Firewall SOA Bus ( not sure on this one)
Laptop ( not requested but useful)
Connections
Tablet Phone IoT SDK API SERVER Items for ACL
Quick Example of Use
App Server
Add On
App Server
X - Backend
Legacy to front edge can be fast and simple !
8. Proof in the Pudding
0
500
1000
1500
2000
2500
3000
1000
10000
Transactions/second
Back-end response (ms)
StrongLoop’s Node.js Solution vs. 5 leading competitive integration solutions
Fortune 25 financial services customer evaluation in October 2014 "
leading competitor
closest competitor
11. Ruby vs. Node
RVM == NVM
– Everything is kept neatly in your user home directory.
– You can easily have multiple versions at the same time.
GEM == NPM
– $ npm install [PACKAGE NAME]
– node_modules (global and local)
Gemfile == package.json
bundle install == $ npm install
$response = file_get_contents("http://example.com");
print_r($response);
var http = require('http');
http.request({ hostname: 'example.com' }, function(res) {
res.setEncoding('utf8’);
res.on('data', function(chunk) {
console.log(chunk);
});
}).end();
12. Java vs. advanced node framework - Loopback
https://strongloop.com/strongblog/node-js-java-getting-started/
Beer REST API in Java on JBoss
– Creating the pom.xml (LOC = 54)
– Creating beans.xml and setting servlet mapping (LOC=10)
– Creating DBConnection class (LOC = 35)
– Importing data into MongoDB (LOC = 1)
– Creating Beer model object (LOC = 24)
– Creating the REST service (LOC = 48)
– Bask in the Joy
Total LOC = 172, Server Install, Mongo Tools, etc…
Experience = sweaty
Beer REST API in Node on Loopback
LOC = None (boilerplate scaffold), 10 config lines,
Experience = priceless
13. No I am serious
JVM != V8
Bytecode = JIT compilation
Package library = module
JaxRS = remoting
EJB = microservice
Controller = router
Java Model Class = JSON Model
16. Frameworks evolve as well !
• Callback
• Reactor
• Observer
• Express
• HAPI
• Restify
• Total
• Partial
• Loopback
• Parse
• Meteor
• Feedhenry*
• Loopback
• Sails
• Meteor
• Geddy
• Loopback
• NodeRED
• Proprietary
KISS
MVC
MBaaS
ORM/
MEAN
Micro/
loT
17. Pattern 0: Natal patterns
Philosophy: KISS (Keep It Simple Stupid)
u small core
u small modules
u small surface area
Patterns
u reactor
u callback
u module
u observer
19. Pros and Cons
Express
DIY
HTTP Routing, Middleware, Templating
Simple Web Apps
Github Stars – 19K
Commercial Support - StrongLoop
CLI App Generator
Export API definition with strong-remoting
Connect/Express middleware extensions
Vast Ecosystem and low learning curve
StrongLoop DevOps tooling support
Manual CRUD endpoints
Manual recursive refactoring/testing
No Data source Support
No Client SDK
No ACL (Fine Authorization)
Restify
DIY
Simplicity, Rest Routing
Simple REST API
Github Stars – 3K
Commercial Support - Joyent
Yeoman Generator
SPDY Support
Dtrace Support
No export of API definition
No Data source Support
No Extensions of significance
Manual CRUD endpoints
Manual recursive refactoring/testing
Limited Ecosystem
No ACL (Fine Authorization)
22. Pattern 2: Configuration
HTTP Server
Framework
Hapi
Opinionated
Modularity, Security, HTTP Server control
Complex Web Apps, APIs
Github Stars – 4K
Commercial Support - None
Yeoman Generator
No export of API definition
Hapi Plugins – Joi, bell, bassmaster, etc
Limited ecosystem as compared to Express;
but does support templates with plugins
Swagger support for API documentation
Very limited Data source support – Mongo,
Postgres, leveldb
No Client SDK
No ACL (Fine Authorization)
24. Pattern 3 : Full Stack JS à lends into pattern 4
{“..”} JSON is the new first class citizen
25. Pattern 4: ORM & Isomorphic JS
u Model Driven Development
u Any data source
u Isomorphic JS
u Omni-Channel
u Share Models (Client/Server)
u Loopback & Meteor
u Automatic REST API
generation, routing, etc
u Common Weakness : Higher
Learning Curve
26. Sails
Opinionated
Web MVC framework
WebApps, API
Rails familiarity, MVC
Github Stars – 10 K (older)
Commercial Support - None
Yeoman Generator
StrongLoop DevOps tooling support
No export of API definition
Limited data sources – MySQL, Mongo, Postgresql, memory/file
No Extensions of significance
Limited Ecosystem
No ACL (Fine Authorization)
No Client SDKs
Pros and Cons
27. Loopback
Opinionated
API framework
Complex Web Apps and APIs
Modularity, Scaffolding, Enterprise Connectivity
Github Stars – 4 K (newer)
Commercial Support - StrongLoop
CLI Code Generator, Visual API composer, API explorer
Export API definition
Extensions like Push, File Storage, Passport, Oauth 2.0, Express Middleware
Vast Connector ecosystem and extend express
Auto CRUD
Swagger UI and Code Generator
DataSources like Mongo, mySQL, Oracle, SOAP, REST, SQLServer, Memory/File,
Postgresql, Email, ATG, Couchbase, Apache Kafka, and many more
Client SDK – Angular, Browser, IOS, Android, Node.js
Mature ACL (Fine Authorization), API Gateway
Pros and Cons
42. API “Decomposition” is the game changer
{JSON}
{JSON}
{JSON}<SOAP/XML>
<TABLE>
Web SaaS Mobile loT
HTML JSON
App Server API Server
43. Pattern 7: Micro-services (Design Time)
Client SDK
REST
Endpoints
Store Cache
API Micro
Services
One URL Space
SL API PaaS REST/JSON
API Gateway
Router
Remoting
Model
API Orchestrator
Cloud Services
Model
Model
Connector
Connector
Connectors
45. StrongLoop – node.js Development to Production
Build and
Deploy
Automate
Lifecycle
Performance
Metrics
Real-time
production
monitoring
Profiler
Root cause
CPU & Memory
API Composer
Visual modeling
StrongLoop Arc
Process
Manager
Scale
applications"
Q2
2015
Mesh
Deploy
containerized
ORM, mBaaS, Realtime
46.
47. Loopback: Open Source nirvana (mBaaS, ORM, Micro)
REST
API
PUSH
GEO
OFF
SYNC
DEVICE
USER FILE
API
GATEWAY
Channel
SDKs
API ENGINE
C
O
N
N
E
C
T
O
R
s
atabase Clustered Database Security Gateway Cloud Firewall SOA Bus ( not sure on this one)
uested but useful)
nnections
Tablet Phone IoT SDK API SERVER Items for ACL
Quick Example of Use
App Server
Add On
App Server
ORM
ACLsRelational Database Clustered Database Security Gateway Cloud Firewall SOA Bus ( not sure on this one)
Laptop ( not requested but useful)
Connections
Tablet Phone IoT SDK API SERVER Items for ACL
Quick Example of Use
App Server
Add On
App Server
Relational Database Clustered Database Security G
Laptop ( not requested but useful)
Connections
Tablet Phone IoT SDK
App Server
Relational Database Clustered Database Security Gateway Cloud Firewall SOA Bus ( not sure on this one)
Laptop ( not requested but useful)
Connections
Tablet Phone IoT SDK API SERVER Items for ACL
Quick Example of Use
App Server
Add On
App Server
Data and Services
Remoting
Pub-Sub
48. Data & Services Integration
Services
Relational Database Clustered Database Security Gateway Cloud Firewall SOA Bus ( not sure on this one)
Laptop ( not requested but useful)
Connections
Tablet Phone IoT SDK API SERVER Items for ACL
Quick Example of Use
App Server
Add On
App Server
Storage
y Cloud Firewall SOA Bus ( not sure on this one)
API SERVER Items for ACL
Quick Example of Use
App Server
Add On
REST
Messaging
Database
NoSQL
Marquee - Discovery & Migration !
55. Right interface for the right user
Arc UI – architect view
– Widget driven
– Visual composition,
management & operations
– Marquee featured, evolving
platform
StrongLoop Console
(slc) - developer view
– Command Line Interface
– Full featured
– Greater customization
support
58. Debugging server side clustered apps
slc debug app.js
Debugging single process
slc debug app.js
http://localhost:8080/debug?port=<5858+ID-of-process>
Debugging clustered process in V11
%node debug –p <PID>
connecting…ok
…
debug>quit
%node-inspector
http://127.0.0.1:8080/debug?port =5858
Or
process._debugPort = 5858 + cluster.worker.id
Debugging clustered process in V10
60. How does GC work
Concept of reachability.
Roots: Reachable or in live scope objects
Include objects referenced from anywhere in the call stack (all local variables and
parameters in the functions currently being invoked), and any global variables.
Objects are kept in memory while accessible from roots through a reference or a
chain of references.
Root objects are pointed directly from V8 or the Web browser like DOM elements
Garbage collector identifies dead memory regions/unreachable objects through a
chain of pointers from a live object; reallocates or releases them to the OS
61. Easy right ? Hell No !!!
Pause and then Stop the World
V8 essentially:
stops program execution when
performing a garbage collection cycle.
processes only part of the object heap
in most garbage collection cycles. This
minimizes the impact of stopping the
application.
Accurately keeps all objects and
pointers in memory. This avoids falsely
identifying objects as pointers which
can result in memory leaks.
In V8, the object heap is segmented
into many parts; hence If an object is
moved in a garbage collection cycle,
V8 updates all pointers to the object.
62. Short, Full GC and some algorithms to know
V8 divides the heap into two generations:
Short GC/scavenging
Objects are allocated in “new-space” (between 1 and 8 MB). Allocation in new space is
very cheap; increment an allocation pointer when we want to reserve space for a new
object. When the pointer reaches the end of new space, a scavenge (minor garbage
collection cycle) is triggered, quickly removing dead objects from new space.
large space overhead, since we need physical memory backing both to-space and from-
space.
Fast by design, hence using for short GC cycles. Acceptable if new space is small – a few
Mbs
Full GC/mark-sweep & mark-compact
Objects which have survived two minor garbage collections are promoted to “old-space.”
Old-space is garbage collected in full GC (major garbage collection cycle), which is much
less frequent.
A full GC cycle is triggered based on a memory threshold
To collect old space, which may contain several hundred megabytes of data, we use two
closely related algorithms, Mark-sweep and Mark-compact.
63. New Algorithm implementation
Incremental marking & lazy sweeping
In mid-2012, Google introduced two improvements that reduced garbage
collection pauses significantly: incremental marking and lazy sweeping.
Incremental marking means being able to do a bit of marking work, then let the
mutator (JavaScript program) run a bit, then do another bit of marking work.
Short pauses in the order of 5-10 ms each as an example for marking.
Threshold based. At every alloc execution is paused to perform an incremental
marking step.
Lazy sweep cleans up set of objects at time eventually cleaning all pages.
72. Blocked event loop in Meteor Atmosphere
node-fibers implements co-routines. Meteor uses this to hack local thread storage allowing V8
to run multiple execution contexts each mapped to a co-routine.
FindOrAllocatePerThreadDataForThisThread() used in switching context between co-
routines
Co-routines are cooperative; the current coroutine has to yield control before another one can
run and that is what Meteor does in its process.nextTick() callback; it essentially builds
concurrent (but not parallel) green threads on a round-robin scheduler
Too many tiny tasks and not one long running one was blocking the event loop
process.nextTick() has a failsafe mechanism where it will process “x” tick callbacks before
deferring the remaining ones to the next event loop tick.
Native MongoDB driver disabled the failsafe to silence a warning message in node v0.10 about
maxtickDepth being reached
ticks parent name
2274 7.3% v8::internal::Isolate::FindOrAllocatePerThreadDataForThisThread()
1325 58.3% LazyCompile: ~<anonymous> packages/meteor.js:683
1325 100.0% LazyCompile: _tickCallback node.js:399
73. The solution
The workaround: switch fromprocess.nextTick() to setImmediate()