Download full Ai as a service serverless machine learning with aws 1st edition peter elger eoin shan

Page 1


Visit to download the full and correct content document: https://textbookfull.com/product/ai-as-a-service-serverless-machine-learning-with-aws -1st-edition-peter-elger-eoin-shanaghy-shanaghy-eoin/

More products digital (pdf, epub, mobi) instant download maybe you interests ...

AI as a Service: Serverless machine learning with AWS 1st Edition Peter Elger

https://textbookfull.com/product/ai-as-a-service-serverlessmachine-learning-with-aws-1st-edition-peter-elger/

Self-Service

AI with Power BI Desktop: Machine Learning Insights for Business Markus Ehrenmueller-Jensen

https://textbookfull.com/product/self-service-ai-with-power-bidesktop-machine-learning-insights-for-business-markusehrenmueller-jensen/

Practical Machine Learning with AWS Process Build Deploy and Productionize Your Models Using AWS 1st Edition Himanshu Singh

https://textbookfull.com/product/practical-machine-learning-withaws-process-build-deploy-and-productionize-your-models-usingaws-1st-edition-himanshu-singh/

Practical Machine Learning with AWS : Process, Build, Deploy, and Productionize Your Models Using AWS Himanshu Singh

https://textbookfull.com/product/practical-machine-learning-withaws-process-build-deploy-and-productionize-your-models-using-awshimanshu-singh/

Serverless Architectures on AWS Second Edition MEAP V06

https://textbookfull.com/product/serverless-architectures-on-awssecond-edition-meap-v06-peter-sbarski-yan-cui-ajay-nair/

Serverless Development on AWS: Building EnterpriseScale Serverless Solutions 1st Edition Sheen Brisals

https://textbookfull.com/product/serverless-development-on-awsbuilding-enterprise-scale-serverless-solutions-1st-edition-sheenbrisals/

Data Science on AWS Implementing End to End Continuous AI and Machine Learning Pipelines Early Edition Chris Fregly

https://textbookfull.com/product/data-science-on-awsimplementing-end-to-end-continuous-ai-and-machine-learningpipelines-early-edition-chris-fregly/

Practical Machine Learning with H2O Powerful Scalable Techniques for Deep Learning and AI 1st Edition Darren Cook

https://textbookfull.com/product/practical-machine-learningwith-h2o-powerful-scalable-techniques-for-deep-learning-andai-1st-edition-darren-cook/

Practical machine learning with H2O powerful scalable techniques for deep learning and AI First Edition Cook

https://textbookfull.com/product/practical-machine-learningwith-h2o-powerful-scalable-techniques-for-deep-learning-and-aifirst-edition-cook/

PETER

Copyright

For online information and ordering of these and other Manning books, please visit manning.com. The publisher offers discounts on these books when ordered in quantity.

For more information, please contact

Special Sales Department

Manning Publications Co.

20 Baldwin Road PO Box 761

Shelter Island, NY 11964

Email: orders@manning.com

©2020 by Manning Publications Co. All rights reserved.

No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher.

Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and Manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps.

♾ Recognizing the importance of preserving what has been written, it is Manning’s policy to have the books we publish printed on acid-free paper, and we exert our best efforts to that end. Recognizing also our responsibility to conserve the resources of our planet, Manning books are printed on paper that is at least 15 percent recycled and processed without the use of elemental chlorine.

Manning Publications Co.

20 Baldwin Road Technical

PO Box 761

Shelter Island, NY 11964

Development editor: Lesley Trites

Technical development editor: Al Krinker

Review editor: Ivan Martinović

Production editor: Deirdre S. Hiam

Copy editor: Ben Berg

Proofreader: Melody Dolab

Technical proofreader: Guillaume Alleon

Typesetter and cover designer: Marija Tudor

ISBN: 9781617296154

dedication

For my parents, Noel and Kay—Eóin

For my daughters Isobel and Katie, my parents Jacky and Julian, and my brother Jonathon—Peter

contents

foreword preface acknowledgments aboutthisbook abouttheauthors aboutthecoverillustration

Part 1. First steps

1Ataleoftwotechnologies

1.1 Cloud landscape

1.2 What is Serverless?

1.3 The need for speed

The early days

The Unix philosophy

Object orientation and patterns

Java, J2EE, .NET,

XML and SOAXML (Extensible Markup Language) SOA (serviceoriented architecture)

Web speed

Cloud computing

Microservices (rediscovery)

Cloud native services

The trend: speed

1.4 What is AI?

History of AI

Real world AI

AI services

AI and machine learning

Deep learning

AI challenges

1.5 The democratization of compute power and artificial intelligence

1.6 Canonical AI as a Service architecture

Web application

Realtime services

Batch services

Communication services

Utility services

AI services

Data services

Operational support

Development support

Off-platform

1.7 Realization on Amazon Web Services

2.1 Our first system

2.2 Architecture

Web application

Synchronous services

Asynchronous services

Communication services

AI services

Data services

Development support and operational support

2.3 Getting ready

DNS domain and SSL/TLS certificate

Setup checklist

Get the code

Setting up cloud resources

2.4 Implementing the asynchronous services

Crawler service 3Buildingaserverlessimagerecognitionsystem,part2

3.1 Deploying the asynchronous services

Analysis service

3.2 Implementing the synchronous services

UI service

Front end service

3.3 Running the system

3.4 Removing the system

Part 2. Tools of the trade

4Buildingandsecuringawebapplicationtheserverlessway

4.1 The to-do list

4.2 Architecture

Web application

Synchronous services

Asynchronous services

Communication fabric

Utility services 85AI services

Data services

Development support and operational support

4.3 Getting ready

Getting the code

4.4 Step 1: The basic application

Resources

To-do service

Front end

Deploying step 1

4.5 Step 2: Securing with Cognito

Getting the code

User service

To-do service

Front-end service

Deploying step 2

5AddingAIinterfacestoawebapplication

5.1 Step 3: Adding a speech-to-text interface

Getting the code

Note service

Front-end updates

Deploying step 3

Testing step 3

5.2 Step 4: Adding text-to-speech

Getting the code

Schedule service

Front-end updates

Deploying step

Testing step

5.3 Step 5: Adding a conversational chatbot interface

Getting the code

Creating the bot

Front-end updates

Deploying step

Testing step

5.4 Removing the system

6HowtobeeffectivewithAIasaService

6.1 Addressing the new challenges of Serverless

Benefits and challenges of Serverless

A production-grade serverless template

6.2 Establishing a project structure

The source repository--monorepo or polyrepo

Project folder structure

Get the code

6.3 Continuous deployment

Continuous deployment design

Implementing continuous deployment with AWS services

6.4 Observability and monitoring

6.5 Logs

Writing structured logs

Inspecting log output

Searching logs using CloudWatch Logs Insights

6.6 Monitoring service and application metrics

Service metrics

