37,19 €
Embracing the cloud—a Serverless architecture to solve problems at scale
This book aims at IT architects and developers who want to build scalable systems and deploy serverless applications with Azure functions. No prior knowledge of Azure functions is necessary.
Functions help you easily run small pieces of code in cloud with Azure functions without worrying about a whole application or the infrastructure to run it. With Azure functions, you can use triggers to execute your code and bindings to simplify the input and output of your code.
This book will start with the basics of Azure Functions. You will learn the steps to set up the environment and the tools that we will be using in the further chapters. Once you have a better understanding of this, we will be creating our first hello world function app. Later you will be introduced to triggers, how they are used to activate a function, and how binding can be used to output results of a function.You will also explore the steps to create an assembly with complex functionality that can be used by functions. Next, this book will teach you to scale your functions and use them to process data, integrate systems, and build simple APIs and microservices. Finally, this book will cover some diagnostic techniques with Azure App services and best practices of working with Azure Functions.
By the end of this book, you will be well-versed with the techniques of scaling your Azure functions and making the most of serverless architecture.
A step-by-side guide filled with real world examples that will guide you with the steps to build a scalable Cloud system
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 120
Veröffentlichungsjahr: 2017
BIRMINGHAM - MUMBAI
Copyright © 2017 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: September 2017
Production reference: 1260917
ISBN 978-1-78712-293-2
www.packtpub.com
Authors
Manisha Yadav
Mitesh Soni
Copy Editors
Laxmi Subramanian
Safis Editing
Reviewers
Ruben Oliva Ramos
Florian Klaffenbach
Project Coordinator
Shweta H Birwatkar
Commissioning Editor
Vijin Boricha
Proofreader
Safis Editing
Acquisition Editor
Divya Poojari
Indexer
Pratik Shirodkar
ContentDevelopmentEditor
Deepti Thore
Graphics
Tania Dutta
Technical Editor
Sneha Hanchate
Production Coordinator
Shantanu Zagade
Manisha Yadav is a system engineer. She has worked on Java-based projects, web application projects, and Azure and AWS cloud services. She has experience of working with tools such as Jenkins and SonarQube.
She also has work experience on databases such as MYSQL and MongoDB, and frontend technology such as HTML, CSS, JavaScript, and Angular JS.
She loves to explore new cloud services and new technologies.
She loves traveling and spending time with her family. She also likes cooking.
It gives me immense pleasure to thank the people who have helped me in this Journey. Many people contributed their time and energy on my behalf to make this book what it is. I would particularly like to thank to Nitin, Sandeep, Vaishnavi, and Rupali, who have been with me and encouraged me.
I would like to thank Mitesh; without his painstaking effort, this book would have never seen the light of day.
The patience and willingness to help shown by my reviewers is greatly appreciated.
Mitesh Soni is an avid learner with 10 years of experience in the IT industry. He is an SCJP, SCWCD, VCP, IBM Urbancode, and IBM Bluemix certified professional, and Certified Scrum Master. He loves DevOps and cloud computing and he also has an interest in programming in Java. He finds design patterns fascinating. He believes a picture is worth a thousand words.
He occasionally contributes to etutorialsworld.com. He loves to play with kids, fiddle with his camera, and take photographs at Indroda Park. He is addicted to taking pictures without knowing many technical details. He lives in the capital of Mahatma Gandhi's home state.
Mitesh has authored the following books with Packt:
Jenkins Essentials, Second Edition
DevOps Bootcamp
Implementing DevOps with Microsoft Azure
DevOps for Web Development
Jenkins Essentials
Learning Chef
I've always thanked a lot of people who have been instrumental in contributing to my life's journey until now, but I guess it's time to really acknowledge that one person who has been with me as long as I can remember.
With this book, I would like to thank the one and only invisible, yet omnipresent Almighty. We share a mutual love-and-hate relationship and I really value it. You were always there equally during my good and bad times and without You, I wouldn’t have made it this far!
Special thanks to Manisha for helping me in this journey; without her this book was not possible.
Last but not least, I want to thank all who taught me how to love myself, first!
Ruben Oliva Ramos is a computer systems engineer from Tecnologico of León Institute, with a master's degree in computer and electronic systems engineering, teleinformatics and networking specialization from University of Salle Bajio in Leon, Guanajuato Mexico. He has more than 5 years of experience in developing web applications to control and monitor devices connected with Arduino and Raspberry Pi using web frameworks and cloud services to build the Internet of Things applications.
He is a mechatronics teacher at University of Salle Bajio and teaches students on the master's degree in design and engineering of mechatronics systems, also works at Centro de Bachillerato Tecnologico Industrial 225 in Leon, Guanajuato Mexico, teaching subjects such as electronics, robotics and control, automation, and microcontrollers on Mechatronics Technician Career, Consultant and developer projects in areas such as monitoring systems and datalogger data using technologies such as Android, iOS, Windows Phone, HTML5, PHP, CSS, Ajax, JavaScript, Angular, ASP .NET databases: SQlite, mongoDB, MySQL, WEB Servers: Node.js, IIS, hardware programming: Arduino, Raspberry pi, Ethernet Shield, GPS and GSM/GPRS, ESP8266, control and monitor Systems for data Acquisition and Programming.
He has written a book for Packt Publishing titled Internet of Things Programming with JavaScript. He has also written Monitoring, Controlling, and Acquisition of Data with Arduino and Visual Basic .NET for Alfaomega.
I would like to thank my savior and lord, Jesus Christ, for giving me strength and courage to pursue this project; to my dearest wife, Mayte; our two lovely sons, Ruben and Dario; to my dear father, Ruben; my dearest mom, Rosalia; my brother, Juan Tomas; and my sister, Rosalia, whom I love, for all their support while reviewing this book, for allowing me to pursue my dream and tolerating not being with them after my busy day job.
I’m very grateful to Pack Publishing for giving me the opportunity to collaborate as an author and reviewer, to belong to this honest and professional team.
Florian Klaffenbach started in 2004 with his IT career as first and second level IT support technician and IT salesman trainee for a B2B online shop. After that, he changed to a small company working as IT project manager, planning, implementing, and integrating from industrial plants and laundries into enterprise IT. After spending some years, he changed his path to Dell Germany. There he started from scratch as an enterprise technical support analyst and later worked on a project to start Dell technical communities and support over social media in Europe and outside of the U.S. Currently, he is working as technology solutions professional for Microsoft specialized on hybrid microsoft cloud infrastructure.
In addition to his job, he is active as a Microsoft blogger and lecturer. He blogs, for example, on his own page Datacenter-Flo.de or Brocade Germany Community. Together with a very good friend, he founded the Windows Server User Group, Berlin, to create network of Microsoft ITPros in Berlin. Florian is maintaining a very tight network to many vendors such as Cisco, Dell, or Microsoft and Communities. This helps him to grow his experience and to get the best out of a solution for his customers. Since 2016, he is also the co-chairman of the Azure Community, Germany. In April 2016, Microsoft awarded Florian as the Microsoft Most Valuable Professional for Cloud and Datacenter Management. In 2017, after joining Microsoft, Florian became an MVP reconnect member.
Florian worked for several companies and Microsoft partners such as Dell Germany, CGI Germany, and msg services ag. Now he has joined Microsoft Germany in a technical presales role and supports customers to get started with hybrid cloud infrastructures and topics.
He has also reviewed the following books for Packt:
Microsoft Azure Storage Essentials
Mastering Microsoft Azure Development
For support files and downloads related to your book, please visit www.PacktPub.com.
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details.
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
https://www.packtpub.com/mapt
Get the most in-demand software skills with Mapt. Mapt gives you full access to all Packt books and video courses, as well as industry-leading tools to help you plan your personal development and advance your career.
Fully searchable across every book published by Packt
Copy and paste, print, and bookmark content
On demand and accessible via a web browser
Thanks for purchasing this Packt book. At Packt, quality is at the heart of our editorial process. To help us improve, please leave us an honest review.
If you'd like to join our team of regular reviewers, you can e-mail us at [email protected]. We award our regular reviewers with free eBooks and videos in exchange for their valuable feedback. Help us be relentless in improving our products!
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Downloading the color images of this book
Errata
Piracy
Questions
Introducing Microsoft Azure Services and Functions
An overview of serverless architectures
Cloud computing and service models
Cloud computing and its basics
Serverless computing
Benefits
Why Azure Functions?
An overview of Microsoft Azure Services
Regions
Resource groups
App Services - Microsoft Azure Web Apps
App Service plan
Azure Active Directory
App Insights
Azure Services versus AzureFunctions versus AWS Lambda
Summary
First Function App - Anatomy and Structure of a Function App
Anatomy of Azure Functions
Azure Function App
Function code
Function configuration
Function settings
Runtime
Setting up a basic Azure Function
Summary
Application of Triggers
Common types of triggers
Example of creating a simple scheduled trigger
HTTP trigger
Event hubs
Service bus
Summary
Bindings
Available input and output bindings
Types of input bindings
Types of output bindings
Types of Event Hubs
Event Hubs
Example
Service Bus
Storage
Example
Summary
Webhooks for Azure Functions
Creating a JavaScript function triggered by a Webhook
Using a Webhook with an Azure Function
Using an event with an Azure Function
Summary
The Real World - Functions to Build Consumable APIs
Outlining a project
Architecting the solution
Building the project
Using storage
Test
Summary
Managing and Deploying your Code
Projects in VSTS
Continuous Integration
Continuous Delivery
Summary
Business Considerations
Monitoring of Azure Functions
Integration of Application Insights and Azure Functions
Pricing/hosting plans
Best practices
Summary
Working with Different Languages
The Python Function App
Example
The PHP Function App
Example
Summary
Serverless is not actually serverless. It means that users only need to manage code/applications and not servers. The server will be managed by the service provider. We as users only pay when our code or function is executed in the serverless or in a server that is not managed by us. Scaling is based on request and pricing differs based on the service provider.
AWS Lambda and Azure Functions are two examples of serverless computing or Function as a Service. Azure Functions enable us to create serveless applications in the Microsoft Azure environment. Azure Functions are open sourced and available on GitHub. They support different languages such as C#, F#, Node.js, Python, PHP, batch, bash, or PowerShell.
It is always best to focus on building innovative applications that help businesses to grow in different dimensions. So, it is important to de-focus from provisioning, managing and maintaining servers, managing high availability, and configuring security. Azure Functions allow us to focus on building applications with a serverless architecture.
Additionally, if we can utilize DevOps practices such as Continuous Integration, Continuous Monitoring, and Continuous Delivery with approval mechanisms using Visual Studio Team Services, that is the a cherry on the cake, isn't It?
Chapter1,
