Welcome to Siva's Blog

~-Scribbles by Sivananda Hanumanthu
My experiences and learnings on Technology, Leadership, Domains, Life and on various topics as a reference!
What you can expect here, it could be something on Java, J2EE, Databases, or altogether on a newer Programming language, Software Engineering Best Practices, Software Architecture, SOA, REST, Web Services, Micro Services, APIs, Technical Architecture, Design, Programming, Cloud, Application Security, Artificial Intelligence, Machine Learning, Big data and Analytics, Integrations, Middleware, Continuous Delivery, DevOps, Cyber Security, Application Security, QA/QE, Automations, Emerging Technologies, B2B, B2C, ERP, SCM, PLM, FinTech, IoT, RegTech or any other domain, Tips & Traps, News, Books, Life experiences, Notes, latest trends and many more...
Showing posts with label cloud. Show all posts
Showing posts with label cloud. Show all posts

Sunday, January 9, 2022

Tech Predictions for 2022 and Beyond

 Tech Predictions for 2022 and Beyond

  • AI-supported software development takes hold 
  • The everywhere cloud has an edge 
  • The rise of smart spaces, especially in senior care 
  • Sustainability gets its own architecture 
  • A new wave of connectivity will bring about a new class of applications

Reference:
https://www.allthingsdistributed.com/2021/12/tech-prediction-for-2022-and-beyond.html 

Wednesday, December 30, 2020

Top 10 must-know Kubernetes design patterns

 Top 10 must-know Kubernetes design patterns

Here are the must-know top 10 design patterns for beginners synthesized from the Kubernetes Patterns book. Getting familiar with these patterns will help you understand foundational Kubernetes concepts, which in turn will help you in discussions and when designing Kubernetes-based applications.

There are many important concepts in Kubernetes, but these are the most important ones to start with:

Top 10 Kubernetes Design Patterns laid out in a graphic

Source: Kubernetes Patterns

To help you understand, the patterns are organized into a few categories below, inspired by the Gang of Four’s design patterns.

Foundational patterns

These patterns represent the principles and best practices that containerized applications must comply with in order to become good cloud-native citizens. Regardless of the application’s nature, you should aim to follow these guidelines. Adhering to these principles will help ensure that your applications are suitable for automation on Kubernetes.

Health Probe pattern

Health Probe dictates that every container should implement specific APIs to help the platform observe and manage the application in the healthiest way possible. To be fully automatable, a cloud-native application must be highly observable by allowing its state to be inferred so that Kubernetes can detect whether the application is up and ready to serve requests. These observations influence the life-cycle management of Pods and the way traffic is routed to the application.

Predictable Demands pattern

Predictable Demands explains why every container should declare its resource profile and stay confined to the indicated resource requirements. The foundation of successful application deployment, management, and coexistence on a shared cloud environment is dependent on identifying and declaring the application’s resource requirements and runtime dependencies. This pattern describes how you should declare application requirements, whether they are hard runtime dependencies or resource requirements. Declaring your requirements is essential for Kubernetes to find the right place for your application within the cluster.

Automated Placement patterns

Automated Placement explains how to influence workload distribution in a multi-node cluster. Placement is the core function of the Kubernetes scheduler for assigning new Pods to nodes satisfying container resource requests and honoring scheduling policies. This pattern describes the principles of Kubernetes’ scheduling algorithm and the way to influence the placement decisions from the outside.

Structural patterns

Having good cloud-native containers is the first step, but not enough. Reusing containers and combining them into Pods to achieve the desired outcome is the next step. The patterns in this category are focused on structuring and organizing containers in a Pod to satisfy different use cases. The forces that affect containers in Pods result in these patterns.

Init Container pattern

Init Container introduces a separate life cycle for initialization-related tasks and the main application containers. Init Containers enable separation of concerns by providing a separate life cycle for initialization-related tasks distinct from the main application containers. This pattern introduces a fundamental Kubernetes concept that is used in many other patterns when initialization logic is required.

Sidecar patterns