Application metrics

Using metrics to create alarms

6.7 Using traces to make sense of distributed applications

Enabling X-Ray tracing

Exploring traces and maps

Advanced tracing with annotations and custom metrics

7ApplyingAItoexistingplatforms

7.1 Integration patterns for serverless AI

Pattern 1: Synchronous API

Pattern 2: Asynchronous API

Pattern 3: VPN Stream In

Pattern 4 VPN: Fully connected streaming

Which pattern?

7.2 Improving identity verification with Textract

Get the code

Text Analysis API

Client code

Deploy the API

Test the API

Remove the API

7.3 An AI-enabled data processing pipeline with Kinesis

Get the code

Deploying the API

7.4 On-the-fly translation with Translate

7.5 Testing the pipeline

7.6 Sentiment analysis with Comprehend

7.7 Training a custom document classifier

Create a training bucket

Upload training data

Create an IAM role

Run training

7.8 Using the custom classifier

7.9 Testing the pipeline end to end

7.10 Removing the pipeline

7.11 Benefits of automation

Part 3. Bringing it all together

8.1 Scenario: Finding events and speakers

Identifying data required

Sources of data

Preparing data for training

8.2 Gathering data from the web

8.3 Introduction to web crawling

Typical web crawler process

Web crawler architecture

Serverless web crawler architecture

8.4 Implementing an item store

Getting the code

The item store bucket 219Deploying the item store

8.5 Creating a frontier to store and manage URLs

Getting the code

The frontier URL database

Creating the frontier API

Deploying and testing the frontier

8.6 Building the fetcher to retrieve and parse web pages

Configuring and controlling a headless browser

Capturing page output

Fetching multiple pages

Deploying and testing the fetcher

8.7 Determining the crawl space in a strategy service

8.8 Orchestrating the crawler with a scheduler

Grabbing the code

Using Step Functions

Deploying and testing the scheduler

9ExtractingvaluefromlargedatasetswithAI

9.1 Using AI to extract significant information from web pages

Understanding the problem

Extending the architecture

9.2 Understanding Comprehend’s entity recognition APIs

9.3 Preparing data for information extraction

Getting the code

Creating an S3 event notification

Implementing the preparation handler

Adding resilience with a dead letter queue (DLQ)

Creating the DLQ and retry handler

Deploying and testing the preparation service

9.4 Managing throughput with text batches

Getting the code

Retrieving batches of text for extraction

9.5 Asynchronous named entity abstraction

Get the code

Starting an entity recognition job

9.6 Checking entity recognition progress

9.7 Deploying and testing batch entity recognition

9.8 Persisting recognition results

9.9 Tying it all together

Orchestrating entity extraction

End-to-end data extraction testing

Viewing conference data extraction results

9.9 Wrapping up

Appendixes:

appendixA. AWSaccountsetupandconfiguration

appendix B. Data requirements for AWS managed AI services

appendixC. DatasourcesforAIapplications

appendixD. SettingupaDNSdomainandcertificate

appendixE. ServerlessFrameworkunderthehood

index

front matter

foreword

For the past two decades, AI has played an increasingly significant role in our lives. It has done so quietly behind the scenes, as AI technologies have been employed by companies around the world to improve search results, product recommendations, and advertising, and even to assist healthcare workers to provide a better diagnosis. AI technologies are all around us, and soon, we’ll all travel in cars that drive themselves!

With this rise in prominence came a rise in demand for relevant skills. Engineers with expertise in machine learning or deep learning are often hoovered up by the big tech companies at huge salaries. Meanwhile, every application on the surface of the earth wants to use AI to improve its user experience. But the ability to hire the relevant skillsets and acquire the necessary volume of data to train these AI models remains a significant barrier to entry.

Fortunately, cloud providers are offering more and more AI services that remove the need for you to steep yourself in the art of collecting and cleaning up data and training AI models. AWS, for instance, lets you use the same technologies that power product recommendations for Amazon.com through Amazon Personalize, or the speech recognition technology that powers Alexa with Amazon Transcribe. Other cloud providers (GCP, Azure, IBM, and so on) also offer similar services, and it will be through these services that we will see AI-powered features in everyday applications. And as these services become better and more accessible, there will be less need for people to train their own AI models, except for more specialised workloads.

It’s great to finally see a book that focuses on leveraging these AI services rather than the nitty-gritty details of training AI models. This book explains the important concepts in AI and machine learning in layman’s terms, and describes them for exactly what they are, without all the hype

and hyperbole that often accompany AI-related conversations. And the beauty of this book is that it is way more than “how to use these AI services from AWS,” but also how to build applications the serverless way. It covers everything from project organization, to continuous deployment, all the way to effective logging strategies and how to monitor your application using both service and application metrics. The later chapters of the book are also a treasure trove of integration patterns and realworld examples of how to sprinkle some AI magic into an existing application.

Serverless is a state of mind, a way of thinking about software development that puts the needs of the business and its customers at the forefront, and aims to create maximum business value with minimum effort by leveraging as many managed services as possible. This way of thinking leads to increased developer productivity and feature velocity, and often results in more scalable, resilient, and secure applications by building on the shoulders of giants such as AWS.

Serverless is not the future of how we build businesses around software; it’s the present and now, and it’s here to stay. This book will help you get started with Serverless development and show you how to integrate AI services into a Serverless application to enhance its user experience. Talk about hitting two birds with one stone!

preface

The fourth industrial revolution is upon us! The coming decade will likely see huge advances in areas such as gene editing, quantum computing, and, of course, artificial intelligence (AI). Most of us already interact with AI technology on a daily basis. This doesn’t just mean self-driving cars or automated lawn mowers. AI is far more pervasive than these obvious examples. Consider the product recommendation that Amazon just made

when you visited their site, the online chat conversation you just had with your airline to re-book a flight, or the text that your bank just sent you warning of a possibly fraudulent transaction on your account. All of these examples are driven by AI and machine learning technology.

Increasingly, developers will be required to add “smart” AI-enabled features and interfaces to the products and platforms that they build. Early adopters of AI and machine learning have been doing this for some time, of course; however, this required a large investment in research and development, typically requiring a team of data scientists to train, test, deploy, and operate custom AI models. This picture is changing rapidly due to the powerful force of commoditization.

In his 2010 bestselling book, The Big Switch, Nicholas Carr compared cloud computing to electricity, predicting that eventually we would consume computing resources as a utility. Though we are not quite at the point of true utility computing, it is becoming clearer that this consumption model is fast becoming a reality.

You can see this in the explosive growth in the range and capability of cloud-native services. Commoditization of the cloud stack has given rise to the serverless computing paradigm. It is our belief that serverless computing will become the de facto standard architecture for building software platforms and products in the future.

In conjunction with the commoditization of the wider application stack, AI is also rapidly becoming a commodity. Witness the number of AI services that are available from the major cloud providers in areas such as image recognition, natural language processing, and chatbot interfaces. These AI services grow in number and capability month by month.

