Design of Scalable IoT Architecture Based on AWS for Smart Livestock
Abstract
:Simple Summary
Abstract
1. Introduction
2. Materials and Methods
2.1. System Requirements
- –
- Services—clearly distinguished services where each service performs a specific task without interfering with the tasks of any other services.
- –
- Maintenance—easy troubleshooting by isolating faults. This process does not interfere with the operation of the entire system but minimises human impact.
- –
- Flexibility—easily add or remove elements from the system without compromising its integrity.
- –
- Scalability—meet changes in demand by automatically creating or destroying IT infrastructure resources when there is observed increased or decreased traffic to and from the system.
- –
- Availability—minimum or zero downtime during infrastructure resources crashing or during prophylactic. The system must be available 24/7.
- –
- Reliability—ability to run and test the workload through its full lifecycle.
- –
- Agility—the system requirements must change quickly and inexpensively when needed.
- –
- Security—data and user accounts must be securely protected from unauthorised access.
2.2. Planning
2.3. Architecture Design
2.4. Software Development
- –
- Python—high-level general-purpose programming language with an excellent SDK for developing cloud-based services [31]. It is used for the development of software deployed in IoT devices, and AWS Lambda functions, which are used as data processing triggers for AWS data pipelines.
- –
- HTML (Hypertext Markup Language)—a standard markup language for documents designed to be displayed in a web browser [32]. Used in the system to develop the body of UI HTML components.
- –
- CSS (Cascading Style Sheets)—style sheet language used for describing the presentation of a document [33]. Used for the visual part of the UI.
- –
- JavaScript—high-level, multi-paradigm, and object-orientation programming language [34]. It is used in the system both to create UI interactivity and to create specific Lambda functions in AWS.
2.5. Architecture Testing
2.5.1. Scope
- –
- System real-time throughput ingestion rates for data pipelines.
- –
- System storing rates for real-time data.
- –
- Serverless functions for performance metrics.
- –
- Total average latency of the data pipelines during continuously high loads.
- –
- Total count of errors of the data pipelines during continuously high loads.
- –
- Overall data pipeline durability and scalability and performance.
2.5.2. Testing Strategies
- Data load testing will ensure the system is ready for ingesting high volumes of data for a continuous-time period, and that average latency and error counts are within the expected limits.
- Data integrity testing will ensure that the data have been populated as intended to all locations and all insertion events occurred properly in the correct sequence.
- Testing on functions will ensure the proper data acceptance, processing, and retrieval within the system during continuous high loads.
- Stress testing will ensure the system’s durability, scalability, and performance.
- Security and access control testing will ensure that the ingested by the system data are accessible only for users with the right permissions.
2.5.3. Results Evaluation
2.6. Deployment
3. Results
3.1. Used Services in AWS Cloud
3.1.1. AWS IoT Core Frame
- –
- Filtering data coming from IoT devices;
- –
- Separation and recording of data according to their type in various kinds of databases;
- –
- Sending notifications to users in certain circumstances (for example, occurrence of abnormal events in the monitoring process);
- –
- Real-time processing of messages coming from a large number of IoT devices from different locations;
- –
- Setting alarms to notify the user when reaching predefined limits of certain parameters (for example, reaching a critical battery level of IoT devices);
- –
- Send the data from a Message Queuing Telemetry Transport (MQTT) message to a machine learning frame to make predictions based on the ML model;
- –
- Send message data to an AWS IoT analytics channel; and
- –
- Send data to a web application.
3.1.2. Lambda Frame
- –
- Converting each frame to jpeg format if it is different;
- –
- Storing raw frames in Amazon S3 by generating a unique key for each frame, which contains specific data about the place and time of the shooting: frames/farm_1/year/month/day/hour/min/sec/frame_number.jpeg;
- –
- Transmitting frames in jpeg format to Amazon “Rekognition” frame;
- –
- For each frame, Lambda functions saves to Amazon DynamoDB specific metadata such as a unique ID, S3 bucket and key, where the frame is saved, the approximate recording time and more.
3.1.3. “Data Rekognition” Frame
3.1.4. Notification Frame
- –
- For iOS apps, an SSL certificate is provided. The certificate authorises the PinPoint service for sending messages to the smart livestock apps.
- –
- For Android apps, a web API key is provided. These credentials authorise the PinPoint service for sending messages to the smart livestock apps.
3.1.5. Streaming Data Frame
3.1.6. Data Stores Frame
3.1.7. Data Processing Frame
3.1.8. Data Lake Frame
3.1.9. Logging Frame
3.1.10. Machine Learning Frame
3.1.11. Analytics Frame
3.1.12. Presentation Frame
3.1.13. User Identities Frame
3.2. Smart Livestock IoT Devices Prototypes
3.2.1. IoT Devices
3.2.2. Livestock IoT Device
3.2.3. Cameras—Photo, Thermal, and Video Cameras
3.2.4. IoT Edge
- –
- Processing of large data streams and automatic sending them to the cloud through the local implementation of Lambda functions (AWS Lambda);
- –
- MQTT messaging over the local network between livestock IoT devices, connectors, and Lambda functions using a broker (managed subscriptions). Additionally, MQTT messaging communication between livestock IoT devices and AWS IoT core (MQTT Broker);
- –
- Secure connections between livestock IoT devices and cloud using device authentication and authorisation (Meta Data);
- –
- Local Shadow synchronisation of devices (Local Shadow Service);
- –
- Deployment of cloud-trained machine learning models for regression that predicts a percentage of the future power of the battery in relation to the individual frequency and load of the monitoring livestock system (Trained Model);
- –
- Automatic IP address detection enables livestock IoT devices to discover the Edge device (Topics); and
- –
- Updated group configuration with secured over-the-air (OTA) software updates.
3.3. IoT Device Communication
- IoT devices push messages to a local topic to which a local Lambda is subscribed. This lambda pushes the message to the AWS IoT core topic.
- AWS IoT core pushes a message to an IoT device using the topic. The local Lambda is subscribed to this topic and receives the message. The local Lambda then pushes the message to a topic to which the IoT device is subscribed.
3.4. Architecture Data Ingestion
3.4.1. Data Ingestion Throughput Settings
- Payload—For each ingestion data pipeline, it is essential to have visibility on the amount of data ingested into the system for a discrete period of time. This depends on the number of incoming requests and the payload has each one of them. The data format used in the system is JSON. Each payload consists of useful metadata and batches of sensor measurement readings. The goal is to have a JSON serialised payload size as close as possible to 24 kb. The prototypes of IoT and Edge devices described in Section 3.2.1 were deployed and tested in a livestock farm located around Troyan city, Bulgaria. During the test period, the collected data were used to create the optimal payload message structure in JSON format (Appendix C). Each livestock IoT device generates around 120 bytes of data for a single measurement. The payload for each smart livestock request from an Edge device consists of 306 bytes of metadata and a batch of 200 IoT single measurements totalling 24,000 bytes. Thus, the total payload size for a single ingestion request is 24,306 bytes, which aligns very well with the system goal.
- Amazon S3—Using AWS S3 guarantees that the support for thousands of transactions per second upload capacity requirement is achievable. The AWS S3 limitations allow 5500 GET and 3500 PUT/POST operations per second per prefix. However, there is no limit on the number of prefixes in a bucket. Individual S3 objects can be of size from one byte to five terabytes. All this leads to there being no need to take any specific setting actions because the AWS S3 single object size, operating speed, and latency are sufficient for the needs of the proposed architecture to store raw sensor readings and other data for later usage.
- Amazon Kinesis Data Firehose—There is no need to manage any resources as it is fully managed and provisioned by Amazon. If needed, it can transform data before it is delivered to the destination in the data pipeline. It can scale automatically to satisfy the throughput of the data pipelines using it. The maximum size of a single record is 1024 KB before the record is base64-encoded. As the payload used in the smart livestock system was 24 KB, there was a lot of capacity left. Therefore, there was no need to take any further actions to achieve better throughput.
- Amazon Kinesis Data Stream—A Kinesis Stream can be scaled to handle from just a few to millions of records per second. Using Amazon Kinesis Producer Library (KPL), the system performs several asynchronous tasks to record data aggregates to increase payload capacity and improve throughput. A single data record pushed to the Kinesis Data Stream is measured in PUT payload units. Every unit is the size of the 25 KB chunk from a data record. In case a record has the size of 70 KB, then it includes three PUT payload units (for 10 KB record size = 1 PUT payload units, etc.). Kinesis Data Streams consists of shards. It is necessary to have enough shards to achieve the required throughput of the designed architecture and to avoid a bottleneck and data pipeline failure. One shard has a maximum ingestion rate of 1 MB/second or 1000 records/second and supports a total data reading rate of 2 MB/second maximum. Every shard was limited by AWS to 5 GET operations/second.
- VDT—a volume of data throughputs;
- RR—requirements request per second; and
- RP—request payload.
- TCS—the total capacity of a stream; and
- CSH—the capacity as shards.
- Amazon DynamoDB—It is always fully managed by AWS. DynamoDB only supports a possible consistency model with a maximum record size of 400 KB, which includes both the binary length of the attribute name (UTF-8 length) and the length of the attribute value.
- –
- Consistent reads where the result cannot reflect all recently completed write operations; and
- –
- Strongly consistent reads may have longer latency, thus they may not be available if an outage occurs or there is a network delay.
- DA—the amount of data;
- I—item; and
- RW—request writes.
- WCU—DynamoDB write capacity units;
- DA—the amount of data; and
- WUS— units of write capacity.
- RCU—DynamoDB reads capacity units;
- DA—the amount of data; and
- RUS—units of reading capacity.
- AWS Lambda function—As the python code needed for the function execution is less than 3KB and the execution time is less than 100 MS, the AWS Lambda quotas for the amount of available compute and storage resources are sufficient enough to satisfy the architecture requirements.
- –
- 50 requests per second;
- –
- ~24 KB payload per request; and
- –
- 200 IoT measurements per payload.
3.4.2. Architecture Data Ingestion Rates Tests
- –
- AWS Data Generator
- –
- Amazon Kinesis Data Stream
- –
- Amazon Kinesis Firehose
- –
- AWS Lambda
- –
- Amazon DynamoDB
3.4.2.1. Test Plan
3.4.2.2. Test Settings and Provisioning
3.4.2.3. Test Execution and Results
4. Discussion
4.1. Cloud Architecture
4.2. IoT Devices
4.3. Architecture Testing
5. Conclusions
- –
- A detailed guide for designing smart livestock architecture was developed based on Agile methodology. The essentials are defined in each stage during the design of the architecture such as system requirements, system functionalities, development process following well-designed architecture pillars, tech stack (infrastructure, programming languages, services for the implementation of functional requirements), architecture testing plan (scope, strategies, results in evaluation), and deployment process.
- –
- Smart livestock architecture consists of many AWS serverless services that are specially selected and configured in a way to meet the objectives. The relationship between all services in the architecture are visualised in a detailed diagram.
- –
- Prototypes of IoT and Edge devices were developed, deployed, and tested. The goal was to test data collection from livestock and to generate the message structure in a JSON format.
- –
- The throughput load tests on the developed architecture demonstrated its full capability to handle the required amount of data coming from 10,000 IoT devices per second together with its flexibility and scalability. The results prove the efficiency of the designed architecture and its readiness for implementation in a real environment.
Author Contributions
Funding
Institutional Review Board Statement
Conflicts of Interest
Appendix A
Appendix B
Appendix C
Appendix D
- 1.
- Create AWS Kinesis Data Stream
- -
- Availability Zone-EU-central-1 (Frankfurt);
- -
- Data Stream Name–e.g. kinesis-data-generator-load-test;
- -
- Open shard–1;
- 2.
- Kinesis Data Generator-https://awslabs.github.io/amazon-kinesis-data-generator/web/producer.html, accessed on 20 May 2021
- -
- Click Help and create Cognito User following the steps and mind setting the availability zone as EU-central-1 (Frankfurt);
- o
- template file-https://aws-kdg-tools.s3.us-west-2.amazonaws.com/cognito-setup.json, accessed on 20 May 2021;
- -
- set username-kinesis-load-test and password–e.g., <your very secret password>
- -
- set/create CloudFormation Full Access Role with IAMFullAccess, AWSCloudFormationFullAccess, AWSLambda_FullAcesss;
- o
- role description - Allows CloudFormation to create and manage AWS stacks and resources on your behalf with the following policies-IAMFullAccess, AWSCloudFormationFullAccess, AWSLambda_FullAcesss, AWSS3FullAccess.
- -
- when CREATE_COMPLETE state, go to Outputs tab and click the link;
- -
- Login in using the above username and password.
- 3.
- Kinesis Firehose
- -
- create an S3 bucket where data will be preserved with the name-kinesis-firehose-load-test;
- -
- create Firehose Stream with name-kinesis-firehose-s3-load-test;
- -
- create IAM Role with correct access rights;
- 4.
- AWS Lambda + DynamoDB
- -
- check correct region and create IAM role for Lambda Full Access;
- -
- create Lambda-kinesis-lambda-dynamodb–python;
- -
- create DynamoDB table-kinesis-lambda-dynamodb;
References
- Dairy Australia, Report: In Focus 2020, The Australian Dairy Industry. 2020, pp. 6–7. Available online: https://www.dairyaustralia.com.au/industry-statistics/industry-reports/australian-dairy-industry-in-focus (accessed on 20 May 2021).
- Livestock Improvement Corporation Limited & DairyNZ, 2019-20 New Zealand Dairy Statistics. 2020, pp. 5–8. Available online: https://www.lic.co.nz/about/dairy-statistics/ (accessed on 19 May 2021).
- DG Health and Food Safety, Overview Report: Welfare of Cattle on Dairy Farms. 2017, p. 18. Available online: https://op.europa.eu/en/publication-detail/-/publication/8950fa88-d651-11e7-a506-01aa75ed71a1 (accessed on 20 May 2021).
- MacDonald, M.J.; O’Donoghue, J.E.; McBride, D.W.; Nehring, F.R.; Sandretto, L.C.; Mosheim, R. Profits, Costs, and the Changing Structure of Dairy Farming, Economic Research Report; United States Department of Agriculture: North Bend, WA, USA, 2007; pp. 3–5.
- Barkema, H.; Von Keyserlingk, M.; Kastelic, J.; Lam, T.; Luby, C.; Roy, J.; LeBlanc, S.; Keefe, G.; Keltonll, D. Invited review: Changes in the dairy industry affecting dairy cattle health and welfare. J. Dairy Sci. 2015, 98, 7426–7445. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- European Commission, Industry 5.0. Available online: https://ec.europa.eu/info/research-and-innovation/research-area/industrial-research-and-innovation/industry-50_en (accessed on 25 January 2021).
- Tsochev, G.; Yoshinov, R. Research on Cyber-Physical Systems Security. Probl. Eng. Cybern. Robot. 2021, 75, 3–4. [Google Scholar] [CrossRef]
- Stoyanov, S.; Orozova, D.; Popchev, I. Internet of Things water monitoring for a smart seaside city. In Proceedings of the 20th International Symposium on Electrical Apparatus and Technologies (SIELA), Burgas, Bulgaria, 3–6 June 2018; pp. 1–3. [Google Scholar] [CrossRef]
- ISO/IEC JTC 1, Internet of Things (IoT). Available online: https://www.iso.org/files/live/sites/isoorg/files/developing_standards/docs/en/internet_of_things_report-jtc1.pdf (accessed on 12 February 2021).
- Sowmya, J.; Shetty, C. IoT and Data Analytics Solution for Smart Agriculture: The Rise Fog Computing in the Digital Era; IGI Global: Pennsylvania, PA, USA, 2019; Volume 9. [Google Scholar]
- Haris, I.; Fasching, A.; Punzenberger, L.; Grosu, R. CPS/IOT Ecosystem: Indoor Vertical Farming System. In Proceedings of the IEEE 23rd International Symposium on Consumer Technologies (ISCT), Ancona, Italy, 19–21 June 2019; pp. 47–52. [Google Scholar]
- Martos, V.; Ahmad, A.; Cartujo, P.; Ordoñez, J. Ensuring Agricultural Sustainability through Remote Sensing in the Era of Agriculture 5.0. Appl. Sci. 2021, 11, 5911. [Google Scholar] [CrossRef]
- Köksal, Ö.; Tekinerdogan, B. Architecture design approach for IoT-based farm management information systems. Precision Agric. 2019, 20, 926–958. [Google Scholar] [CrossRef] [Green Version]
- Gaire, R.; Lefort, L.; Compton, M.; Falzon, G.; Lamb, D.; Taylor, K. Demonstration: Semantic Web Enabled Smart Farm with GSN. In Proceedings of the International Semantic Web Conference (Posters & Demos), Sydney, Australia, 21–25 October 2013. [Google Scholar]
- Akhigbe, B.I.; Munir, K.; Akinade, O.; Akanbi, L.; Oyedele, L.O. IoT Technologies for Livestock Management: A Review of Present Status, Opportunities, and Future Trends. Big Data Cogn. Comput. 2021, 5, 10. [Google Scholar] [CrossRef]
- Goddard, M.E. Uses of genomics in livestock agriculture. In Animal Production Science; CSIRO Publishing: Clayton, Australia, 2012; pp. 73–77. [Google Scholar] [CrossRef] [Green Version]
- Kachurka, V. Design patterns in N-tier architecture. In Proceedings of the XV International PhD Workshop OWD 2013, Wisła, Poland, 19–22 October 2013. [Google Scholar]
- Simmons, D. Entity Framework-Anti-patterns to avoid in N-tier architecture. MSDN Magazine. June 2009, Volume 24. Number 06. Available online: https://docs.microsoft.com/en-us/archive/msdn-magazine/2009/june/anti-patterns-to-avoid-in-entity-framework-n-tier-applications (accessed on 10 May 2021).
- Dineva, K.; Atanasova, T. Architectural ML Framework for IoT Services Delivery Based on Microservices. In Distributed Computer and Communication Networks; Lecture Notes in Computer, Science; Vishnevskiy, V.M., Samouylov, K.E., Kozyrev, D.V., Eds.; Springer: Cham, Switzerland, 2020; Volume 12563. [Google Scholar] [CrossRef]
- Thangarasu, R.; Anandamurugan, S. Challenges and Applications of Wireless Sensor Networks in Smart Farming—A Survey; Springer: Berlin, Germany, 2019; pp. 353–361. [Google Scholar]
- Dineva, K.; Atanasova, T. Security in IoT Systems. In Proceedings of the XIX International Multidisciplinary Scientific GeoConference SGEM, Vienna, Austria, 9–12 December 2019; Volume 19, pp. 576–577. [Google Scholar]
- da Silva, A.F.; Ohta, R.L.; dos Santos, M.N.; Binotto, A.P.D. A Cloud-based Architecture for the Internet of Things targeting Industrial Devices Remote Monitoring and Control. IFAC-PapersOnLine 2016, 49, 108–113. [Google Scholar] [CrossRef]
- The Satellite Ear Tag that is Changing Cattle Management. Available online: https://aws.amazon.com/blogs/architecture/the-satellite-ear-tag-that-is-changing-cattle-management/ (accessed on 20 May 2021).
- Thesing, T.; Feldmann, C.; Burchardt, M. Agile versus Waterfall Project Management: Decision Model for Selecting the Appropriate Approach to a Project. Procedia Comput. Sci. 2021, 181, 746–756. [Google Scholar] [CrossRef]
- Cohn, J. Scrum Mastery + Agile Leadership: The Essential and Definitive Guide to Scrum and Agile Project Management, Chapter 1. In Introduction in Agile and Its Principles; Independently Published: CA, USA, 2019; pp. 11–15. [Google Scholar]
- AWS Official Documentation, Well-Architected Framework, Whitepaper. Available online: https://docs.aws.amazon.com/wellarchitected/latest/framework/wellarchitected-framework.pdf (accessed on 15 July 2020).
- Jinesh, V. Best Practices in Architecting Cloud Applications in the AWS Cloud, Chapter 18. In Cloud Computing: Principles and Paradigms; John Wiley & Sons, Inc.: Hoboken, NJ, USA, 2011; pp. 457–490. [Google Scholar] [CrossRef]
- Nikulchev, E.; Ilin, D.; Gusev, A. Technology Stack Selection Model for Software Design of Digital Platforms. Mathematics 2021, 9, 308. [Google Scholar] [CrossRef]
- Gamaleldin, M.A. An Introduction to Cloud Computing Concepts; Software Engineering Competence Center: Egypt, 2013; Available online: https://www.secc.org.eg/recocape/SECC_Tutorials_An%20Introduction%20to%20Cloud%20Computing%20Concepts.pdf (accessed on 25 April 2021).
- Shrestha, S. Comparing Programming Languages Used in AWS Lambda for Serverless Architecture. Bachelor’s Thesis, Metropolia University of Applied Sciences, Helsinki, Finland, 2019. [Google Scholar]
- Oliphant, T.E. Python for Scientific Computing. Comput. Sci. Eng. 2017, 9, 10–20. [Google Scholar] [CrossRef] [Green Version]
- Tabarés, R. HTML5 and the evolution of HTML; tracing the origins of digital platforms. Technol. Soc. 2021, 65, 101529. [Google Scholar] [CrossRef]
- Li, N.; Zhang, B. The Design and Implementation of Responsive Web Page Based on HTML5 and CSS3. In Proceedings of the International Conference on Machine Learning, Big Data and Business Intelligence (MLBDBI), Taiyuan, China, 8–10 November 2019; pp. 373–376. [Google Scholar] [CrossRef]
- Balabanov, T.; Keremedchiev, D.; Goranov, I. Web distributed computing for evolutionary training of artificial neural networks. In Proceedings of the International Conference InfoTech-2016, Sofia, Bulgaria, 12–14 September 2016; Volume 1023–1314, pp. 210–216. [Google Scholar]
- AWS Official Documentation, Implementing Microservices on AWS, Whitepaper. August 2019. Available online: https://d1.awsstatic.com/whitepapers/microservices-on-aws.pdf (accessed on 20 May 2020).
- AWS Official Documentation, Overview of Amazon Web Services, Whitepaper. April 2021. Available online: https://d1.awsstatic.com/whitepapers/aws-overview.pdf (accessed on 2 May 2021).
- Liguori, C. Automating Safe, Hands-Off Deployments, AWS Whitepaper. 2020. Available online: https://d1.awsstatic.com/builderslibrary/pdfs/automating-safe-hands-off-deployments-clareliguori.pdf (accessed on 18 June 2020).
- Brikman, Y. Terraform: Up & Running, Writing Infrastructure as Code, 2nd ed.; O’Reilly: Sebastopol, CA, USA, 2019; Chapter 1. [Google Scholar]
- Villegas, M.; Orellana, C.; Astudillo, H. A study of over-the-air (OTA) update systems for CPS and IoT operating systems. In Proceedings of the 13th European Conference on Software Architecture, Paris, France, 9–13 September 2019; pp. 269–272. [Google Scholar] [CrossRef]
- Khandkar, S.V.; Hanawal, K.M. Masking Host Identity on Internet: Encrypted TLS/SSL Handshake, Cryptography and Security; Cornell University: Ithaca, NY, USA, 2021. [Google Scholar]
- AWS Official Documentation, AWS IoT Core, Developer Guide. January 2018. Available online: https://docs.aws.amazon.com/iot/latest/developerguide/iot-dg.pdf#iot-device-shadows (accessed on 10 January 2021).
- Kokkinos, P.; Varvarigou, T.A.; Kretsis, A.; Soumplis, P.; Varvarigos, E.A. SuMo: Analysis and Optimization of Amazon EC2 Instances. J. Grid Comput. 2015, 13, 255–274. [Google Scholar] [CrossRef]
- Awiti, J.; Vaisman, A.; Zimányi, E. Design and implementation of ETL processes using BPMN and relational algebra. Data Knowl. Eng. 2020, 129, 101837. [Google Scholar] [CrossRef]
- Zhang, B. AWS Identity-based Policies with “Read”, “Write” and “Execute” Actions. Master’s Thesis, University of Waterloo, Waterloo, ON, Canada, 2020; pp. 15–19. [Google Scholar]
- Ahlam, A.; Nazmeen, K.; Zoya, R.; Pranali, T. Reinforcing Security of DNS Using AWS Cloud. In Proceedings of the 3rd International Conference on Advances in Science & Technology (ICAST), Sion, Mumbai, 8–9 April 2020. [Google Scholar] [CrossRef]
- Tawalbeh, M.; Quwaider, M.; Tawalbeh, L.A. IoT Cloud Enabeled Model for Safe and Smart Agriculture Environment. In Proceedings of the 12th International Conference on Information and Communication Systems (ICICS), Valencia, Spain, 24–26 May 2021; pp. 279–284. [Google Scholar] [CrossRef]
- Ilyas, Q.M.; Ahmad, M. Smart Farming: An Enhanced Pursuit of Sustainable Remote Livestock Tracking and Geofencing Using IoT and GPRS. Wirel. Commun. Mobile Comput. 2020, 2020, 6660733. [Google Scholar] [CrossRef]
- Tsuchiya, T.; Mochizuki, R.; Hirose, H.; Yamada, T.; Koyanagi, K.; Tran, M.Q. Distributed Data Platform for Machine Learning Using the Fog Computing Model. SN Comput. Sci. 2020, 1, 164. [Google Scholar] [CrossRef]
- Clements, P. Improving Testing Outcomes through Software Architecture. Carnegie Mellon University’s Software Engineering Institute Blog. 2011. Available online: http://insights.sei.cmu.edu/blog/improving-testing-outcomes-through-software-architecture/ (accessed on 23 June 2021).
Functionalities | AWS Serverless Services |
---|---|
Functionality 1 Ability to integrate and maintain a huge number of IoT devices from both newly developed systems and existing ones | IoT Core Services—a group of services that take care of receiving data and sending user commands to and from IoT devices via the AWS console. Streaming Data Services—services responsible for ingesting data that is generated continuously by thousands of IoT devices. The data are either imagery or represent sensor readings. Data are typically sent simultaneously and in small-sized batches or chunks. |
Functionality 2 Ability to store, analyse and process Big Data | Data Lake Services—services allowing the storage of data ingested in the system by IoT devices. Provide the ability to understand what kind of data it is by crawling, cataloguing, and indexing data in the lake. Data Storage Services—services that serve as storage for relational data. Data Processing Services—Services that a responsible for the processing of different types of raw data. |
Functionality 3 Ability to model data | Machine learning Services—services working with cleaned data which is used to train machine learning algorithms for regression and classification and obtain ready-trained models. |
Functionality 4 Ability to recognition of objects, people, and animals | Data Recognition (AWS)—service working with video and image data and responsible for object recognition. |
Functionality 5 Analytical capabilities | Analytic Services—services that are used for data visualisation. |
Functionality 7 Ability to record and audit events occurred in the system | Logging Services—services responsible for collecting and analysing events that occurred during the operation of the system. |
Functionality 8 Notification capabilities | Notification Services—services that are used for sending notifications to many users at once. |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Dineva, K.; Atanasova, T. Design of Scalable IoT Architecture Based on AWS for Smart Livestock. Animals 2021, 11, 2697. https://doi.org/10.3390/ani11092697
Dineva K, Atanasova T. Design of Scalable IoT Architecture Based on AWS for Smart Livestock. Animals. 2021; 11(9):2697. https://doi.org/10.3390/ani11092697
Chicago/Turabian StyleDineva, Kristina, and Tatiana Atanasova. 2021. "Design of Scalable IoT Architecture Based on AWS for Smart Livestock" Animals 11, no. 9: 2697. https://doi.org/10.3390/ani11092697
APA StyleDineva, K., & Atanasova, T. (2021). Design of Scalable IoT Architecture Based on AWS for Smart Livestock. Animals, 11(9), 2697. https://doi.org/10.3390/ani11092697