Sidecar describes how to extend and enhance the functionality of a pre-existing container without changing it. This pattern is one of the fundamental container patterns that allows single-purpose containers to cooperate closely together.

Behavioral patterns

These patterns describe the life-cycle guarantees of the Pods ensured by the managing platform. Depending on the type of workload, a Pod might run until completion as a batch job or be scheduled to run periodically. It might run as a daemon service or singleton. Picking the right life-cycle management primitive will help you run a Pod with the desired guarantees.

Batch Job patterns

Batch Job describes how to run an isolated, atomic unit of work until completion. This pattern is suited for managing isolated atomic units of work in a distributed environment.

Stateful Service patterns

Stateful Service describes how to create and manage distributed stateful applications with Kubernetes. Such applications require features such as persistent identity, networking, storage, and ordinality. The StatefulSet primitive provides these building blocks with strong guarantees ideal for the management of stateful applications.

Service Discovery pattern

Service Discovery explains how clients can access and discover the instances that are providing application services. For this purpose, Kubernetes provides multiple mechanisms, depending on whether the service consumers and producers are located on or off the cluster.

Higher-level patterns

The patterns in this category are more complex and represent higher-level application management patterns. Some of the patterns here (such as Controller) are timeless, and Kubernetes itself is built on top of them.

Controller pattern

Controller is a pattern that actively monitors and maintains a set of Kubernetes resources in a desired state. The heart of Kubernetes itself consists of a fleet of controllers that regularly watch and reconcile the current state of applications with the declared target state. This pattern describes how to leverage this core concept for extending the platform for our own applications.

Operator pattern

An Operator is a Controller that uses a CustomResourceDefinitions to encapsulate operational knowledge for a specific application in an algorithmic and automated form. The Operator pattern allows us to extend the Controller pattern for more flexibility and greater expressiveness. There are an increasing number of Operators for Kubernetes, and this pattern is turning into the major form of operating complex distributed systems.

Summary

Today, Kubernetes is the most popular container orchestration platform. It is jointly developed and supported by all major software companies and offered as a service by all of the major cloud providers. Kubernetes supports both Linux and Windows systems, plus all major programming languages. This platform can also orchestrate and automate stateless and stateful applications, batch jobs, periodic tasks, and serverless workloads. The patterns described here are the most commonly used ones from a broader set of patterns that come with Kubernetes as shown below.

Kubernetes Patters organized in different categories

Kubernetes is the new application portability layer and the common denominator among everybody on the cloud. If you are a software developer or architect, the odds are that Kubernetes will become part of your life in one form or another. Learning about the Kubernetes patterns described here will change the way you think about this platform. I believe that Kubernetes and the concepts originating from it will become as fundamental as object-oriented programming concepts.

The patterns here are an attempt to create the Gang of Four design patterns, but for container orchestration. Reading this article must not be the end, but the beginning of your Kubernetes journey. Happy kubectl-ing!


Reference: 

https://developers.redhat.com/blog/2020/05/11/top-10-must-know-kubernetes-design-patterns/

https://k8spatterns.io/

https://github.com/k8spatterns/examples

Sunday, July 1, 2018

GE IIoT Predix links as a reference...

GE IIoT Predix links as a reference...

GE IIoT Predix

https://www.ge.com/digital/iiot-platform

Predix

https://www.predix.io/

Predix catalog and services

https://www.predix.io/catalog/services/

GE Predix docs

https://www.ge.com/digital/documentation/predix-platforms/index.html


Thread Connect Integration Platform

https://www.ge.com/digital/documentation/predix-platforms/tcip-overview.html

https://github.com/thread-connect

Apache Nifi

https://nifi.apache.org/

Friday, February 23, 2018

Cloud Design Patterns

Cloud Design Patterns in general based on the key challenges like availability, monitoring, security, resiliency, messaging ...etc

https://docs.microsoft.com/en-us/azure/architecture/patterns/

Happy reading!

Sunday, November 6, 2016

