flame-haze-dev
flame-haze-dev
Programming-DevOp-Unix
99 posts
A home for programming notes that I have come across while working in the real world. Also for inspiration I use for programming.
Don't wanna be here? Send us removal request.
flame-haze-dev · 4 years ago
Photo
Tumblr media
Day 6 of #sketchalmosteveryday I'm really happy how this one turned out https://www.instagram.com/p/CU2se8kJWUj/?utm_medium=tumblr
2 notes · View notes
flame-haze-dev · 4 years ago
Photo
Tumblr media
Day 5 of #sketchalmosteveryday https://www.instagram.com/p/CUzkioeL1wq/?utm_medium=tumblr
0 notes
flame-haze-dev · 4 years ago
Photo
Tumblr media
Day 4 of #sketchalmosteveryday The Aria Manga series definitely gives some great inspiration https://www.instagram.com/p/CUxiItprEut/?utm_medium=tumblr
0 notes
flame-haze-dev · 4 years ago
Photo
Tumblr media
Day 3 of #sketchalmosteveryday Reference was from the Aria Manga https://www.instagram.com/p/CUuwVBVLzub/?utm_medium=tumblr
0 notes
flame-haze-dev · 6 years ago
Text
See CPU and RAM usage Containers
Here are two commands to help you figure out if your docker containers are overwhelmed.  Useful to help determine if you need to deploy more. 
docker stats --all docker stats --all --form...
1 note · View note
flame-haze-dev · 7 years ago
Text
Grandma Emergency Button – A Simple Emergency Alert Solution with AWS IoT Button
A post by Daniel M. Bernao, Solutions Architect, AWS Worldwide Public Sector
My grandma is 88 years old with reduced mobility. She lives alone, without a caretaker, in a small village. If she falls, then she is in danger. If something goes wrong when she’s in bed, she might need assistance. With an AWS IoT button, she can call for help in a simple way that could potentially save her life.
Her village provides free Wi-Fi coverage, so I built an emergency alert system using AWS. When she clicks the AWS IoT button, a series of events will take place to get her the assistance she needs. This can help her in difficult situations. It’s a solution that others can create as well. In this blog post, I’ll show you how to get started.
Start building – Setting up the button
The first step is to set up and register the AWS IoT button in the AWS IoT service platform. In the AWS Management Console, navigate to the AWS IoT console. In the left navigation pane, choose Manage.
On the Manage page, register a new “thing” by following the instructions in the “Register a Device in the Registry” documentation. To finish setting up the button, follow the step-by-step guide. You can also use the Android or iOS app for the set up.
After the button is configured when you press it, the light will blink blue and then will turn green showing it was able to connect to the AWS IoT service. You are now ready to use it!
Overall description and architecture
After my grandma clicks the AWS IoT button, we will call her landline phone automatically and request her to press 1 to deactivate the alarm (in case she clicked the button by mistake). If it was not a mistake, and she doesn’t answer the call or press “1,” then we will call her relatives (me) to alert them, because this may be a potentially risky situation.
The following architecture diagram shows the AWS services I used:
AWS Lambda functions and Amazon DynamoDB are the main services I used. After the button is clicked, the event will trigger a set of AWS Lambda functions that will update Amazon DynamoDB with the alarm activation through a workflow in AWS Step Functions. Within the workflow, Amazon Connect will call grandma and her relatives.
The second phase is the predictive prescription. The data in Amazon DynamoDB from the alarm’s activation combined with other external data (time of the action, temperature, and moon phase) will be used to create a predictive model.
Amazon SageMaker will help us to create this model, train it, and set up the endpoint to obtain predictions.
Grandma pressed the button, let’s call her.
When the button is clicked, we need to start a Lambda function to update Amazon DynamoDB with the alarm activation data. The update includes an important flag to indicate that the alarm is active. The Lambda function will also make the initial call to grandma.
Sample code for the function can be seen here. The code uses the Amazon Connect API StartOutboundVoiceContact action to make the outbound call to grandma. Please follow the Amazon Connect set-up guide to create your instance if you don’t have one.
Other API calls in the code are done through the Python requests module. These obtain moon phase and weather information. For example, I used the Naval Oceanography Portal that provides a free API for moon data. For weather, I used the Dark Sky API.
Is the alarm real or a mistake?
The button was clicked, the initial call is made, and now the alarm system logic progresses into Amazon Connect. Amazon Connect uses “contact flows” to handle the calls and their interactions. We need to create the appropriate contact flow to handle the initial call. Flows are created using building blocks within the visual editor. The full description of blocks available is here.
A sample contact flow for the alarm system can be seen in the following figure:
The main actions performed in the flow are:
Providing an automated speech when grandma picks up the phone. In this case, something like: “Attention, alarm has been activated, press 1 to deactivate.”
Checking if she presses “1” or not. To do so, we need to introduce a block to listen to her input – the “Get customer input” block. We will branch, depending on what was pressed or not.
If she presses “1,” we need to deactivate the alarm by introducing a call to a Lambda function. The function will update the Amazon DynamoDB alert’s active flag. We will do that with a block called “Invoke AWS Lambda function.” If she does not press “1,” we will progress in the logic of the alert system, calling her relatives.
A sample of the code for the Lambda function to associate to the Amazon Connect block can be found here.
What if grandma does not pick up the phone?
The Amazon Connect API used to make the outgoing calls does not provide us with any indication whether the call was answered or not. We will deactivate the alarm if she picks up the call and presses “1.” If she does not, we know we have to call her relatives. However, what if she doesn’t answer the call? How does the system know if the activation was real or a mistake?
We will set a flag in Amazon DynamoDB when grandma presses the button. The flag will be a parameter named CallActive set to “Y” in the alarm’s associate data within Amazon DynamoDB. The system logic will unfold based on that parameter’s value.
Let’s call her relatives.
After the initial call to grandma’s landline, unless she picks up the phone and presses “1,” the CallActive parameter will remain set to “Y,” unchanged. If “1” is pressed, the CallActive parameter will be set to “N.” See a possible example in the following figure:
We need to introduce a check to verify if the alarm is active or not after the initial call. If it is still active, proceed the call to the relatives. With AWS Step Functions, we can define a state machine that will execute those steps. The following is an example of a state machine definition that we can use:
When the state machine starts it will call the Lambda function to perform the initial call to grandma and update the Amazon DynamoDB table with an active alert (the parameter CallActive set to “Y).
In the second step, we wait for the call to occur with a wait condition. Logic is in the Amazon Connect contact flow where grandma can press “1” to deactivate the alarm. In the third step, a check is performed against the CallActive flag.
This link provides a possible Lambda function for the third step, in which the flag is checked and a call to relatives is made if appropriate. We need to create another contact flow for the call to relatives. We will use the “Play Prompt” block again with a speech, like: “Your relative has activated the alarm, please act accordingly.”
We can cycle over the state machine steps as many times as necessary. See the AWS Step Functions documentation, topic Iterating a Loop Using Lambda.
Connecting the AWS IoT button and Step Functions
The last stage of the project is to connect the AWS IoT button with the services we have described. So, when grandma clicks the button, the alarm system gets activated.
The AWS Step Functions state machine that we created will orchestrate the Lambda function call, the Amazon Connect interaction, and the entire alarm system. We need to start the AWS Step Function state machine when grandma clicks the button.
The AWS Lambda function that will kick off the state machine when grandma clicks the button is the StartExecution API action. To learn more, see the AWS Step Functions documentation on the Start Execution API, It should be a simple call using the Amazon Resource Name (ARN) of the state machine we have defined.
To finish and link the AWS IoT Button with this Lambda function, you must define a trigger for the Lambda function in the AWS Lambda console. The trigger must be the click of the AWS IoT button.
For more information on creating this type of trigger, see Creating a Lambda Rule in the AWS IoT documentation.
We have shown you how to build a system that will help many people (including my grandma) in different situations. We use a simple and open approach – click a button, start a set of AWS services, and use simple Python code. In the second phase of the project, we will attempt to provide a predictive prescription by creating a prediction model after we have enough data to train a model.
We hope this post was useful and helped you get started creating new services or applications with the AWS IoT button.
6 notes · View notes
flame-haze-dev · 7 years ago
Photo
Tumblr media
Building the Google Photos Web UI
A few years ago I had the privilege of being an engineer on the Google Photosteam and part of the initial launch in 2015. A lot of people contributed to the product — designers, product managers, researchers, and countless engineers (across Android, iOS, Web, and the server) to name just some of the major roles. My responsibility was the web UI, and more specifically the photo grid.
We wanted to try something ambitious and simultaneously support a full-width (justified) layout, preserve the aspect–ratio of each photo, be scrubbable (ie let you jump to any section of your archive), handle hundreds-of-thousands of photos, scroll at 60fps, and load near instantly.
At the time no other photo gallery supported all of this, and to the best of my knowledge they still don’t. While many other galleries now support some of these features they usually square crop each photo to make the layout work.
Here is a technical write up about how we solved those challenges, and a peek under the hood of how the web version of Google Photos works.
By Antin Harasymiv on Medium
18 notes · View notes
flame-haze-dev · 7 years ago
Photo
Tumblr media
Vue.js 2.2 complete api cheat sheet ☞ https://medium.com/vuejs-tips/vue-js-2-2-complete-api-cheat-sheet-c30482a9e936
#vuejs #javascript
4 notes · View notes
flame-haze-dev · 7 years ago
Photo
Tumblr media
Net DevOps: Cisco Python, Automation, NETCONF, SDN, Docker ☞ https://codequs.com/p/SJw6f3g_Q/net-devops-cisco-python-automation-netconf-sdn-docker
#python #programming
2 notes · View notes
flame-haze-dev · 7 years ago
Photo
Tumblr media Tumblr media
SP. 102 - The Machine (2013)
IMPLANT ACTIVE
1K notes · View notes
flame-haze-dev · 7 years ago
Photo
Tumblr media
Proper terminology
86 notes · View notes
flame-haze-dev · 7 years ago
Photo
Tumblr media
Expectation vs. Grim Reality
89 notes · View notes
flame-haze-dev · 7 years ago
Text
IT Modernization and DevOps News Week in Review
Tumblr media
Risk management is an integral part of any IT modernization conversation, especially among the C-suite. As financial services organizations embrace DevOps and Agile processes and move more and more of their infrastructure to the cloud to facilitate DevOps automation, we’ve seen an increase in conversation around GRC in the cloud. 
Underscoring the need for a solid, security by design approach, cloud access security broker Bitglass announced the results of a survey in which it found a 3x increase in breaches in the financial services industry (from 2016 to 2018) and a large increase in the number of records exposed. As CSO Australia noted this week, “Risk management encompasses both the actual data security element of your cloud solution, as well as any and all considerations of regulatory compliance and governance. The financial and reputational risk of poor data security is well-established, but both are subject to breaches.”
Closely monitoring regulatory developments to help readers stay ahead of the curve, AWS issued an interesting read this week on the three common themes they’ve seen recently across the financial services regulatory landscape. They include:
Data security and data management - implement controls and safety measures to protect the security and confidentiality of data stored in the cloud.
Cybersecurity - maintain a strong cybersecurity posture. Note that security is a shared responsibility between the cloud provider and the financial services firm.
Risk management - establish robust risk management processes with continuous monitoring.
For additional background reading on financial services in the cloud:
DevOps News
Ansible announced that in the new Ansible 2.7, rebooting Linux hosts with Ansible is now easier and can be done with a single task using the newly minted reboot plugin.
Puppet announced a strategic partnership with Splunk. According to Omri Gazitt, chief product officer, Puppet, in a pres release, “Now, customers have a unified workflow between the intelligent insights provided by Splunk and the action and automation provided by Puppet, making it easier to keep applications and infrastructure performant, secure and compliant.“
Splunk for its part announced a new version of Splunk IT Service Intelligence (ITSI). The new version is said to improve predictive analytics through a series of new capabilities, including KPI Predictions for deeper insights into a potential health degradation; Predictive Cause Analysis for drilling down into the specific services underlying a predicted issue to proactively remediate and resolve it; and Robust Integration with VictorOps, to streamline monitoring, detection, alerting, and the response process.
Congrats to JFrog who raised $165 million in its Series D round of funding, a strong sign of ongoing confidence in the market’s move to embrace enterprise DevOps.
AWS News
AWS announced that AWS Config Multi-Account, Multi-Region data aggregation capability is now available in six additional Regions. This means that operators can now aggregate AWS Config rule compliance data into a single account and Region, which reduces the time and overhead needed to gather an enterprise-wide view of compliance status for governance. 
AWS Systems Manager announced an enhanced compliance dashboard that allows operators to now drill down into non-compliant items for more details using the same screen as you would use to monitor patching and configuration compliance. According to AWS, the updated AWS System Manager allows you to now group and filter based on user-defined resource groups, patching groups, or custom configuration, providing a more tailored experience based on your compliance needs and workflow. 
Our DevOps team was excited to see this article on using AWS CloudFormation Macros. Macros allow operators to perform custom processing on templates, from simple actions like find-and-replace operations to extensive transformations of entire templates. Our engineers looked at the AWS examples and like that you can have template manipulations for a variety of things – from loops to parameter conversions. For example, AWS::Serverless Transform takes an entire template written in the AWS Serverless Application Model syntax and transforms and expands it into compliant AWS CloudFormation templates. 
The AWS Consulting group also enjoyed this article Deploying a Burstable and Event-driven HPC Cluster on AWS Using SLURM, Part 1 on the AWS blog by Amr Ragab which discusses best practices in deploying HPC resources on AWS using schedulers like SLURM.
And, this blog by Raja Mani on Using Federated Identities with AWS CodeCommit was favorited by our DevOps team as well. In it, Raja describes how federated users can access AWS CodeCommit.
Last, we enjoyed reading about Using AWS Systems Manager Parameter Store Secure String parameters in AWS CloudFormation templates. In this article, Luis Colon shares how to apply best practices to improve the maintainability of code, specifically sharing how to use the secure string support in CloudFormation with dynamic references to better maintain infrastructure as code.
Flux7 News
Join us as we kick off a new blog series on enterprise DevOps at scale:
Tumblr media
  Written by Flux7 Labs