At our company, fourTheorem, we use these technologies on a daily basis to help our clients extend and improve their existing systems through the application of AI services. We help our clients to adopt serverless architectures and tools to accelerate their platform development efforts, and we use our experience to help restructure legacy systems so that they can run more efficiently on cloud.

It is the rapid growth and commoditization of these two technologies, Serverless and AI services, along with our experience of applying them to real-world projects, that led us to write this book. We wanted to provide an engineer’s guide to help you succeed with AI as a Service, and we wish you luck as you begin to master this brave new world of software development!

acknowledgments

Ask any technical book author ,and they will tell you that completing a book takes a lot of time and effort. It also requires the fantastic support of others. We are incredibly grateful for the many people who made completing this book possible.

First we would like to thank our families for their support, understanding, and patience while we worked to complete the book. Eóin would like to thank his amazing wife, Keelin, for her unending patience, moral support, and indispensable technical reviews. He would also like to thank Aoife and Cormac for being the best children in the world. Peter would like to thank his daughters, Isobel and Katie, just for being awesome.

Eóin and Peter would like to thank fourTheorem co-founder Fiona McKenna for her belief in this book, and her constant support and expertise in so many areas. We could not have done it without you.

Starting a project like this is the hardest part, and we are grateful for the people who helped in the beginning. Johannes Ahlmann contributed ideas, writing, and discussion that helped to shape what this book became. James Dadd and Robert Paulus provided invaluable support and feedback.

We would also like to thank the awesome team at Manning for making this book possible. In particular, we want to thank Lesley Trites, our development editor, for her patience and support. We would also like to thank Palak Mathur and Al Krinker, our technical development editors, for their review and feedback. Thank you to our project editor, Deirdre Hiam; Ben Berg, our copyeditor; Melody Dolab, our proofreader, and Ivan Martinović, our reviewing editor.

We would like to thank Yan Cui for writing the foreword to this book. Yan is an outstanding architect and champion of all things serverless, and we are grateful for his endorsement.

A big thanks to all of the reviewers for their feedback and suggestions for improvement to the text and examples: Alain Couniot, Alex Gascon, Andrew Hamor, Dwight Barry, Earl B. Bingham, Eros Pedrini, Greg Andress, Guillaume Alleon, Leemay Nassery, Manu Sareena, Maria Gemini, Matt Welke, Michael Jensen, Mykhaylo Rubezhanskyy, Nirupam Sharma, Philippe Vialatte, Polina Keselman, Rob Pacheco, Roger M. Meli, Sowmya Vajjala, Yvon Vieville,

A special thanks to Guillaume Alleon, technical proofreader, for his careful review and testing of the code examples.

Finally we wish to acknowledge the broader open source community, of which we are proud to participate in. We truly do stand on the shoulders of giants!

about this book

AI as a Service was written as an engineer’s guide to building AI-enabled platforms and services. The aim of the book is to get you up and running, and able to produce results quickly, without getting stuck in the weeds. AI and machine learning are big topics, and there is an awful lot to learn if you wish to master these disciplines. It is not our intent to discourage anyone from doing this, however if you need to get results quickly, this book will help you get up to speed.

The book examines two growing and increasingly important technologies: serverless computing and artificial intelligence. We examine these from a developer’s perspective to provide a practical, hands-on guide.

All of the major cloud vendors are engaged in a race to provide relevant AI services, such as Image recognition

Speech-to-text, text-to-speech

Chatbots

Language translation

Natural language processing

Recommendations

This list will only expand over time!

The good news is that you do not need to be an AI or machine learning expert to use these offerings. This book will guide you in applying these services in your day-to-day work as a developer.

In tandem with the grown of AI services, it is now possible to build and deploy applications with a minimum of operational overhead using the serverless approach. Our belief is that within the next few years, the tools, techniques, and architectures described in this book will become part of the standard toolkit for enterprise platform development. This book will bring you up to speed quickly, and help you build new systems using serverless architectures and to apply AI services to your existing platforms.

Who should read this book

AI as a Service was written for full stack and back-end developers who are tasked with implementing AI-enhanced platforms and services. The book will also be of value to solution architects and product owners looking to understand how their systems can be augmented and improved with AI. DevOps professionals will gain valuable insights into the “serverless way” of building and deploying systems.

How this book is organized: a roadmap

This book is broken down into three sections covering nine chapters.

Part 1 provides some background and examines a simple serverless AI system:

Chapter 1 discusses the rise of serverless computing over the last few years, explaining why Serverless represents true utility cloud computing. Following this, it provides a brief overview of AI in order to bring readers with no experience with the topic up to speed.

Chapters 2 and 3 rapidly construct a serverless AI system that uses off-the-shelf image recognition technology. Readers can deploy and experiment with this system to explore how image recognition can be used.

Part 2 goes much deeper into the individual tools and techniques that developers need to know to become effective with serverless and off-theshelf AI:

Chapter 4 examines how to build and deploy a simple serverless web application and then, perhaps more importantly, how to secure the application the serverless way.

Chapter 5 explores how we can add AI-driven interfaces to a serverless web application, including speech-to-text, text-to-speech, and a conversational chatbot interface.

Chapter 6 provides some specific advice on how to be an effective developer with this new technology set, including project structure, CI/CD, and observability--things that most developers getting to grips with this technology will need in their tool chest.

Chapter 7 looks in detail at how serverless AI can be applied to existing or legacy platforms. Here we provide advice on the generic patterns that can be applied, and also look at some point solutions to illustrate application of these patterns.

Part 3 looks at how we can bring together what you’ve learned from the first two parts in the context of a full-scale AI-driven system:

Chapter 8 examines gathering data at scale, using the example of a serverless web crawler.

Chapter 9 looks at how we can extract value from large data sets using AI as a Service, using the data collected from the serverless web crawler.

Readers should review the material in chapter 1 to get a basic grounding of the subject matter, and pay close attention to the content in chapter 2, where we describe how to set up a development environment. The book is best read in order, as each chapter builds on the examples and learning from the previous one.

About the code

This book contains many examples of source code, both in numbered listings and inline with normal text. In both cases, source code is formatted in a fixed-width font like this to separate it from ordinary text. Sometimes code is also in bold to highlight code that has changed from previous steps in the chapter, such as when a new feature adds to an existing line of code.

In many cases, the original source code has been reformatted; we’ve added line breaks and reworked indentation to accommodate the available page space in the book. In rare cases, even this was not enough, and listings include line-continuation markers (➥). Additionally, comments in the source code have often been removed from the listings when the code is described in the text. Code annotations accompany many of the listings, highlighting important concepts. Source code for the examples in this book is available for download from the publisher’s website.

All of the source code for this book is available at this repository: https:// github.com/fourTheorem/ai-as-a-service.

