Visibility into any system is a key component of creating a supportable platform. Without proper logging, support can be costly and inefficient. With the emergence of APIs, microservices, and distributed, decoupled architectures, logging becomes even more important because there are more components that make up a system than ever before. This is beneficial from the standpoint of creating reliable systems, but logging frameworks need to adapt to this architecture because the premise of logging remains the same as it always has: log clear messages that are easy to read with the goal of enhancing visibility into a system.
In this Meetup hosted by Big Compass, we will explore techniques of logging from the typical iPaas or always-on managed system like a custom application on an EC2, and we will balance that with a discussion on logging from serverless microservices such as AWS Lambda also. We’ll walk through a real system we have created and discuss how a logging framework can be created using AWS serverless services to enhance the visibility and supportability of the system.
You will learn:
• Common best practices and blind spots of logging
• Differences of logging from always-on systems versus serverless services (AWS Lambda)
• Successful use cases where logging has been implemented to improve supportability of a system
Who should attend:
• IT leaders who want to decrease support cost and have a system visibility pain point
• Developers struggling with implementing a robust, highly visible logging solution
• Anyone considering using serverless technology for an upcoming implementation
Reasons to attend:
• Create a logging framework that garners deep visibility and a great experience for users, no matter the underlying architecture
2. 1. The importance of logging
2. Logging common pitfalls
3. Logging best practices
4. Comparison of logging from a traditional
application vs. a serverless implementation
5. Serverless logging
Topics:
Logging and
Beyond
3. ● Consulting - specializing in
integrations and related technologies
● AWS partners
● We build connections between
systems, applications, people, and
ideas
Big Compass
8. ● No design for logging
● Lack of standards
● Hard coding
● Lack of request identifiers
● Logging payloads or sensitive data
● Logging too much
● Logging too little
Logging Common
Pitfalls
Organize
Standardize
Stabilize
Optimize
9. Logging Common Pitfalls Example
No identifier or metadata logged and sensitive information in plaintext logged
10. ● Standards, standards, standards
● Informative messages
● Request identifier
● Dynamic error messages
● Persisting logs to an easily accessible
system
● Logging at appropriate levels
● Logging an appropriate amount of
data
Logging Best Practices
Organize
Standardize
Stabilize
Optimize
14. Traditional Logging vs Serverless Logging
Traditional Application Logging Serverless Logging
Single application focused Multi-microservices focused
Logs coming from single source Logs coming from many distributed
microservices
Predictable logs based on user traffic Unpredictable logs based on growing
serverless footprint
Nice assembly line of logs Spaghetti mess of logs
Typically written to a file or the console Typically written to a centralized logging
tool/system
17. ● Many distributed microservices that
communicate with each other
● Log scaling
● Minimal logging frameworks that work
well for serverless implementations
Serverless Logging Pain
Points
18. ● Centralized logging target
● Reference ID to reference across
microservices
● Execution ID to reference the individual
AWS execution
● Metadata about the process
Serverless Logging
Framework Must Haves
19. ● CloudWatch and CloudWatch Insights
● Splunk, Loggly, ELK, Elastic, Graylog
● Database
● X-Ray
● Many options in the marketplace
Serverless Logging
Options
21. ● An iPaas implementation with a
serverless implementation
● Legacy system combined with AWS
Lambda
● EC2 combined with AWS Lambda
● Infinite number of combinations
Modern Environment
Might Have...
51. ● Clone the Big Compass Logging
Framework on the Big Compass
GitHub
● For the repository
● Make pull requests
● Give us your feedback
● Reach out for an in depth demo or
implementation help
Serverless Logging
Options