IoT : The Internet of Things

 The Internet of Things is an emerging topic of technical, social, and economic significance. Consumer products, durable goods, cars and trucks, industrial and utility components, sensors, and other everyday objects are being combined with Internet connectivity and powerful data analytic capabilities that promise to transform the way we work, live, and play. Projections for the impact of IoT on the Internet and economy are impressive, with some anticipating as many as 100 billion connected IoT devices and a global economic impact of more than $11 trillion by 2025.

At the same time, however, the Internet of Things raises significant challenges that could stand in the way of realizing its potential benefits. Attention-grabbing headlines about the hacking of Internet-connected devices, surveillance concerns, and privacy fears already have captured public attention. Technical challenges remain and new policy, legal and development challenges are emerging.

This overview document is designed to help the Internet Society community navigate the dialogue surrounding the Internet of Things in light of the competing predictions about its promises and perils. The Internet of Things engages a broad set of ideas that are complex and intertwined from different perspectives. Key concepts that serve as a foundation for exploring the opportunities and challenges of IoT include:

  • IoT Definitions: The term Internet of Things generally refers to scenarios where network connectivity and computing capability extends to objects, sensors and everyday items not normally considered computers, allowing these devices to generate, exchange and consume data with minimal human intervention. There is, however, no single, universal definition.
  • Enabling Technologies: The concept of combining computers, sensors, and networks to monitor and control devices has existed for decades. The recent confluence of several technology market trends, however, is bringing the Internet of Things closer to widespread reality. These include Ubiquitous Connectivity, Widespread Adoption of IP-based Networking, Computing Economics, Miniaturization, Advances in Data Analytics, and the Rise of Cloud Computing.
  • Connectivity Models: IoT implementations use different technical communications models, each with its own characteristics. Four common communications models described by the Internet Architecture Board include: Device-to-Device, Device-to-Cloud, Device-to-Gateway, and Back-End Data-Sharing. These models highlight the flexibility in the ways that IoT devices can connect and provide value to the user.
  • Transformational Potential: If the projections and trends towards IoT become reality, it may force a shift in thinking about the implications and issues in a world where the most common interaction with the Internet comes from passive engagement with connected objects rather than active engagement with content. The potential realization of this outcome – a “hyperconnected world” — is testament to the general-purpose nature of the Internet architecture itself, which does not place inherent limitations on the applications or services that can make use of the technology.

Five key IoT issue areas are examined to explore some of the most pressing challenges and questions related to the technology. These include security; privacy; interoperability and standards; legal, regulatory, and rights; and emerging economies and development.

Security

While security considerations are not new in the context of information technology, the attributes of many IoT implementations present new and unique security challenges. Addressing these challenges and ensuring security in IoT products and services must be a fundamental priority.Users need to trust that IoT devices and related data services are secure from vulnerabilities, especially as this technology become more pervasive and integrated into our daily lives. Poorly secured IoT devices and services can serve as potential entry points for cyber attack and expose user data to theft by leaving data streams inadequately protected.

The interconnected nature of IoT devices means that every poorly secured device that is connected online potentially affects the security and resilience of the Internet globally. This challenge is amplified by other considerations like the mass-scale deployment of homogenous IoT devices, the ability of some devices to automatically connect to other devices, and the likelihood of fielding these devices in unsecure environments.

As a matter of principle, developers and users of IoT devices and systems have a collective obligation to ensure they do not expose users and the Internet itself to potential harm. Accordingly, a collaborative approach to security will be needed to develop effective and appropriate solutions to IoT security challenges that are well suited to the scale and complexity of the issues.

Privacy

The full potential of the Internet of Things depends on strategies that respect individual privacy choices across a broad spectrum of expectations. The data streams and user specificity afforded by IoT devices can unlock incredible and unique value to IoT users, but concerns about privacy and potential harms might hold back full adoption of the Internet of Things. This means that privacy rights and respect for user privacy expectations are integral to ensuring user trust and confidence in the Internet, connected devices, and related services.