liveBook discussion forum

Purchase of AI as a Service includes free access to a private web forum run by Manning Publications where you can make comments about the book, ask technical questions, and receive help from the author and from other users. To access the forum, go to https://livebook.manning.com/#!/book/ai-as-a-service/discussion. You can also learn more about Manning’s forums and the rules of conduct at https://livebook .manning.com/#!/discussion.

Manning’s commitment to our readers is to provide a venue where a meaningful dialogue between individual readers and between readers and the author can take place. It is not a commitment to any specific amount of participation on the part of the author, whose contribution to the forum remains voluntary (and unpaid). We suggest you try asking the author some challenging questions lest his interest stray! The forum and the archives of previous discussions will be accessible from the publisher’s website as long as the book is in print.

about the authors

Peter Elger is a co-founder and CEO of fourTheorem. Peter started his career at the JET Joint Undertaking in the UK, where he spent seven years building acquisition, control, and data analytics systems for nuclear fusion research. He has held technical leadership roles across a broad base of the software industry in both the research and commercial sectors, including software disaster recovery, telecommunications, and social media. Prior to founding fourTheorem, Peter was co-founder and CTO of two companies: Stitcher Ads, a social advertising platform; and nearForm, a Node.js consultancy. Peter’s current focus is on delivering business value to his clients through the application of cutting edge serverless technology, cloud architectures, and machine learning. His experience covers everything from architecting large-scale distributed software systems to leading the international teams that implement them. Peter holds degrees in physics and computer science.

Eóin Shanaghy was fortunate enough to have been able to start programming on a Sinclair ZX Spectrum in the mid-1980s. It was the first piece of electronics he didn’t try to disassemble. These days, he tries to take software systems apart instead. Eóin is the CTO and cofounder of fourTheorem, a technology consulting firm and AWS Partner. He is an architect and developer with experience in building and scaling systems for both startups and large enterprises. Eóin has worked in many different technology eras, from Java-based distributed systems back in 2000 to full-stack polyglot container and serverless applications in recent years. Eóin holds a B.A. in computer science from Trinity College, Dublin.

about the cover illustration

The figure on the cover of AI as a Service is captioned “Homme de la Forêt Noire,” or “The man from the Black Forest.” The illustration is taken from a collection of dress costumes from various countries by Jacques Grasset de Saint-Sauveur (1757-1810), titled Costumes civils actuels de tous les peuples connus, published in France in 1788. Each illustration is finely drawn and colored by hand. The rich variety of Grasset de SaintSauveur’s collection reminds us vividly of how culturally apart the world’s towns and regions were just 200 years ago. Isolated from each other, people spoke different dialects and languages. In the streets or in the countryside, it was easy to identify where they lived and what their trade or station in life was just by their dress.

The way we dress has changed since then and the diversity by region, so rich at the time, has faded away. It is now hard to tell apart the inhabitants of different continents, let alone different towns, regions, or countries. Perhaps we have traded cultural diversity for a more varied personal life--certainly for a more varied and fast-paced technological life.

At a time when it is hard to tell one computer book from another, Manning celebrates the inventiveness and initiative of the computer business with

book covers based on the rich diversity of regional life of two centuries ago, brought back to life by Grasset de Saint-Sauveur’s pictures.

Part 1. First steps

In part I we provide the ground work to get you up to speed on AI as a Service. In chapter 1 we look at the development and history of artificial intelligence and serverless computing. We review the current state of the art, and we categorize the available services on AWS into a standard architectural structure. In chapters 2 and 3 we dive right in and build a serverless image recognition system as our first AI as a Service platform.

1 A tale of two technologies

This chapter covers

Cloud landscape

What is Serverless?

What is artificial intelligence?

The democratizing power of Moore’s Law

A canonical AI as a Service architecture

Canonical architecture on Amazon Web Services

Welcome to our book! In these pages we are going to explore two exploding technologies: serverless computing and artificial intelligence. We will do this from an engineering perspective. When we say an engineering perspective, we mean that this book will provide you with a practical hands-on guide to get you up and running with AI as a Service, without getting bogged down in a lot of theory.

We imagine that like most people, you have heard of these topics and will be wondering why we’ve combined both of these seemingly disparate subjects into a single book. As we will see throughout the following chapters, the combination of these technologies has the potential to become the de facto standard for enterprise and business-to-consumer platform development. It is a combination that will provide software developers--and by implication the businesses they work for--with enormous power to augment and improve existing systems and to rapidly develop and deploy new AI-enabled platforms.

The world is becoming increasingly digital--you may have heard of the phrase “digital transformation.” This generally refers to the process of transforming existing manual business processes that are currently run using spreadsheets, local databases, or even no software at all into platforms running on the cloud. Serverless provides us with a tool chain to accelerate digital transformation, and increasingly AI forms a core part of

these transformations, replacing all or part of these human-driven business processes with computers.

Software developers will increasingly be required to implement these platforms; most of us who are involved in the software industry will need to become skilled at designing, developing, and maintaining these types of systems if we aren’t already.

Are you currently thinking, “I don’t know anything about AI! Do I need to become an AI expert, because that sounds really difficult?” Don’t panic! You don’t need to become a data scientist or a machine learning expert in order to build serverless AI systems. As we will see throughout this book, most of the hard work has already been done for you in the form of “offthe-shelf” cloud AI services. Our job as software professionals is to engineer solutions using these components.

Let’s consider a simple example to illustrate the concept. Imagine a chain of hotels. There are a lot of processes that must occur in order for the company running the hotels to be successful and operate at a profit. Take, for example, the problem of deciding what the room rate should be on a certain day. If this is priced too high, no one will book, and if it is priced too low, the company will lose out on revenue. Humans operating this process rely on their experience to set the room rates, and will take into account factors such as the local competition, time of year, the expected weather, and any events of interest that may be occurring in the locality. Once decided upon, these rates will be advertised but will constantly change as the local conditions change and rooms are booked up.

This process is a great fit for an AI as a Service platform, as it is a problem in optimization. Using cloud-native services, we can imagine rapidly developing services to ingest and store the appropriate data, either through API access or scraping web sites with information on local events. We can use off-the-shelf AI models to interpret the scraped data, and we could cross-train an existing neural network to compute the optimal room rate for us. Rates could be automatically published through another service. This could be achieved today with a very limited knowledge of AI, purely through connecting cloud-native AI and data services.

If your primary interest is developing simple web sites, or low-level communication protocols, AI as a Service is not going to be of interest. However, for the vast majority of software professionals, AI as a Service will be something that will have a major impact on your professional life, and soon!

1.1 Cloud landscape

