Serverless Architectures on AWS, Second Edition teaches you how to design, secure, and manage serverless backend APIs for web and mobile applications on the AWS platform. You'll get going quickly with this book's relevant real-world examples, code listings, diagrams, and clearly-described architectures that you can readily apply to your own work. You'll master serverless systems using AWS Lambda and the myriad other services on the AWS platform. This new edition has been fully updated to reflect the newest serverless design best practices and changes to AWS. It features two entirely new chapters dedicated to DevOps, monitoring, and microservices, as well as working with DynamoDB, GraphQL and Kinesis. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
Build scalable, reliable, and cost-effective applications with a serverless architecture About This Book Design a real-world serverless application from scratch Learn about AWS Lambda function and how to use Lambda functions to glue other AWS Services Use the Java programming language and well-known design patterns. Although Java is used for the examples in this book, the concept is applicable across all languages Learn to migrate your JAX-RS application to AWS Lambda and API Gateway Who This Book Is For This book is for developers and software architects who are interested in designing on the back end. Since the book uses Java to teach concepts, knowledge of Java is required. What You Will Learn Learn to form microservices from bigger Softwares Orchestrate and scale microservices Design and set up the data flow between cloud services and custom business logic Get to grips with cloud provider's APIs, limitations, and known issues Migrate existing Java applications to a serverless architecture Acquire deployment strategies Build a highly available and scalable data persistence layer Unravel cost optimization techniques In Detail Over the past years, all kind of companies from start-ups to giant enterprises started their move to public cloud providers in order to save their costs and reduce the operation effort needed to keep their shops open. Now it is even possible to craft a complex software system consisting of many independent micro-functions that will run only when they are needed without needing to maintain individual servers. The focus of this book is to design serverless architectures, and weigh the advantages and disadvantages of this approach, along with decision factors to consider. You will learn how to design a serverless application, get to know that key points of services that serverless applications are based on, and known issues and solutions. The book addresses key challenges such as how to slice out the core functionality of the software to be distributed in different cloud services and cloud functions. It covers basic and advanced usage of these services, testing and securing the serverless software, automating deployment, and more. By the end of the book, you will be equipped with knowledge of new tools and techniques to keep up with this evolution in the IT industry. Style and approach The book takes a pragmatic approach, showing you all the examples you need to build efficient serverless applications.
Learn the basics of serverless computing and how to develop event-driven architectures with the three major cloud platforms: Amazon Web Services, Microsoft Azure, and Google Cloud. This hands-on guide dives into the foundations of serverless computing, its use cases, and how to apply it using developer tools such as Node.js, Visual Studio Code, Postman, and Serverless Framework. You will apply the fundamentals of serverless technology from the ground up, and come away with a greater understanding of its power and how to make it work for you. This book teaches you how to quickly and securely develop applications without the hassle of configuring and maintaining infrastructure. You will learn how to harness serverless technology to rapidly reduce production time and minimize your costs, while still having the freedom to customize your code, without hindering functionality. Upon completion, you will have the knowledge and resources to build your own serverless application hosted in AWS, Azure, or Google Cloud and will have experienced the benefits of event-driven technology for yourself. What You'll Learn Gain a deeper understanding of serverless computing and when to use it Use development tools such as Node.js, Postman, and VS code to quickly set up your serverless development environment and produce applications Apply triggers to your serverless functions that best suit the architecture for the problem the functions are solving Begin building applications across cloud providers that utilize the power of serverless technology Understand best development practices with serverless computing to maintain scalable and practical solutions Code with an agnostic approach to cloud providers to minimize provider dependency Who This Book Is For Any developer looking to expand current knowledge of serverless computing, its applications, and how to architect serverless solutions, or someone just beginning in these areas
This book addresses the emerging area of cloud computing, providing a comprehensive overview of the research areas, recent work and open research problems. The move to cloud computing is no longer merely a topic of discussion; it has become a core competency that every modern business needs to embrace and excel at. It has changed the way enterprise and internet computing is viewed, and this success story is the result of the long-term efforts of computing research community around the globe. It is predicted that by 2026 more than two-thirds of all enterprises across the globe will be entirely run in cloud. These predictions have led to huge levels of funding for research and development in cloud computing and related technologies. Accordingly, universities across the globe have incorporated cloud computing and its related technologies in their curriculum, and information technology (IT) organizations are accelerating their skill-set evolution in order to be better prepared to manage emerging technologies and public expectations of the cloud, such as new services.
This book constitutes the proceedings of the 15th International Conference on Service-Oriented Computing, ICSOC 2017, held in malaga, Spain, in November 2017. The 33 full papers presented together with 20 short papers and 4 keynotes in this volume were carefully reviewed and selected from 179 submissions. The selected papers cover a wide variety of important topics in the area of service-oriented computing, including foundational issues on service discovery and service-systems design, business process modelling and management, economics of service-systems engineering, as well as services on the cloud, social networks, the Internet of Things (IoT), and data analytics. The chapter "Risk-based Proactive Process Adaptation" is available open access under a CC BY 4.0 license via link.springer.com.
Build cost-effective and highly scalable Serverless applications using AWS Lambda. About This Book Leverage AWS Lambda to significantly lower your infrastructure costs and deploy out massively scalable, event-driven systems and applications Learn how to design and build Lambda functions using real-world examples and implementation scenarios Explore the Serverless ecosystem with a variety of toolsets and AWS services including DynamoDB, API Gateway, and much more! Who This Book Is For If you are a Cloud administrator and/or developer who wishes to explore, learn, and leverage AWS Lambda to design, build, and deploy Serverless applications in the cloud, then this is the book for you! The book assumes you have some prior knowledge and hands-on experience with AWS core services such as EC2, IAM, S3, along with the knowledge to work with any popular programming language such as Node.Js, Java, C#, and so on. What You Will Learn Understand the hype, significance, and business benefits of Serverless computing and applications Plunge into the Serverless world of AWS Lambda and master its core components and how it works Find out how to effectively and efficiently design, develop, and test Lambda functions using Node.js, along with some keen coding insights and best practices Explore best practices to effectively monitor and troubleshoot Serverless applications using AWS CloudWatch and other third-party services in the form of Datadog and Loggly Quickly design and develop Serverless applications by leveraging AWS Lambda, DynamoDB, and API Gateway using the Serverless Application Framework (SAF) and other AWS services such as Step Functions Explore a rich variety of real-world Serverless use cases with Lambda and see how you can apply it to your environments In Detail AWS is recognized as one of the biggest market leaders for cloud computing and why not? It has evolved a lot since the time it started out by providing just basic services such as EC2 and S3 and today; they go all the way from IoT to Machine Learning, Image recognition, Chatbot Frameworks, and much more! One of those recent services that is also gaining a lot of traction is AWS Lambda! Although seemingly simple and easy to use, Lambda is a highly effective and scalable compute service that provides developers with a powerful platform to design and develop Serverless event-driven systems and applications. The book begins with a high-level introduction into the world of Serverless computing and its advantages and use cases, followed by a deep dive into AWS Lambda! You'll learn what services AWS Lambda provides to developers; how to design, write, and test Lambda functions; as well as monitor and troubleshoot them. The book is designed and accompanied with a vast variety of real-world examples, use cases, and code samples that will enable you to get started on your Serverless applications quickly. By the end of the book, you will have gained all the skills required to work with AWS Lambda services! Style and approach This step-by-step guide will help you build Serverless applications and run Serverless workloads using the AWS Lambda service. You'll be able to get started with it in a matter of minutes with easy-to-follow code snippets and examples.
Key concepts, sample applications, best practices, and troubleshooting tips to build highly scalable applications in AWS. Key Features Design highly available, cost efficient, fault tolerant, and scalable distributed systems A practical guide that will help you build, deploy, and manage applications with ease. Develop effective solutions with AWS SDK and Lambda Book Description Continuous deployment and Agile methodology have enabled huge advances in modern applications. This book will enable the reader to make use of this rapidly evolving technology to build highly scalable applications within AWS using different architectures. You will begin with installation of AWS SDK and you will get hands-on experience on creating an application using AWS Management Console and AWS Command Line Interface (CLI). Next you will be integrating Applications with AWS services such as DynamoDB, Amazon Kinesis, AWS Lambda, Amazon SQS and Amazon SWF Following this you will get well versed with CI/CD workflow and work with four major phases in Release processes – Source, Build, Test and Production. Next you will learn to apply AWS developer tools in your Continuous Integration (CI) and Continuous Deployment (CD) WorkFlow. Later you will learn about User Authentication using Amazon Cognito and also how you can evaluate the best architecture as per your infrastructure costs. You will learn about Amazon EC2 service and deploy an app using Amazon EC2.You will also get well versed with container service which is Amazon EC2 Container Service (Amazon ECS) and you will learn to deploy an app using Amazon ECS. Along with EC2 and ECS, you will also deploying a practical real-world example of a CI/CD application with the Serverless Application Framework which is known as AWS Lambda. Finally you will learn how to build, develop and deploy the Application using AWS Developer tools like AWS CodeCommit, AWS CodeBuild, AWS CodeDeploy and AWS CodePipeline as per project needs. Also you can develop and deploy applications within minutes using AWS CodeStar from wizard. By the end of this book, the reader will effectively build, deploy, and manage applications on AWS along with scaling and securing applications with best practices and troubleshooting tips. What you will learn Learn how to get up and running with AWS Developer Tools. Integrate the four major phases in the Release Processes. Source, Build, Test and Production. Learn how to integrate Continuous Integration, Continuous Delivery, and Continuous Deployment in AWS. Make secure, scalable and fault tolerant applications. Understand different architectures and deploy complex architectures within minutes Who this book is for This book targets developers who would like to build and manage web and mobile applications and services on the AWS platform. If you are an architect you will be able to take a deep dive and use examples that can be readily applied to real world scenarios. Some prior programming experience is assumed along with familiarity of cloud computing.
Building efficient Python applications at minimal cost by adopting serverless architectures Key Features Design and set up a data flow between cloud services and custom business logic Make your applications efficient and reliable using serverless architecture Build and deploy scalable serverless Python APIs Book Description Serverless architectures allow you to build and run applications and services without having to manage the infrastructure. Many companies have adopted this architecture to save cost and improve scalability. This book will help you design serverless architectures for your applications with AWS and Python. The book is divided into three modules. The first module explains the fundamentals of serverless architecture and how AWS lambda functions work. In the next module, you will learn to build, release, and deploy your application to production. You will also learn to log and test your application. In the third module, we will take you through advanced topics such as building a serverless API for your application. You will also learn to troubleshoot and monitor your app and master AWS lambda programming concepts with API references. Moving on, you will also learn how to scale up serverless applications and handle distributed serverless systems in production. By the end of the book, you will be equipped with the knowledge required to build scalable and cost-efficient Python applications with a serverless framework. What you will learn Understand how AWS Lambda and Microsoft Azure Functions work and use them to create an application Explore various triggers and how to select them, based on the problem statement Build deployment packages for Lambda functions Master the finer details about building Lambda functions and versioning Log and monitor serverless applications Learn about security in AWS and Lambda functions Scale up serverless applications to handle huge workloads and serverless distributed systems in production Understand SAM model deployment in AWS Lambda Who this book is for This book is for Python developers who would like to learn about serverless architecture. Python programming knowledge is assumed.
Architect and design highly scalable, robust, clean and highly performant applications in .NET Core About This Book Incorporate architectural soft-skills such as DevOps and Agile methodologies to enhance program-level objectives Gain knowledge of architectural approaches on the likes of SOA architecture and microservices to provide traceability and rationale for architectural decisions Explore a variety of practical use cases and code examples to implement the tools and techniques described in the book Who This Book Is For This book is for experienced .NET developers who are aspiring to become architects of enterprise-grade applications, as well as software architects who would like to leverage .NET to create effective blueprints of applications. What You Will Learn Grasp the important aspects and best practices of application lifecycle management Leverage the popular ALM tools, application insights, and their usage to monitor performance, testability, and optimization tools in an enterprise Explore various authentication models such as social media-based authentication, 2FA and OpenID Connect, learn authorization techniques Explore Azure with various solution approaches for Microservices and Serverless architecture along with Docker containers Gain knowledge about the recent market trends and practices and how they can be achieved with .NET Core and Microsoft tools and technologies In Detail If you want to design and develop enterprise applications using .NET Core as the development framework and learn about industry-wide best practices and guidelines, then this book is for you. The book starts with a brief introduction to enterprise architecture, which will help you to understand what enterprise architecture is and what the key components are. It will then teach you about the types of patterns and the principles of software development, and explain the various aspects of distributed computing to keep your applications effective and scalable. These chapters act as a catalyst to start the practical implementation, and design and develop applications using different architectural approaches, such as layered architecture, service oriented architecture, microservices and cloud-specific solutions. Gradually, you will learn about the different approaches and models of the Security framework and explore various authentication models and authorization techniques, such as social media-based authentication and safe storage using app secrets. By the end of the book, you will get to know the concepts and usage of the emerging fields, such as DevOps, BigData, architectural practices, and Artificial Intelligence. Style and approach Filled with examples and use cases, this guide takes a no-nonsense approach to show you the best tools and techniques required to become a successful software architect.
Learn the business and technical importance of API design and architecture using the available cloud services from Azure and AWS. This book starts off with an introduction to APIs and the concept of API Economy from a business and organizational perspective. You'll decide on a sustainable API strategy and API architecture based on different case scenarios. You'll then look at actual examples on API development guidelines, providing a practical view and approach towards the API development and aligning teams in API development. This book walks you through the API gateway services available in Azure and AWS and reviews different approaches to API Security. This will prepare you for understanding the trade-off between security and the frictionless API experience. What You'll Learn Implement API Gateways to streamline API Development Examine Security Mapping with API gateways from Azure and AWS Apply API implementation using Serverless architecture Review evolving APIs for monitoring and changing business requirements Use code samples in API security implementations Who This Book Is For Developers and architects with .NET and web development experience who want to learn about API design.
Harness the power of the Cloud, leveraging the speed and scale of Azure Serverless computing About This Book Take advantage of the agility, scale, and cost-effectiveness of the cloud using Azure Serverless compute Build scalable, reliable, and cost-effecient applications with Serverless architecture and .NET Learn to use Azure functions to their fullest potential in .NET Who This Book Is For This book is for .NET developers who would like to learn about serverless architecture. Basic C# programming knowledge is assumed. What You Will Learn Understand the best practices of Serverless architecture Learn how how to deploy a Text Sentiment Evaluation application in an Azure Serverless environment Implement security, identity, and access control Take advantage of the speed of deployment in the cloud Configure application health monitoring, logging, and alerts Design your application to ensure cost effectiveness, high availability, and scale In Detail Serverless architecture allows you to build and run applications and services without having to manage the infrastructure. Many companies have started adopting serverless architecture for their applications to save cost and improve scalability. This book will be your companion in designing Serverless architecture for your applications using the .NET runtime, with Microsoft Azure as the cloud service provider. You will begin by understanding the concepts of Serverless architecture, its advantages and disadvantages. You will then set up the Azure environment and build a basic application using a sample text sentiment evaluation function. From here, you will be shown how to run services in a Serverless environment. We will cover the integration with other Azure and 3rd party services such as Azure Service Bus, as well as configuring dependencies on NuGet libraries, among other topics. After this, you will learn about debugging and testing your Azure functions, and then automating deployment from source control. Securing your application and monitoring its health will follow from there, and then in the final part of the book, you will learn how to Design for High Availability, Disaster Recovery and Scale, as well as how to take advantage of the cloud pay-as-you-go model to design cost-effective services. We will finish off with explaining how azure functions scale up against AWS Lambda, Azure Web Jobs, and Azure Batch compare to other types of compute-on-demand services. Whether you've been working with Azure for a while, or you're just getting started, by the end of the book you will have all the information you need to set up and deploy applications to the Azure Serverless Computing environment. Style and approach This step-by-step guide shows you the concepts and features of Serverless architecture in Azure with .NET.
Build scalable, efficient, and highly available web apps using AWS About This Book Get an in-depth understanding of the serverless model Build a complete serverless web application end to end Learn how to use the Serverless Framework to improve your productivity Who This Book Is For If you're looking to learn more about scalable and cost-efficient architectures, this book is for you. Basic knowledge of Node.js skills or familiarity with cloud services is required. For other topics, we cover the basics. What You Will Learn Get a grasp of the pros and cons of going serverless and its use cases Discover how you can use the building blocks of AWS to your advantage Set up the environment and create a basic app with the Serverless Framework Host static files on S3 and CloudFront with HTTPS support Build a sample application with a frontend using React as an SPA Develop the Node.js backend to handle requests and connect to a SimpleDB database Secure your applications with authentication and authorization Implement the publish-subscribe pattern to handle notifications in a serverless application Create tests, define the workflow for deployment, and monitor your app In Detail This book will equip you with the knowledge needed to build your own serverless apps by showing you how to set up different services while making your application scalable, highly available, and efficient. We begin by giving you an idea of what it means to go serverless, exploring the pros and cons of the serverless model and its use cases. Next, you will be introduced to the AWS services that will be used throughout the book, how to estimate costs, and how to set up and use the Serverless Framework. From here, you will start to build an entire serverless project of an online store, beginning with a React SPA frontend hosted on AWS followed by a serverless backend with API Gateway and Lambda functions. You will also learn to access data from a SimpleDB database, secure the application with authentication and authorization, and implement serverless notifications for browsers using AWS IoT. This book will describe how to monitor the performance, efficiency, and errors of your apps and conclude by teaching you how to test and deploy your applications. Style and approach This book takes a step-by-step approach on how to use the Serverless Framework and AWS services to build Serverless Applications. It will give you a hands-on feeling, allowing you to practice while reading. It provides a brief introduction of concepts while keeping the focus on the practical skills required to develop applications.
Discover techniques and tools for building serverless applications with AWS Key Features Get well-versed with building and deploying serverless APIs with microservices Learn to build distributed applications and microservices with AWS Step Functions A step-by-step guide that will get you up and running with building and managing applications on the AWS platform Book Description Amazon Web Services (AWS) is the most popular and widely-used cloud platform. Administering and deploying application on AWS makes the applications resilient and robust. The main focus of the book is to cover the basic concepts of cloud-based development followed by running solutions in AWS Cloud, which will help the solutions run at scale. This book not only guides you through the trade-offs and ideas behind efficient cloud applications, but is a comprehensive guide to getting the most out of AWS. In the first section, you will begin by looking at the key concepts of AWS, setting up your AWS account, and operating it. This guide also covers cloud service models, which will help you build highly scalable and secure applications on the AWS platform. We will then dive deep into concepts of cloud computing with S3 storage, RDS and EC2. Next, this book will walk you through VPC, building realtime serverless environments, and deploying serverless APIs with microservices. Finally, this book will teach you to monitor your applications, and automate your infrastructure and deploy with CloudFormation. By the end of this book, you will be well-versed with the various services that AWS provides and will be able to leverage AWS infrastructure to accelerate the development process. What you will learn Set up your AWS account and get started with the basic concepts of AWS Learn about AWS terminology and identity access management Acquaint yourself with important elements of the cloud with features such as computing, ELB, and VPC Back up your database and ensure high availability by having an understanding of database-related services in the AWS cloud Integrate AWS services with your application to meet and exceed non-functional requirements Create and automate infrastructure to design cost-effective, highly available applications Who this book is for If you are an I.T. professional or a system architect who wants to improve infrastructure using AWS, then this book is for you. It is also for programmers who are new to AWS and want to build highly efficient, scalable applications.