Indeed, the Internet of Things is redefining the debate about privacy issues, as many implementations can dramatically change the ways personal data is collected, analyzed, used, and protected. For example, IoT amplifies concerns about the potential for increased surveillance and tracking, difficulty in being able to opt out of certain data collection, and the strength of aggregating IoT data streams to paint detailed digital portraits of users. While these are important challenges, they are not insurmountable. In order to realize the opportunities, strategies will need to be developed to respect individual privacy choices across a broad spectrum of expectations, while still fostering innovation in new technology and services.

Interoperability / Standards

A fragmented environment of proprietary IoT technical implementations will inhibit value for users and industry. While full interoperability across products and services is not always feasible or necessary, purchasers may be hesitant to buy IoT products and services if there is integration inflexibility, high ownership complexity, and concern over vendor lock-in.

In addition, poorly designed and configured IoT devices may have negative consequences for the networking resources they connect to and the broader Internet. Appropriate standards, reference models, and best practices also will help curb the proliferation of devices that may act in disrupted ways to the Internet. The use of generic, open, and widely available standards as technical building blocks for IoT devices and services (such as the Internet Protocol) will support greater user benefits, innovation, and economic opportunity.

Legal, Regulatory and Rights

The use of IoT devices raises many new regulatory and legal questions as well as amplifies existing legal issues around the Internet. The questions are wide in scope, and the rapid rate of change in IoT technology frequently outpaces the ability of the associated policy, legal, and regulatory structures to adapt.

One set of issues surrounds crossborder data flows, which occur when IoT devices collect data about people in one jurisdiction and transmit it to another jurisdiction with different data protection laws for processing. Further, data collected by IoT devices is sometimes susceptible to misuse, potentially causing discriminatory outcomes for some users. Other legal issues with IoT devices include the conflict between law enforcement surveillance and civil rights; data retention and destruction policies; and legal liability for unintended uses, security breaches or privacy lapses.

While the legal and regulatory challenges are broad and complex in scope, adopting the guiding Internet Society principles of promoting a user’s ability to connect, speak, innovate, share, choose, and trust are core considerations for evolving IoT laws and regulations that enable user rights.

Emerging Economy and Development Issues

The Internet of Things holds significant promise for delivering social and economic benefits to emerging and developing economies. This includes areas such as sustainable agriculture, water quality and use, healthcare, industrialization, and environmental management, among others. As such, IoT holds promise as a tool in achieving the United Nations Sustainable Development Goals.

The broad scope of IoT challenges will not be unique to industrialized countries. Developing regions also will need to respond to realize the potential benefits of IoT. In addition, the unique needs and challenges of implementation in less-developed regions will need to be addressed, including infrastructure readiness, market and investment incentives, technical skill requirements, and policy resources.

The Internet of Things is happening now. It promises to offer a revolutionary, fully connected “smart” world as the relationships between objects, their environment, and people become more tightly intertwined. Yet the issues and challenges associated with IoT need to be considered and addressed in order for the potential benefits for individuals, society, and the economy to be realized.

Ultimately, solutions for maximizing the benefits of the Internet of Things while minimizing the risks will not be found by engaging in a polarized debate that pits the promises of IoT against its possible perils. Rather, it will take informed engagement, dialogue, and collaboration across a range of stakeholders to plot the most effective ways forward.

Refer for more details: https://www.internetsociety.org/wp-content/uploads/2017/08/ISOC-IoT-Overview-20151221-en.pdf

Wednesday, September 22, 2010

How cloud (Cloud Computing) can change the usage of desktop applications?


How cloud (Cloud Computing) can change the usage of desktop applications?

Just read one article related to the Cloud Computing in which we can see some of the recent applications available over the internet and they can replace the traditional desktop applications. On the contrary, I am not saying that no more development of desktop applications in future! However, there may be some decline in the desktop applications as everyone is moving towards the latest hot topic of Cloud Computing and their apps. We need to wait and see how the future will be….


15 Web Alternatives to Popular Desktop Software