Anyone involved in the software industry will have at least a basic understanding of cloud computing. Cloud computing began as a mechanism to run virtual servers on someone else’s hardware--what is commonly know as Infrastructure as a Service (IaaS). It has since evolved into a much richer suite of on-demand services that can cater to a wide variety of compute loads. There are three major players at present: Amazon, Google, and Microsoft. Amazon Web Services (AWS) has been and continues to be the dominant provider of cloud infrastructure, delivering a bewildering array of offerings.

As of March 2020, the three major platforms provide a very similar range of services. Table 1.1 lists the number of available services from Amazon, Google, and Microsoft under a set of common categories as listed on their product pages.1

Table 1.1 Cloud service counts, March 2020

That’s a lot of services to try to understand, each of which comes with its own specific API. How can we best make sense of all of this and be effective engineers, given that we can never understand the entire landscape in detail? This landscape is also in a constant state of flux as new services are added and updated.

Our goal should be to understand the architectural principles and how we can compose systems from these services to achieve a specific business goal. We should aim to keep a mental inventory of the types of services that are available and to deep dive on a subset so that we can quickly assimilate and utilize a new service as needed, depending on the result that we want to achieve.

Another random document with no related content on Scribd:

K a l k o e n s c h e h a a n , II 95.

K a l m , over stinkdieren, II 302.

K a l m u k k e n , 379, 381

K a m k w a l l e n , 528

K a m s c h a d a l e n , 376

K a n g o e r o e , 318; ontwikkeling der ledematen bij den , 42

K a r n a k , salle hypostyle in den tempel van , 371

K a r o b b e r e e , dans der Australiërs, II 146

K a r p e r , het voorkomen van hermaphrodiete voorwerpen bij den — , 309

K a t , erfelijke genegenheid van een — voor een hond, 217

K a u k a s i ë r s , 381; haar der , 370.

K a u k a s i s c h e volken, 379.

K a u k a s u s , Wisents in den , II 257.

K e l t e n , 382.

K e n m e r k e n , secundaire seksueele bij de Cephalopoda, 529; bij Homoptera, 572.

K e n t , grot van , 432.

K e u s , groot gewicht der voor de ontwikkeling eener taal, 171.

K e v e r , heilige , het onveranderd blijven van den onbewijsbaar, 371.

K e v e r s , welriekende , 610.

K e y z e r l i n g , Blasius en , hun indeeling der Roestvogels (Insessores), II 94.

K h a r o , afbeeldingen van op Egyptische monumenten, 371

K h a s i a ’s, het bouwen van Megalithische monumenten door de , 386.

K h e d i v e , vinden van vuursteenen werktuigen door de invités van den , 262.

K i e m der wetenschappen van den mensch, bij de dieren gevonden, 261

K i e z e n van den mensch en van de apen, vergelijking der , 47

K i k v o r s c h , Os , II 36

K i n , ontbreken van de bij de onderkaak van la Naulette, 47

K i n d e r e n , verwilderde spreken niet, 159

K i n d e r l i e f d e , invloed der op de nakomelingschap, 216

K i n d e r s t e r f t e bij Israëlieten en Christenen te Amsterdam, 503

K i n g en Foote, ruw bewerkte steenen werktuigen, door in Indië gevonden, 262

K i n l i j s t , inwendige — , 47.

K i n t o n g s p i e r , 47.

K i s c h , Dr. E. H., over de oorzaken die bepalen tot welke sekse een kind zal behooren, 509.

K l a n k g e b a r e n , 156.

K l a n k n a b o o t s i n g , theorie der , 156.

K l a s s e n en onderrijken, 528.

K l a u w i e r e n , zie Laniadae.

K l e i n e n b e r g , over de afstamming der gewervelde dieren, 299.

K l i e r e n , Zog , 34.

K l i m a a t s v e r a n d e r i n g e n in de poolstreken, 413.

K l i p s p r i n g e r , II 259.

K l o k v o g e l s , II 95.

K n o b b e l t j e , kraakbeenig aan het oor van sommige menschen, 43.

Kobus ellipsiprymnus, II 259

K o c h , Prof , zijn ontdekkingen in zake tuberculose enz leiden tot achteruitgang van het ras, 101

K o e k o e k s b e e n , zie S t a a r t b e e n

K o l b e n , over de godsdienstige begrippen der Hottentotten, 160

K o l i b r i ’s, zie Trochilidae

K o n i n g i n n e n der bijen, jonge — , 215

K o n i n g s f a z a n t , II 173 [511]

K o n i n g s g r a v e n , Egyptische, II 348

K o n i j n e n , witte, II 147.

K o o r t s e n , intermitteerende — , 312.

K o p e r f a z a n t , II 173.

K o p e r t i j d , 373.

K o p t e n , 379.

K o r a a l e i l a n d e n , 42.

K o r d o f a n , bewoners van , 379.

K o r e a n e n , 381.

K o r e o - J a p a n n e e z e n , 381.

K o r h o e n , zie Tetrao Tetrix.

K o r i a k e n , 376.

K o w a l e w s k y , over Balanoglossus, 301.

K r a a i v o g e l s , zie Corvidae.

K r a a k b e e n d e r e n , bekervormige , 363; wigvormige , 383; in den larynx van den neger, 383

K r a a k b e e n i g knobbeltje, aan het oor van sommige menschen, 43

K r a b , dansende — , 529

K r a n s w i e r e n , 501

K r a u s e , Dr E , over dieren- en menschenziel, 220; komt op tegen de onderstelling van het zoogen der jongen door mannelijke zoogdieren, 321; over gestaarte menschen, 50.

K r o k o d i l l e n , geur der , 609.

K r u i d j e r o e r m i j n i e t , plaats van het onder de planten, 217.

K r u i p v o g e l s , zie Certhiadae.

K r i j t p e r i o d e , 320.

K u n t z e , O., de oudheid van Amerika’s oorspronkelijke bevolking bewezen door haar cultuurplanten, 409

K u p f f e r , Prof C , over de stamverwantschap tusschen Ascidiën en Werveldieren, 297

K u s h i e t e n , 407

K w a r t e l s , II 223

K w i - k w i , II 34.

K w i k s t a a r t e n , zie Motacillidae.

L. Labrax lupus, 310.

L a b y r i n t h o d o n t e n , zie A m p h i b i e ë n

L a b y r i n t h u l e e ë n , 315.

Lacerta Agilis, 35.

L a c h i s c h , Assyrische afbeeldingen van Joodsche krijgsgevangenen uit , 372

L a c o s s a g n e , over de grootte der schedels, 109

L a g o a - S a n t o , beenderen van , 374

Lagopus subalpina, wetenschappelijke naam van Dal-ripa, 510

L a m a , door de oude Peruanen getemd, 261

L a m b e r t , E , over rasverschillen in het tandstelsel, 109

L a m p r e i e n , 316, 319

L a n c e t d i e r e n , 313

L a n d , gemiddelde hoogte van het , 432

L a n d b o u w der inboorlingen van Amerika tijdens de ontdekking, 261