Flux7 is the only Sherpa on the DevOps journey that assesses, designs, and teaches while implementing a holistic solution for its enterprise customers, thus giving its clients the skills needed to manage and expand on the technology moving forward. Not a reseller or an MSP, Flux7 recommendations are 100% focused on customer requirements and creating the most efficient infrastructure possible that automates operations, streamlines and enhances development, and supports specific business goals.
2 notes · View notes
flame-haze-dev · 7 years ago
Photo
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
6K notes · View notes
flame-haze-dev · 7 years ago
Text
Top 10 Cloud Computing Challenges
Download the authoritative guide: Cloud Computing 2018: Using the Cloud to Transform Your Business
Cloud computing challenges are numerous and thorny, to be sure. These days, everyone is in the cloud — but that doesn’t mean that they’ve figured out how to overcome all the challenges of cloud computing.
In the RightScale 2018 State of the Cloud Report, 96 percent of IT professionals surveyed said their companies were using cloud computing services, and 92 percent were using the public cloud. On average, organizations are running about 40 percent of their workloads in the cloud, and that percentage is growing.
As companies move more applications to the cloud, the cloud market is booming. According to Gartner, the public cloud market will likely be worth $186.4 billion in 2018, up 21.4 percent over last year. The infrastructure as a service (IaaS) market is growing particularly fast. This segment alone could grow 35.9 percent this year to total $40.8 billion.
However, numerous surveys are finding that organizations still have concerns about cloud computing. While IT leaders are embracing the cloud because of the benefits it offers, they continue to face very significant cloud computing challenges, including the following:
Cloud Computing Challenge 1: Security
Since the advent of the public cloud, enterprises have worried about potential security risks, and that hasn’t changed. In the RightScale survey, it was the number one challenge cited by respondents, with 77 percent saying that cloud security is a challenge, including 29 percent who called it a significant challenge.
Cybersecurity experts are even more concerned about cloud security than other IT staffers are. A 2018 Crowd Research Partners survey found that 90 percent of security professionals are concerned about cloud security. More specifically, they have fears about data loss and leakage (67 percent), data privacy (61 percent) and breaches of confidentiality (53 percent).
Interestingly, though, security concerns appear to be waning as time passes, particularly among companies that have been using the cloud longer. The RightScale report noted, “As companies become more experienced with cloud, the top challenge shifts. Security is the largest issue among cloud beginners, while cost becomes a bigger challenge for intermediate and advanced users.”
And in a cloud analytics survey conducted by vendor Teradata, 46 percent of those surveyed pointed to increased security as a potential benefit rather than a challenge of cloud computing.
Vendors offer a myriad of solutions for dealing with cloud security threats. In addition, the Crowd Research Partners survey found that enterprises are relying on training and certification of their IT staff (57 percent) and the security tools offered by public cloud vendors (50 percent) to reduce their risk.
Tumblr media
Image Source: RightScale 2018 State of the Cloud Report
Cloud Computing Challenge 2: Managing Cloud Spending
As previously mentioned, the RightScale report found that for some organizations managing cloud spending has overtaken security as the top cloud computing challenge. By their own estimates, companies are wasting about 30 percent of the money they spend on the cloud.
Organizations make a number of mistakes that can help drive up their costs. Often, developers or other IT workers spin up a cloud instance meant to be used for a short period of time and forget to turn it back off. And many organizations find themselves stymied by the inscrutable cloud pricing schemes that offer multiple opportunities for discounts that organizations might not be utilizing.
Multiple technological solutions can help companies with cloud cost management challenges. For example cloud cost management solutions, automation, containers, serverless services, autoscaling features and the many management tools offered by the cloud vendors may help reduce the scope of the problem. Some organizations have also found success by creating a central cloud team to manage usage and expenses.
Cloud Computing Challenge 3: Lack of Resources/Expertise
Lack of resources and expertise ranked just behind security and cost management among the top cloud implementation challenges in the RightScale survey. Nearly three-quarters (73 percent) of respondent listed it as a challenge with 27 percent saying it was a significant challenge.
While many IT workers have been taking steps to boost their cloud computing expertise, employers continue to find it difficult to find workers with the skills they need. And that trend seems likely to continue. The Robert Half Technology 2018 Salary Guide noted, “Technology workers with knowledge of the latest developments in cloud, open source, mobile, big data, security and other technologies will only become more valuable to businesses in the years ahead.
Many companies are hoping to overcome this challenge by hiring more workers with cloud computing certifications or skills. Experts also recommend providing training to existing staff to help get them up to speed with the technology.
Cloud Computing Challenge 4: Governance
Governance and control were fourth in the list of cloud computing challenges in the RightScale survey with 71 percent of respondents calling it a challenge, including 25 percent who see it as a significant challenge.
In this case, one of the greatest benefits of cloud computing — the speed and ease of deploying new computing resources — can become a potential downfall. Many organizations lack visibility into the "shadow IT” used by their employees, and governance becomes particularly challenging in hybrid cloud and multi-cloud environments.
Experts say organizations can alleviate some of these cloud computing management issues by following best practices, including establishing and enforcing standards and policies. And multiple vendors offer cloud management software to simplify and automate the process.
Cloud Computing Challenge 5: Compliance
The recent flurry of activity surrounding the EU General Data Protection Regulation (GDPR) has returned compliance to the forefront for many enterprise IT teams. Among those surveyed by RightScale, 68 percent cited compliance as a top cloud computing challenge, and 21 percent called it a significant challenge.
Interestingly, one aspect of the GDPR law may make compliance easier in the future. The law requires many organizations to appoint a data protection officer who oversees data privacy and security. Assuming these individuals are well-versed in the compliance needs for the organizations where they work, centralizing responsibility for compliance should help companies meet any legal or statutory obligations.
Cloud Computing Challenge 6: Managing Multi-Cloud Environments
Most organizations aren’t using just one cloud. According to the RightScale findings, 81 percent of enterprises are pursuing a multi-cloud strategy, and 51 percent have a hybrid cloud strategy (public and private clouds integrated together). In fact, on average, companies are using 4.8 different public and private clouds.
Multi-cloud environments add to the complexity faced by the IT team. To overcome this challenge, experts recommend best practices like doing research, training employees, actively managing vendor relationships and re-thinking processes and tooling.
Cloud Computing Challenge 7: Migration
While launching a new application in the cloud is a fairly straightforward process, moving an existing application to a cloud computing environment is far more difficult. A Dimensional Research study sponsored by Velostrata found that 62 percent of those surveyed said their cloud migration projects were more difficult than expected. In addition, 64 percent of migration projects took longer than expected, and 55 percent exceeded their budgets.
More specifically, many of the companies migrating applications to the cloud reported time-consuming trouble-shooting (47 percent), difficulty configuring security (46 percent), slow data migration (44 percent), trouble getting migration tools to work properly (40 percent), difficulty syncing data before cutover (38 percent) and downtime during migration (37 percent).
To overcome those challenges the IT leaders surveyed said they wished they had performed more pre-migration testing (56 percent), set a longer project timeline (50 percent), hired an in-house expert (45 percent) and increased their budgets (42 percent).
Cloud Computing Challenge 8: Vendor Lock-In
Currently, a few vendors, namely Amazon Web Services, Microsoft Azure, Google Cloud Platform and IBM Cloud, dominate the public cloud market. For both analysts and enterprise IT leaders, this raises the specter of vendor lock-in.
In a Stratoscale Hybrid Cloud Survey, more than 80 percent of those surveyed expressed moderate to high levels of concern about the problem.
“The increasing dominance of the hyperscale IaaS providers creates both enormous opportunities and challenges for end users and other market participants,” said Sid Nag, research director at Gartner.
“While it enables efficiencies and cost benefits, organizations need to be cautious about IaaS providers potentially gaining unchecked influence over customers and the market. In response to multicloud adoption trends, organizations will increasingly demand a simpler way to move workloads, applications and data across cloud providers’ IaaS offerings without penalties.”
Experts recommend that before organizations adopt a particular cloud service they consider how easy it will be to move those workloads to another cloud should future circumstances warrant.
Cloud Computing Challenge 9: Immature Technology
Many cloud computing services are on the cutting edge of technologies like artificial intelligence, machine learning, augmented reality, virtual reality and advanced big data analytics. The potential downside to access to this new and exciting technology is that the services don’t always live up to enterprise expectations in terms of performance, usability and reliability.
In the Teradata survey, 83 percent of the large enterprises surveyed said that the cloud was the best place to run analytics, but 91 percent said analytics workloads weren’t moving to the cloud as quickly as they should. Part of the problem, cited by 49 percent of respondents, was immature or low-performing technology.
And unfortunately, the only potential cures for the problem are to adjust expectations, try to build your own solution or wait for the vendors to improve their offerings.
Cloud Computing Challenge 10: Integration
Lastly, many organizations, particularly those with hybrid cloud environments report challenges related to getting their public cloud and on-premise tools and applications to work together. In the Teradata survey, 30 percent of respondents said connecting legacy systems with cloud applications was a barrier to adoption.
Similarly, in a Software One report on cloud spending, 39 percent of those surveyed said connecting legacy systems was one of their biggest concerns when using the cloud.
This challenge, like the others mentioned in this article, is unlikely to disappear any time in the near future. Integrating legacy systems and new cloud-based applications requires time, skill and resources. But many organizations are finding that the benefits of cloud computing outweigh the potential downside of the technology.
Look for the trend toward cloud adoption to continue, despite the potential cloud computing challenges.
5 notes · View notes
flame-haze-dev · 7 years ago
Text
Habits of successful students
Discipline: “discipline is doing what needs to be done, even when you don’t want to”, which means that you have to force yourself to start doing things. 
Concentration: when you make a real effort in your work (study, homeworks etc…) you will be more likely to actually focus, understand and learn. 
Organization: always set tasks and goals and organize a study-schedule. Maybe you don’t really want to plan all the week, but if you just wake up and open your agenda/bullet journal/iphone calendar and write down all the things you have to do, setting due dates and deadlines, you’ll feel more conscious and encouraged to stay on track. 
Tasks-splitting: sometimes, you write down your tasks. Some of these tasks may be very hard and complicated, and it will take a long long time to complete them. So, you can split them in smaller tasks, so you will feel satisfied after a shorter period of time, instead of studying for hours and still seeing that chapter undone on your study-schedule. 
Watch the sunrise: when I wake up late, I feel like I don’t have enought time to do my work and lose my motivation. I literally panic and then I think “whatever, I could not complete all the things anyway”. So, if you wake up earlier you will feel more positive and  controlled. 
Smart reading: try not to read your textbook just like a newspaper. For every paragraph you read, try to underline and write down key words and then your question about that subject. Literally, turn your textbook into questions. If you write down question - particularly why…? - and think about the answer, you will be more likely to remember that stuff later. 
Healthy lifestile: if you don’t drink enough water in the morning, you will be more likely to have a decrease of concentration in the afternoon/evening, so: stay hydrated. Try also to have some snaks every one-two hours: feed your brain. 
31K notes · View notes
flame-haze-dev · 7 years ago
Text
Cloud-Native Maturity Model
Introduction
Running applications on the cloud is not a binary decision. You don’t just move to the cloud and call it a day. The journey to cloud-native starts with establishing business decisions that mandate that applications in your organization need to deploy faster, scale easier, and break less frequently.
Throughout the cloud journey, companies can find themselves in one of several stages, progressing further into a cloud-native environment. I’ve highlighted these stages below, including the major benefits of each.
The Cloud-Native Maturity Model
Tumblr media
Stage 0: On-Premise
Tumblr media
Throughout the years, companies have housed their applications internally or in off-site co-locations. Before high-speed internet and fiber connections were readily available and affordable, software accessibility outside a company’s local network proved troublesome.
Now, with service providers offering bandwidth that meets or exceeds internal networks, organizations can leverage cloud platforms like Amazon, Google, Pivotal, and Microsoft to run their data-centers more efficiently.
Stage 1: Cloud-Enabled
Tumblr media
Cloud-Enabled Applications are the simplistic form of cloud-based applications. They are applications that were built with requirements to run on a specific operating system, within a particular environment. These applications moved to the cloud as the first step in this journey which allows them to integrate with basic cloud features.
Imagine if you dug up your house, put it on a giant flatbed truck, and moved it to the beach. You would get the benefits of being beachside, but your bedrooms, bathrooms, and kitchen would be the same. It’s a comparable concept with a Cloud-Enabled App. It can take advantage of certain amenities of the cloud, while still being an application that is built for an on-premise environment.
Some of the highlights of a cloud-enabled application include:
Density
Tumblr media
While leveraging a Cloud-Enabled environment, each application no longer requires its own set of hardware. Cloud platforms allow applications to be built on different stacks while living on the same set of underlying hardware.
Cost Reduction
Tumblr media
Once applications migrate to the cloud, businesses can reduce their capital expenses. The need for expensive hardware, local support, and building and maintenance costs shrink.
Stage 2: Cloud-Optimized
Tumblr media
Cloud-Optimized Applications take Cloud Applications one step further, optimizing them for access to more cloud features without having to be re-developed as cloud-native applications. The applications are best described as a hybrid between applications that were moved to the cloud and applications that were built for the cloud.
Most organizations live in a Cloud-Optimized environment. They take advantage of additional benefits and stop there. While it surely a step in the right direction, organizations need to look deeper into their business needs to understand if and how fully cloud-native applications can further reduce cost and increase performance.
Some of the highlights of a Cloud-Optimized Application include:
Continuous Delivery
Tumblr media
Applications can easily be replicated to create a more efficient deployment workflow. While code can be updated through a code repository, the environment and configuration can just as easily be re-created by just cloning existing applications, and publishing them as needed.
From here, developers can use their individual workstations to write code, push to staging/development servers, and then ultimately have the code from development pushed to production.
Scaling
Tumblr media
The ability to easily scale is one of the main reasons the Cloud stands out as a preferred platform. Scaling in cloud-based applications usually takes place in one of two formats. They either scale up vertically or out horizontally.
Applications that require more power such as compute or memory resources will scale up, while applications requiring additional servers to handle load will scale out.
Redundancy
Tumblr media
Virtual Load Balancers make a great and easy way to create redundant access to your applications. At this stage, applications are usually separated from key web and database services, allowing redundancy to be introduced independently.
Stage 3: Cloud-Native
Tumblr media
Cloud-native Applications are the end goal for modern software development. These applications are built from the ground up to incorporate best practices for efficiency, delivery, and availability. Utilizing features of the cloud allow these applications to operate consistently across devices, platforms, and providers.
Some of the highlights of a cloud-native application are:
Microservices
Tumblr media
Microservices in cloud-native Applications are services separated out to address a specific task. Since these services are loosely coupled with the underlying application, they can be updated or repaired without impacting other services.
This distinction allows microservices to be deployed and maintained more efficiently than traditional applications.
Containerization
Tumblr media
Just as virtual machines allow multiple operating systems to live on one machine, containers allow multiple apps to live on one virtual machine.
With containerization, applications are bundled with dependencies like libraries, configuration files, and binaries to expedite the process of deploying new applications and deploying updates to existing ones.
Orchestration
Tumblr media
Orchestration was introduced to the software development process to streamline the process of manually provisioning and configuring applications.
With DevOps time being constrained by setting up new web servers, databases, and load balancers, orchestration creates efficiency by automating DevOps processes.
Fault Tolerance
Tumblr media
Cloud-native Applications reduce the risk for single points of failure. Unexplained performance issue? Applications can automatically relocate to different compute and memory resources.
Worried about disk failure? Cloud providers can hot swap out startup disks in the event of a failure. All of these safety features increase business continuity while decreasing the need for IT staff to intervene.
Conclusion
So there you have it. The goal is not to focus on moving to the cloud, but to understand the pillars of the cloud, and see what makes the most sense for your business. Getting to the cloud is just the first step in the journey. When businesses consider the development of new applications, it’s critical to not only understand the cloud maturity model but to ensure applications are being built as cloud-native.
3 notes · View notes