Web applications have come a long way. They used to be amateur imitations of their desktop counterparts, with only one or two functions and not at all practical. But my, have these web apps grown. Web apps these days have become so powerful and useful that in some cases, they’ve begun to replace desktop software.
Desktop programs are great and all, but they don’t provide the same benefits as web apps that make use of cloud computing. With most web apps, you only need a browser and an internet connection to access all your data online. That beats having to install annoying programs any day. To give you a better sense of how useful web apps have become, I’ve compiled a list of web tools and apps that can very well replace some desktop programs. I hope you take the time to try them all out. You’ll be surprised how well they work.
Without further ado, here are some great web alternatives to the popular desktop programs we all love.

Sliderocket

Replaces: Microsoft PowerPoint
SlideRocket
SlideRocket
Sliderocket is a fully functional presentation web app that allows you to create, manage, edit, and share presentations on the fly. It offers many of the same features present in PowerPoint and then some. Sliderocket is an awesome tool and if you want to read more about it, take a look at our in-depth review of Sliderocket.

Acrobat.com

Replaces: Microsoft Office, Adobe Acrobat
Acrobat
Acrobat
Acrobat.com is a suite of web applications by Adobe that replaces your office suite. The online suite includes services like Buzzword, Tables, and Presentation which replace Microsoft Word, Excel, and Powerpoint respectively. Acrobat.com also offers other features, allowing users to convert files into PDFs, hold online meetings, and collaborate with one another. All of its services are free (with some limitations), but users can subscribe to different plans for more features. Check out the pricing section for more details.

Aviary

Replaces: Adobe Photoshop, Illustrator, Soundbooth
Aviary
Aviary
We have already covered a list of online image editors, and of that list, my favorite would have to be Aviary. The Aviary web suite offers powerful tools that allow you to edit images, vectors, and even audio! Take a look at the huge list of the tools included in their suite:
• Phoenix: Image Editor
• Toucan: Color Editor
• Myna: Audio Editor
• Peacock: Effects Editor
• Raven: Vector Editor
• Falcon: Image Markup
• Roc: Music Creator. Check out our in-depth review of Roc.

Mint

Replaces: Quicken
Mint
Mint
If you’re still using Quicken to manage your money, it’s time to toss it out and move on to the better solution: Mint.com. Mint is a very popular personal-finance tool that allows you to keep track your credit card transactions, balance your budget, and create charts or graphs to help you visualize your spending. Mint is the free and secure way to manage your money online. In fact, Mint has been so successful that the makers of Quicken and TurboTax purchased it in 2009. What are you waiting for? Hurry up and sign up!

Kongregate

Replaces: Desktop Gaming
Kongregate
Kongregate
Forget about your desktop gaming – why waste space when you can play awesome games online? Kongregate is an online gaming community with a library of over 30,000 flash games. Not only do you have access to a variety of games, but you can also gain points, chat, and unlock achievements for the games you play. Developers can upload their own games and even make money off ad revenue for their games! If you’re looking for more online games to replace desktop games, take a look at our game roundups.

JayCut

Replaces: Video Editing Software
JayCut
JayCut
JayCut is a very easy to use and powerful online video editor. With Jaycut, you can create videos with the same tools used in desktop programs. Add clips, transitions, audio, effects, and more with their simple UI. When you finish editing a video, you can choose to download it or export it directly to YouTube. Export up to 20 videos a month with 2GB of storage under a free plan, or pay monthly for a better plan.

WobZip

Replaces: Unzipping Software
WobZip
WobZip
Have you ever tried to open a compressed file only to find out you don’t have the right unzipping software to do the job? In comes WobZip, an online tool that helps you uncompress your files. It supports a variety of compression formats, including the popular ZIP, RAR, and 7z formats. You can upload a zipped file from your computer or direct WobZip to a URL. The best part? WobZip will scan the files using BitDefender to make sure there isn’t a nasty virus lurking around.

Zamzar

Replaces: File Conversion Software
Zamzar
Zamzar
Instead of downloading dozens of different programs to convert a file, you can always use the Zamzar, the free online file conversion tool. Can’t open a crucial .docx or .pptx file and your boss is screaming in your ear? No problem, just upload and convert your files using Zamzar. Zamzar supports dozens of image, document, video, and music formats and is the only tool you will ever need to convert files.