L a n d o i s , over het brommen der tweevleugelige insekten, 570; over de ribbetjes op de palpen van Sphingidae, 607; over den doodshoofdvlinder, 607; over de geluiden der Diptera, 572; over Cottus scorpius, II 35.

L a n d v e r h u i z i n g , zie E m i g r a t i e .

L a n g , over Gunda segmentata, 300.

L a n i a d a e , II 95.

L a n k e s t e r , Prof E Ray, over Vertebrata, 301

L a n t a a r n d r a g e r s , lichtend vermogen der , 572; Chineesche , 572

L a p l a n d e r s , 376

L a p p a r e n t , A de, over de standvastigheid der vastelanden, 412

L a r v e , wordt bij verdere ontwikkeling der soort embryo, II 223.

L a r v e n , zwemmende van Echinodermata, 528.

L a r y n x , verschil in het maaksel van den bij den neger en den blanke, 383

L a t i j n e n , 382

L a u r e n t i s c h e periode, 319

L e d e m a t e n , achterste en voorste , 41, 42

L e e u w , 42; brult meer mannen dan vrouwen aan, 40 [512]

L e e u w e r i k k e n , II 95; zie Alaudidae

Leguminosae, 218

L e i c h t e n s t e r n , von, over overtallige zogklieren en tepels, 104

L e i d a a p , voorrechten van den — , 218.

L e i d e n , overmaat der vrouwen te — , 506.

L e i p z i g , verhouding der seksen bij wettige en onwettige geboorten te — , 505.

L e l l e s sur Cher, Miocene-lagen van , 295.

L e m u r , 320.

Lemuria, 293.

L e m u r i d e n , 292, 318; hun gehoorwerktuig wijkt van dat van den mensch en der ware apen af, 41; woonplaats der , 294; placenta der klokvormig, 292

L e p i d o s i r e n , 42, 314, 317, 319

Lepidosteus, 319

Leptocardii, 313

Leptocephalus, 528.

Leptocephalichthys, 528.

L e t t e n , 328

L e v e n d en levenloos aangegevenen, verhouding tusschen in de provinciën van Nederland, 508

L e v e n s t i j d p e r k e n , verhouding der seksen in verschillende in Nederland, 507

L e v e r , afmetingen der — , 384

L e y d i g , over het parietaalorgaan bij de reptielen, 35; over de afstamming der gewervelde dieren, 299.

L i c h a a m s a f m e t i n g e n bij vrouwen, 379.

L i c h a a m s d e e l e n , abnormaal ontwikkelde, 38.

L i c h a a m s h e l f t e n , correlatie tusschen de beide homotype , 38.

L i c h a a m s h a r e n , buitengewone ontwikkeling der bij den mensch, dikwijls gepaard met onvolkomenheden in het tandstelsel, 42.

L i c h a m e n v a n R o s e n m ü l l e r , 34.

L i c h t e n d vermogen der lantaarndragers, 572; van den glimworm, 573

L i e f d e , ouderlijke en kinderlijke verklaard door de natuurlijke teeltkeus, 217

L i e f d e p i j l e n , bij de Gasteropoden, 529

L i e r v o g e l , zie Menura superba

L i m b u r g , getalsverhouding der seksen in , 506; der mannelijke en vrouwelijke geboorten in — , 508; der levend en levenloos aangegevenen in — , 508; der wettig en onwettig geboren jongens en meisjes in , 509.

L i n g u a t u l i n e n , 298.

L i n d e , Dr. A. van der, over de ziel der dieren, 220.

L i n n a e u s , over de Primaten, 42; over het verschil tusschen dieren en planten, 217; over het afvallen der horens bij gesneden rendieren, II 258

Lipocerca, 291

L i p p e r t , J , over zielendienst, 163; over het jodeln der Tyrolers, 164.

Lissencephala, 290,

L i s s o t r i c h e n , 381.

L i t h a u e n , Wisents in , II 257.

L i t h a u e r s , 382.

L i t t r é , E., en Ch. Robin, over de verschillen tusschen man en vrouw, II 345.

L i v o r n o , verhouding der seksen bij wettige en onwettige geboorten te , 505.

Lobi olfactorii, onbedekt bij de Lissencephala , 290.

Lobus posterior, volgens Owen alleen bij den mensch, 289.

L o c a n o , Francesco zoogt zijn kind zelf, 50.

L o c r i , Cicaden in , 571.

L o h e s t , over in België gevonden menschelijke skeletten, 49.

Loligopsis, 528.

Loligopsidae, familie der , 528.

L o k t o o n der vogels, 165.

L o m b r o s o , Caesar, over den misdadigen mensch, 260.

L o n g e n van een zoogdier homoloog met de kieuwen van een visch, 33.

L o n g p i j p e n , II 95 [513]

L o o f , afvallend een adaptatie aan den poolnacht, 413.

L o o p h o e n d e r s , II 223.

L o o p k w a r t e l s , II 223

L o o p v o g e l s , 501

L o p h o c o m e n , 380, 381

L o r i , 321

L o w t h i a n G r e e n , over de standvastigheid der vastelanden, 412

L u b a c h , Dr, over den Joodschen typus, 372; over de jaarlijksche toeneming der Joden in verschillende landen, 502; over de sterfteverhouding der Joodsche en niet-Joodsche bevolking in Pruisen, 502; over eierleggende zoogdieren, 296.

L u b b o c k , Sir John, over den Australischen Boemerang, 260; over den oorsprong der beschaving, 263; over mieren, 289

L u c a e , over de achterpooten van den leeuw, 42

L u c h t p i j p , II 95

L u c h t z a k k e n aan het strottenhoofd van een mensch, II 302

Luciae, orde der , 528,

L u i a a r d s , 420

L y e l l , Sir Charles, over de oudheid van den mensch, 37, 44

Lyencephala, 289

L i j s t e r s , zie Turdidae

M

M a a g der slankapen, 292

M a a g b l o e d i n g e n , maandelijks periodiek terugkeerende, 40.

M a a l t a n d e n , aantal der apen, 291.

M a a n , duur der zwangerschap en van den broeitijd in verband met den omloop der , 313

M a a n d s t o n d e n , het beste voorbeeld van een aan maandelijksche perioden gebonden normaal-proces, 40; niet bij alle individu’s zijn die perioden maandelijksch, 40; bij een en het zelfde individu niet altijd regelmatig, 40; der apen, 41; intermitteerend proces, 312.

M a c r o b i ë r s , 430; kenden het brood niet, 431

Macrolyristes, muziekinstrument van , 573

Macula lutea der apen, 41

M a d a g a s s e n , 381

M a d a g a s c a r , bewoond door Lemuriden, 294; — een voorbeeld van de fauna van Afrika, 431

M a d e l e i n e , la, periode van — , 427.

M a g y a r e n , 381.

M a i n t e n o n , beenderen uit het dolmen van — , 49.

M a i t l a n d , R. T., over Acherontia atropos, 607.

M a k i , 320.

M a l e i e r s , 381; inhoud van den schedel der , 107, 108; haar der , 370; woningen der , 151; grenslijn tusschen en Papoea’s, 375; wijken niet terug voor de blanken, 387

M a l e i s c h e ras, 379, 380.

M a l t h u s , wet van , II 395.

Mammalia, 313

M a m m o u t h , afbeeldingen van den , door een tijdgenoot vervaardigd, 36; lijken van den in Siberië gevonden, 110; tijdperk van den — , 44; beenderen van den , 46.

M a n d r i l , 150.

M a n n e n , met vrouwelijke borsten, 50; op de Oud-Egyptische monumenten en op de bouwvallen van Yucatan en Chiapas, rood of bruin gekleurd, II 377.

M a n t e l d i e r e n , 316.

M a o r i ’s, 262.

M a r i ë t t e , over de oudheid van de grotten van Beni-Hassan en van den tempel van Karnak, 371; over den ouderdom van het Egyptische rijk, 400; over de plaats van waar de Egyptenaren Egypte binnentrokken, 413

M a r s h , Prof., over het grooter worden der zoogdieren-hersenen in den loop der paleontologische ontwikkeling, 109; over vogels met tanden, 297.

M a r s h a l l , zijn onderzoekingen omtrent de hersenen der apen, 39.

Marsupialia, 290, 318, 320. [514]

M a r t i n , Dr. K., over de grenzen tusschen het Aziatische en Australische zoölogische gewest, 376.

M a s a i ’s, familietaal bij de , 175.

M a s k a , K. J., over den diluvialen mensch, 48.

M a s s a t , grot van, afbeeldingen van den holenbeer, aldaar gevonden, 36

M a t r o z e n , schoongevormde , bij de Goajiren goed behandeld, 99.

M a t t o s , Dr. Teixeira de, over de geboorte- en sterfteverhouding bij de Israëlieten te Amsterdam, 502

M a u r i t i u s , Balistes aculeatus van , II 35

M a y e r ’s proeven over de geluiden der Diptera, 570

Mechanitis, 570

M e c k l e n b u r g , verhouding der mannelijke en vrouwelijke geboorten in , 504

M e d i a a n v l a k , 47

M e d i c i n a l e t e e l t k e u s , 100, 101

M e d i n e t - A b o u , tempel van — , 371

M e e z e n , zie Paridae

Megaceros Hibernicus, II 256, 259.

Megapodii, II 222.

M e g a l i t h i s c h e monumenten, 385; over een groote uitgestrektheid verspreid, 385; ouderdom der , 385.

M e l a n i s m e , II 147.

Melanurus, het voorkomen van hermaphrodiete voorwerpen bij , 309.

M e l k , afscheiding van in de borsten van mannen, 50.

Membrana nictitans, 43.

Membrana semilinaris, II 95.

Membranae tympaniformia, II 95.

M e m b r a c i d e n , familie der , 573.

M e n , de beteekenis van het woord in de taal der Khasia’s, 386

M e n e s , wanneer hij leefde, 400.

M e n h i r , 385.

Menocerca, 291, 318

M e n o c e r k e n , 320

M e n s c h , bewijzen voor het bestaan van den gedurende het post-pliocene tijdvak of diluvium, 36; zijn hersenen komen in bouwplan overeen met die van de apen, 39; zijn hand is homoloog met den vleugel van een vledermuis, den graafpoot van een mol, 33; zijn armen zijn homoloog en analoog met de voorpooten van een aap, 33; oude sporen van den , 37; gestaarte , 50; zijn plaats in de natuur, 218; verschil tusschen den — en de dieren, 220; sporen van den in lagen van het tertiaire tijdvak, 294; voorouders van den uit de orde der apen, 318; stamboom van den , 319; de door zijn eigen arbeid opgeklommen tot de spits van het Dierenrijk, II 397; oorspronkelijk vaderland van den , 400; dit lag op de breedte van Groenland, 416; straalswijze verhuizingen van den oorspronkelijken — , 420; Wallace, over de hoogste geestvermogens van den , 226.

M e n s c h a a p , 421.

M e n s c h a p e n , 318, 320.

M e n s c h e l i j k geslacht, grondvormen van het volgens de oude Egyptenaars, II 348; oudheid van het , 294.

M e n s c h e n , 318, 320; oorspronkelijke , 381; sluikharige , 370, 381; spraaklooze — , 320; wolharige , 370, 381.

M e n s c h e n b e e n d e r e n , tertiaire in Californië, 295.

M e n s c h e n r a s s e n , 370, 371, 372, 379, 387; kenmerken bij lagere , 47

M e n s c h e n r i j k , 217

M e n s c h e n s o o r t e n , systematisch overzicht der twaalf , 380

M e n s t r u a t i e , 312

M e n t o n e , geraamte van , 429

Menura Alberti, II 146

Mephitis Chinga, II 302

M e r i a n , Mej M S , over het lichtgevend vermogen der Lantaarndragers, 572

M e r i d i a n e n , verhuizing in de richting der — , II 409

Meropidae, II 95.

Merops apiaster, II 95. [515]

M e r r y , over de behendigheid der inboorlingen van Nieuw-Holland in het werpen van den boemerang, 261.

M e s o l i t h i s c h e tijdvak, 320.

Mesopithecus Penthelicus, 292, 416.

M e t a p h y s i c a , aanleg voor , 232.

Metazoa, 302.

M e t o p i s m e , 109.

M e x i c a n e n , gemiddelde schedelinhoud der , 107.

M e x i c o , landbouw in tijdens de ontdekking van Amerika, 261; , een zelfstandig middelpunt van beschaving, 405.

M i a m i , steenen wapens en werktuigen gevonden in het dal van de kleine , 37

M i c r o c e p h a l e n , 155, 320; ontwikkeling der , 39; voorbeeld van atavisme door stilstand in de ontwikkeling der , 38

M i c r o c e p h a l i s m e , aard van het , 155

Midaus, II 304

M i d d e n - A z i ë , Wisents in — , II 257

M i d d e l e e u w s c h e schrijvers over den Wisent en den Urus, II 257

M i d d e l - E u r o p a , wilde runderen van — , II 257

M i d d e l h a n d s b e e n d e r e n der Ruminantia, Anoplotheroidae en Pachydermata, II 304.

M i d d e l h o e n , zie Tetrao medius.

M i d d e l l a n d e r s , 381.

M i d d e l l a n d s c h e r a s , 380.

M i d d e l v o e t s b e e n d e r e n der Ruminantia, Anoplotheroidae en Pachydermata, II 304.

M i e r e n , tunnel onder de Parahyba door gegraven, 289; muskusgeur der , 610; gewoonten der in Texas, 289; —rijst, 289