Hulu

Replaces: TV Tuner Software
Hulu
Hulu
I’m a cheap guy who spends all his time on the computer. How could I watch my favorite TV shows without leaving my computer? Well, I could purchase a TV tuner and install their lame software or I could head to Hulu.com and watch my favorite shows for free. Hulu is a website that offers streaming video of popular TV shows and movies in the US. It is ad supported, but allows you to watch your favorite shows from the comfort of your computer. Although Hulu is a U.S. only website, there are ways to access Hulu from outside the U.S.

Meebo

Replaces: Desktop Chat Clients
Meebo
Meebo
With Meebo, you can chat with your friends from anywhere as long as you have a browser and an internet connection. Meebo is an online tool that allows you to login to any major IM network, including AIM, MSN, GTalk, and Facebook. You don’t even need to create an account, just input your IM information and you’re ready to go. If you take the 20 seconds to set up a Meebo account, you can login to multiple accounts at once. This sure beats downloading and managing three IM programs at once, doesn’t it?

TokBox

Replaces: Video Chat
TokBox
TokBox
TokBox is an online video chatting app that enables you to chat with up to 20 people for free. There are no downloads required, just sign up and start a video chat! Invite your friends via social networks or IM and set up a chat in just minutes. TokBox is free to use, but if you’d like more options, you can sign up for monthly plans. TokBox may be free, but you’re going to need your own microphone and webcam.

Moof

Replaces: iTunes
Moof
Moof
You may have a huge iTunes library, but what happens when you go out and forget to bring your iPod along? Moof is the solution. Moof is another web app that streams music online, but I think of it as an iTunes alternative. You can export your entire iTunes library as an .xml file and upload that to Moof, so you can have a full backup of your music online. Where does Moof get all its music from? Youtube. Yeah, I know, it’s a little disappointing, but the quality isn’t that bad. Don’t like Moof? Check out our roundup of the top apps for music streaming.

ESET Online Virus Scanner

Replaces: Anti-Virus Software
ESET
ESET
While the ESET Online Virus scanner is a great alternative to Anti-Virus programs, you shouldn’t literally replace your Anti-Virus program. Think of this tool as a backup tool, in case your Anti-Virus software malfunctions. Made by the folks that brought you NOD32, the ESET online scanner uses the same threat signatures as NOD32 and allows you to scan your computer from your browser. It may take a while, but after the scan, suspicious files will be quarantined for you to restore or permanently delete. A great tool for your security toolbox.

Bitlet

Replaces: BitTorrent Client
BitLet
BitLet
When you don’t have access to a BitTorrent client on your computer, you can use the BitLet app to download your torrents. BitLet is a Java based file sharing protocol that allows you to download torrent files from your browser. Just upload a .torrent file from your computer or direct BitLet to the torrent URL and it’ll do the rest for you.

iCloud

Replaces: Operating System
iCloud
iCloud
We’ve already covered dozens of web alternatives to desktop software, but why not go a bit further and include a web app that replaces your entire operating system? Meet iCloud, the future of operating systems. iCloud is a very slick web operating system that gives you access to hundreds of built in applications, including an office suite, a media player, a chat client, nifty games, and much more. You have 3 GB of free storage and can opt to buy more if needed. You can get everything you need in this web OS. For those of you interested in Web OSes, be sure to read our article about other operating systems that utilize cloud computing.

Conclusion

As the world turns to cloud computing, we’re only going to see more and more web apps that function like their desktop counterparts. I’ve only listed a few of the web alternatives to desktop software, and I’m sure there are many more out there. As these web applications become more powerful and appeal to the masses in terms of functionality, we may soon see a decline in desktop programs as we all move towards the web and the cloud. Is this the end of desktop software? Who knows, we’ll have to wait and see.
Do you use any web apps in place of desktop programs? What do you think is going to be the future for desktop programs? Share your comments below!