M i e s , over het gewicht der hersenen bij pasgeboren jongens en meisjes, 156

M i l a a n , verhouding der mannelijke en vrouwelijke geboorten te — , 504; verhouding der seksen bij wettige en onwettige geboorten te , 505.

M i l i t a i r e t e e l t k e u s , 100.

M i l t , afmetingen der , 384.

Mimosa pudica, 217.

Mimosa sensitiva, 217.

M i n g r e l i ë r s , 379.

M i o c e n e lagen, 295.

M i o c e n e periode, 320

M i s d a a d , theorie van den atavistischen oorsprong der , 260

M i s v o r m i n g van de voeten der Chineesche vrouwen, II 348

M i s v o r m i n g e n ten gevolge van stilstand in de ontwikkeling, 38, 39

M i t c h e l l , R W S , over een vischnest, II 35

M o a , 262

M ö b i u s , over Balistes aculeatus, II 35

M o d d e r m a n , Prof , over den bronstijd en den kopertijd, 373

M o e f l o n , horens meest tot de mannetjes beperkt, 502

M o e r a s s e n , Bosch-, van Suriname, II 34

M o e r a s v o g e l s , 501,

M o l , graafpoot van den — homoloog met de hand van den mensch en den vleugel van de vledermuis, 33.

M o l t z e r , Prof., over klanknabootsing, 156.

Momotidae, II 174.

M o t m o t s , zie Momotidae.

M o n e r e n , 314, 319; geen zelfstandige wezens, 314.

M o n g o l e n , 379; haar der , 381; familietrek der Amerikanen en der Aziatische , 387; wijken niet terug voor de blanken, 387; — uit Noord-Azië afkomstig, 413

M o n g o l o ï d e schedels, in Europa gevonden, 388.

M o n g o l o ï d i s c h e bewoners der poolstreken, 376.

M o n g o o l s c h e r a s , 379, 380

Monodelphia, 292

M o n o g l o t t o n i s c h e menschensoorten, 380

Monotremata, 290, 320; cloaca bij de , 42

M o n t p e l l i e r , verhouding der seksen [516]bij wettige en onwettige geboorten te — , 505.

M o n u m e n t e n , Egyptische — , menschenrassen afgebeeld op — , 372; verschillende kleur der seksen op de , II 377.

M o n s t r u o s i t e i t e n , kunstmatige vorming van , II 396.

M o n t e R e d o n d o , bewerkte vuursteenen van , 423.

M o r a a l , bij katten en beren, 218.

Moraeada, II 319.

M o r a c h e , Dr., over de misvormde voeten der Chineesche vrouwen, II 348.

M o r a l i t e i t , beweerd gemis aan bij de dieren, 217; bij den mensch niet iets absoluuts, 218; vergelijking van de der Nieuw-Hollanders en der apen, 219

M o r g a n , over dansende mannetjes die de wijfjes het hof maken, 529

M o r t i l l e t , G de, over de voorloopers van den mensch, 295, 420; over de praehistorische oudheid van den mensch, 401

Motacillidae, II 95

M o u l i n - Q u i g n o n , onderkaak van — , 36

M o u s t i e r , periode van — , 423, 425

M u l a t t e n , Nieuw-Hollandsche, 376.

M ü l l e r , Johannes, over geluidgevende visschen, II 35; zijn onderzoekingen omtrent het zingen der vogels, II 95

M ü l l e r , Fritz, over den geur van vlinders, 609; over aderen op de vleugels van vlinders, 570

M u l t a t u l i , over geloof, 163

M u r r a y , G A , over het dooden van bastaarden in Australië, 376

Muscicapidae, II 95

Musculus genioglossus, 47.

Mus decumanus, 151.

M u s k u s e e n d , zie Cairina moschata.

M u s k u s e e n d , Australische, geur van de , 609.

M u s k u s g e u r van verschillende dieren, 609, v.v., II 94, 304.

Musophagidae, II 174.

Mus Rattus, 152.

M u s s c h e n , nestbouw van , 151.

Mustela putorius, II 304.

M u u r s c h i l d e r i n g e n in de grot van Beni-Hassan, 370, 371.

M u z i e k , wanluidende der wilde volksstammen, 611; aanleg voor , 232.

M u z i k a l e geluiden van sommige mannelijke spinnen, dienen om het wijfje te lokken, 529; vermogens, 229

M y n a h ’s, II 174

Myogale moschata, II 304

Myogale pyrenaïca, II 304.

Myxine glutinosa, 309.

M y x i n o ï d e n , 316

N

N a b e r , Prof S A , over het vaderland der Ariërs, 413

N a c h t z w a l u w , Zuid-Amerikaansche, stemorgaan van een , II 95

N a c h t z w a l u w e n , zie Caprimulgidae

N a d a i l l a c , Markies de, over den voorhistorischen mensch in Amerika, 409

N a g e l s , der apen, 291

N a h s u a , II 348

N a m u , II 348

N a p e l s , verhouding der seksen bij wettige en onwettige geboorten te , 505

N a t t e r e r , over den scherpen reuk der wilden, 102

N a t u u r l i j k e t e e l t k e u s , II 396

N a u l e t t e , grot van la — , 47; onderkaak van la , 47.

N e a n d e r d a l , mensch van het , 420.

N e a n d e r d a l s c h e d e l , 45, 388; vorm van den , 46; inhoud van den , 107.

Nectarinidae, II 95.

N e d e r d u i t s c h e r s , 382.

N e d e r l a n d , verhouding der mannelijke en vrouwelijke geboorten in , 504; jaarlijksche toeneming der [517]Joden in , 502; verhouding der seksen in , 505;

volkstellingen in , 505; verhouding der seksen in verschillende levenstijdperken in , 507

N e d e r l a n d e r s , 382; volgens Haeckel nauwer verwant met de Angelsaksen dan met de Hoogduitschers, 383

N e d e r l a n d s c h e bewoners der Kaapkolonie, naam door de aan Pneumora gegeven, 574.

N e g e r s , 381; schedelinhoud der 107; haar der , 387; afbeelding van op Egyptische monumenten, 372; wijken niet terug voor de blanken, 387; witte — , II 147; afstamming der , II 346.

N e g e r r a s , 379, 380.

N e g r o ï d e schedels, in Europa gevonden, 388.

N e m e r t i n e n , de naaste verwanten van den stamvorm der gewervelde dieren, 300.

N e o l i t h i s c h e periode, 44.

N e o l i t h i s c h tijdvak, 429.

Nervus trigeminus, 43.

Nesodon, 296.

N e s t b o u w , II 173; van Grallina australis, II 173; van den Baltimorevogel, II 174; gewijzigde — van Ploceus en musschen, 151

N e s t e n , van visschen in Suriname, II 35

N e s t h a n g e r s , zie Icteridae.

N e t v l e u g e l i g e n , geluiden der — , 570.

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.